ID Petición

Contexto

*La compañía de telecomunicaciones quiere detectar de todos sus clientes aquellos que tienen un scoring de abandono más alto.

*La compañía está preocupada ya que quiere reducir su tasa de abandono y no perder clientes.

Requerimientos del proyecto

*El departamento de marketing quiere lanzar una campaña de fidelización a aquellos clientes que tengan una mayor probabilidad de abandono.

Conclusiones y recomendaciones del equipo de DS:

Limitar el tamaño de la campaña para fidelizar a aquellos clientes con mayor probabilidad de abandono, debe ser dirigida a un total de 379 clientes


Detalle del trabajo realizado

Se ha trabajado sobre una base de datos de los clientes de una compañía de telecomunicaciones.

En base al análisis de todos estos datos hemos construído un modelo que nos ha permitido detectar los que tienen una mayor probabilidad de abandono.

0. - Parámetros

options(scipen=999)

1. - Preparación del entorno

1.1 - Cargamos las librerías que vamos a utilizar

paquetes <- c('data.table',
              'dplyr',
              'tidyr',
              'ggplot2',
              'randomForest',
              'ROCR',
              'purrr',
              'smbinning',
              'rpart',
              'rpart.plot'
)
instalados <- paquetes %in% installed.packages()
if(sum(instalados == FALSE) > 0) {
  install.packages(paquetes[!instalados])
}
lapply(paquetes,require,character.only = TRUE)
## Loading required package: data.table
## Loading required package: dplyr
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:data.table':
## 
##     between, first, last
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
## Loading required package: tidyr
## Loading required package: ggplot2
## Loading required package: randomForest
## randomForest 4.6-14
## Type rfNews() to see new features/changes/bug fixes.
## 
## Attaching package: 'randomForest'
## The following object is masked from 'package:ggplot2':
## 
##     margin
## The following object is masked from 'package:dplyr':
## 
##     combine
## Loading required package: ROCR
## Loading required package: purrr
## 
## Attaching package: 'purrr'
## The following object is masked from 'package:data.table':
## 
##     transpose
## Loading required package: smbinning
## Loading required package: sqldf
## Loading required package: gsubfn
## Loading required package: proto
## Loading required package: RSQLite
## Loading required package: partykit
## Loading required package: grid
## Loading required package: libcoin
## Loading required package: mvtnorm
## Loading required package: Formula
## Loading required package: rpart
## Loading required package: rpart.plot
## [[1]]
## [1] TRUE
## 
## [[2]]
## [1] TRUE
## 
## [[3]]
## [1] TRUE
## 
## [[4]]
## [1] TRUE
## 
## [[5]]
## [1] TRUE
## 
## [[6]]
## [1] TRUE
## 
## [[7]]
## [1] TRUE
## 
## [[8]]
## [1] TRUE
## 
## [[9]]
## [1] TRUE
## 
## [[10]]
## [1] TRUE

1.2 - Cargamos los datos

df <- fread('datos.csv')

2 - Análisis exploratorio

2.1 - Análisis exploratorio general y tipo de datos

as.data.frame(sort(names(df)))
##     sort(names(df))
## 1             Churn
## 2          Contract
## 3        customerID
## 4        Dependents
## 5  DeviceProtection
## 6            gender
## 7   InternetService
## 8    MonthlyCharges
## 9     MultipleLines
## 10     OnlineBackup
## 11   OnlineSecurity
## 12 PaperlessBilling
## 13          Partner
## 14    PaymentMethod
## 15     PhoneService
## 16    SeniorCitizen
## 17  StreamingMovies
## 18      StreamingTV
## 19      TechSupport
## 20           tenure
## 21     TotalCharges
str(df)
## Classes 'data.table' and 'data.frame':   7043 obs. of  21 variables:
##  $ customerID      : chr  "7590-VHVEG" "5575-GNVDE" "3668-QPYBK" "7795-CFOCW" ...
##  $ gender          : chr  "Female" "Male" "Male" "Male" ...
##  $ SeniorCitizen   : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ Partner         : chr  "Yes" "No" "No" "No" ...
##  $ Dependents      : chr  "No" "No" "No" "No" ...
##  $ tenure          : int  1 34 2 45 2 8 22 10 28 62 ...
##  $ PhoneService    : chr  "No" "Yes" "Yes" "No" ...
##  $ MultipleLines   : chr  "No phone service" "No" "No" "No phone service" ...
##  $ InternetService : chr  "DSL" "DSL" "DSL" "DSL" ...
##  $ OnlineSecurity  : chr  "No" "Yes" "Yes" "Yes" ...
##  $ OnlineBackup    : chr  "Yes" "No" "Yes" "No" ...
##  $ DeviceProtection: chr  "No" "Yes" "No" "Yes" ...
##  $ TechSupport     : chr  "No" "No" "No" "Yes" ...
##  $ StreamingTV     : chr  "No" "No" "No" "No" ...
##  $ StreamingMovies : chr  "No" "No" "No" "No" ...
##  $ Contract        : chr  "Month-to-month" "One year" "Month-to-month" "One year" ...
##  $ PaperlessBilling: chr  "Yes" "No" "Yes" "No" ...
##  $ PaymentMethod   : chr  "Electronic check" "Mailed check" "Mailed check" "Bank transfer (automatic)" ...
##  $ MonthlyCharges  : num  29.9 57 53.9 42.3 70.7 ...
##  $ TotalCharges    : num  29.9 1889.5 108.2 1840.8 151.7 ...
##  $ Churn           : chr  "No" "No" "Yes" "No" ...
##  - attr(*, ".internal.selfref")=<externalptr>
glimpse(df)
## Rows: 7,043
## Columns: 21
## $ customerID       <chr> "7590-VHVEG", "5575-GNVDE", "3668-QPYBK", "7795-CF...
## $ gender           <chr> "Female", "Male", "Male", "Male", "Female", "Femal...
## $ SeniorCitizen    <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,...
## $ Partner          <chr> "Yes", "No", "No", "No", "No", "No", "No", "No", "...
## $ Dependents       <chr> "No", "No", "No", "No", "No", "No", "Yes", "No", "...
## $ tenure           <int> 1, 34, 2, 45, 2, 8, 22, 10, 28, 62, 13, 16, 58, 49...
## $ PhoneService     <chr> "No", "Yes", "Yes", "No", "Yes", "Yes", "Yes", "No...
## $ MultipleLines    <chr> "No phone service", "No", "No", "No phone service"...
## $ InternetService  <chr> "DSL", "DSL", "DSL", "DSL", "Fiber optic", "Fiber ...
## $ OnlineSecurity   <chr> "No", "Yes", "Yes", "Yes", "No", "No", "No", "Yes"...
## $ OnlineBackup     <chr> "Yes", "No", "Yes", "No", "No", "No", "Yes", "No",...
## $ DeviceProtection <chr> "No", "Yes", "No", "Yes", "No", "Yes", "No", "No",...
## $ TechSupport      <chr> "No", "No", "No", "Yes", "No", "No", "No", "No", "...
## $ StreamingTV      <chr> "No", "No", "No", "No", "No", "Yes", "Yes", "No", ...
## $ StreamingMovies  <chr> "No", "No", "No", "No", "No", "Yes", "No", "No", "...
## $ Contract         <chr> "Month-to-month", "One year", "Month-to-month", "O...
## $ PaperlessBilling <chr> "Yes", "No", "Yes", "No", "Yes", "Yes", "Yes", "No...
## $ PaymentMethod    <chr> "Electronic check", "Mailed check", "Mailed check"...
## $ MonthlyCharges   <dbl> 29.85, 56.95, 53.85, 42.30, 70.70, 99.65, 89.10, 2...
## $ TotalCharges     <dbl> 29.85, 1889.50, 108.15, 1840.75, 151.65, 820.50, 1...
## $ Churn            <chr> "No", "No", "Yes", "No", "Yes", "Yes", "No", "No",...

Conclusiones: Nos encontramos con un df que tiene 7043 clientes y 21 variables.

Queremos realizar un scoring de los clientes que tienen un mayor abandono (churn).

Nuestra variable target será clasificar a los clientes que tienen una mayor probabilidad de abandono.

Hay muchas variables que son caracteres y las vamos a transformar en factores.

vamos a guardarlas en una variable a_factores

a_factores <-c('customerID','gender','SeniorCitizen','Partner','Dependents','PhoneService','MultipleLines','InternetService','OnlineSecurity','OnlineBackup','DeviceProtection','TechSupport','StreamingTV','StreamingMovies','Contract','PaperlessBilling','PaymentMethod','Churn')

La variable tenure es entera y la vamos a transformar en numérica

Nuestra variable target (churn) para tener una mejor lectura vamos a cambiar Yes-No por 1-0

2.2 - Calidad de datos: Estadísticos básicos

lapply(df,summary)
## $customerID
##    Length     Class      Mode 
##      7043 character character 
## 
## $gender
##    Length     Class      Mode 
##      7043 character character 
## 
## $SeniorCitizen
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.0000  0.0000  0.1621  0.0000  1.0000 
## 
## $Partner
##    Length     Class      Mode 
##      7043 character character 
## 
## $Dependents
##    Length     Class      Mode 
##      7043 character character 
## 
## $tenure
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    0.00    9.00   29.00   32.37   55.00   72.00 
## 
## $PhoneService
##    Length     Class      Mode 
##      7043 character character 
## 
## $MultipleLines
##    Length     Class      Mode 
##      7043 character character 
## 
## $InternetService
##    Length     Class      Mode 
##      7043 character character 
## 
## $OnlineSecurity
##    Length     Class      Mode 
##      7043 character character 
## 
## $OnlineBackup
##    Length     Class      Mode 
##      7043 character character 
## 
## $DeviceProtection
##    Length     Class      Mode 
##      7043 character character 
## 
## $TechSupport
##    Length     Class      Mode 
##      7043 character character 
## 
## $StreamingTV
##    Length     Class      Mode 
##      7043 character character 
## 
## $StreamingMovies
##    Length     Class      Mode 
##      7043 character character 
## 
## $Contract
##    Length     Class      Mode 
##      7043 character character 
## 
## $PaperlessBilling
##    Length     Class      Mode 
##      7043 character character 
## 
## $PaymentMethod
##    Length     Class      Mode 
##      7043 character character 
## 
## $MonthlyCharges
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   18.25   35.50   70.35   64.76   89.85  118.75 
## 
## $TotalCharges
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##    18.8   401.4  1397.5  2283.3  3794.7  8684.8      11 
## 
## $Churn
##    Length     Class      Mode 
##      7043 character character

Vemos que la variable Totalcharges tiene 11 datos desconocidos, lo apuntamos para analizarlo.

La variable tenure (permanencia) vemos que tiene un máximo de 72, imaginamos que son meses, lo que serían 6 años

La variable SeniorCitizen (jubilados) vemos que tiene mucho ceros, pero lo damos como normal ya que la mayoría de clientes no estarán jubilados.

2.3 - Calidad de datos: Análisis de nulos

as.data.frame(colSums(is.na(df)))
##                  colSums(is.na(df))
## customerID                        0
## gender                            0
## SeniorCitizen                     0
## Partner                           0
## Dependents                        0
## tenure                            0
## PhoneService                      0
## MultipleLines                     0
## InternetService                   0
## OnlineSecurity                    0
## OnlineBackup                      0
## DeviceProtection                  0
## TechSupport                       0
## StreamingTV                       0
## StreamingMovies                   0
## Contract                          0
## PaperlessBilling                  0
## PaymentMethod                     0
## MonthlyCharges                    0
## TotalCharges                     11
## Churn                             0

Comprobamos que efectivamente la variable TotalCharges tiene 11 datos nulos, no vamos a eliminar esa variable, imputaremos esos datos nulos y los sustituiremos por la media.

df$TotalCharges.mean <- ifelse(is.na(df$TotalCharges),
                      mean(df$TotalCharges,na.rm = T),
                      df$TotalCharges)

eliminamos la variable original que tenía los nulos

df$TotalCharges<- NULL

Volvemos a ver nuestro df y vemos que ya no tiene esa variable y tiene la nueva que hemos creado donde los NA han sido sustituidos por la media

glimpse(df)
## Rows: 7,043
## Columns: 21
## $ customerID        <chr> "7590-VHVEG", "5575-GNVDE", "3668-QPYBK", "7795-C...
## $ gender            <chr> "Female", "Male", "Male", "Male", "Female", "Fema...
## $ SeniorCitizen     <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0...
## $ Partner           <chr> "Yes", "No", "No", "No", "No", "No", "No", "No", ...
## $ Dependents        <chr> "No", "No", "No", "No", "No", "No", "Yes", "No", ...
## $ tenure            <int> 1, 34, 2, 45, 2, 8, 22, 10, 28, 62, 13, 16, 58, 4...
## $ PhoneService      <chr> "No", "Yes", "Yes", "No", "Yes", "Yes", "Yes", "N...
## $ MultipleLines     <chr> "No phone service", "No", "No", "No phone service...
## $ InternetService   <chr> "DSL", "DSL", "DSL", "DSL", "Fiber optic", "Fiber...
## $ OnlineSecurity    <chr> "No", "Yes", "Yes", "Yes", "No", "No", "No", "Yes...
## $ OnlineBackup      <chr> "Yes", "No", "Yes", "No", "No", "No", "Yes", "No"...
## $ DeviceProtection  <chr> "No", "Yes", "No", "Yes", "No", "Yes", "No", "No"...
## $ TechSupport       <chr> "No", "No", "No", "Yes", "No", "No", "No", "No", ...
## $ StreamingTV       <chr> "No", "No", "No", "No", "No", "Yes", "Yes", "No",...
## $ StreamingMovies   <chr> "No", "No", "No", "No", "No", "Yes", "No", "No", ...
## $ Contract          <chr> "Month-to-month", "One year", "Month-to-month", "...
## $ PaperlessBilling  <chr> "Yes", "No", "Yes", "No", "Yes", "Yes", "Yes", "N...
## $ PaymentMethod     <chr> "Electronic check", "Mailed check", "Mailed check...
## $ MonthlyCharges    <dbl> 29.85, 56.95, 53.85, 42.30, 70.70, 99.65, 89.10, ...
## $ Churn             <chr> "No", "No", "Yes", "No", "Yes", "Yes", "No", "No"...
## $ TotalCharges.mean <dbl> 29.85, 1889.50, 108.15, 1840.75, 151.65, 820.50, ...

Volvemos a comprobar si nuestro df tiene nulos

as.data.frame(colSums(is.na(df)))
##                   colSums(is.na(df))
## customerID                         0
## gender                             0
## SeniorCitizen                      0
## Partner                            0
## Dependents                         0
## tenure                             0
## PhoneService                       0
## MultipleLines                      0
## InternetService                    0
## OnlineSecurity                     0
## OnlineBackup                       0
## DeviceProtection                   0
## TechSupport                        0
## StreamingTV                        0
## StreamingMovies                    0
## Contract                           0
## PaperlessBilling                   0
## PaymentMethod                      0
## MonthlyCharges                     0
## Churn                              0
## TotalCharges.mean                  0

Observamos que ya no tenemos ninguna variable con datos nulos

2.4 - Calidad de datos: Análisis de atípicos

2.4.1 - Analizamos las que son de tipo numérico

out <- function(variable){
  t(t(head(sort(variable,decreasing = T),20))) 
}
lapply(df,function(x){
  if(is.double(x)) out(x)
})
## $customerID
## NULL
## 
## $gender
## NULL
## 
## $SeniorCitizen
## NULL
## 
## $Partner
## NULL
## 
## $Dependents
## NULL
## 
## $tenure
## NULL
## 
## $PhoneService
## NULL
## 
## $MultipleLines
## NULL
## 
## $InternetService
## NULL
## 
## $OnlineSecurity
## NULL
## 
## $OnlineBackup
## NULL
## 
## $DeviceProtection
## NULL
## 
## $TechSupport
## NULL
## 
## $StreamingTV
## NULL
## 
## $StreamingMovies
## NULL
## 
## $Contract
## NULL
## 
## $PaperlessBilling
## NULL
## 
## $PaymentMethod
## NULL
## 
## $MonthlyCharges
##         [,1]
##  [1,] 118.75
##  [2,] 118.65
##  [3,] 118.60
##  [4,] 118.60
##  [5,] 118.35
##  [6,] 118.20
##  [7,] 117.80
##  [8,] 117.60
##  [9,] 117.50
## [10,] 117.45
## [11,] 117.35
## [12,] 117.20
## [13,] 117.15
## [14,] 116.95
## [15,] 116.85
## [16,] 116.80
## [17,] 116.75
## [18,] 116.60
## [19,] 116.60
## [20,] 116.55
## 
## $Churn
## NULL
## 
## $TotalCharges.mean
##          [,1]
##  [1,] 8684.80
##  [2,] 8672.45
##  [3,] 8670.10
##  [4,] 8594.40
##  [5,] 8564.75
##  [6,] 8547.15
##  [7,] 8543.25
##  [8,] 8529.50
##  [9,] 8496.70
## [10,] 8477.70
## [11,] 8477.60
## [12,] 8476.50
## [13,] 8468.20
## [14,] 8456.75
## [15,] 8443.70
## [16,] 8436.25
## [17,] 8425.30
## [18,] 8425.15
## [19,] 8424.90
## [20,] 8405.00

2.4.2 - Analizamos las que son de tipo integer

out <- function(variable){
  t(t(table(variable))) 
}
lapply(df,function(x){
  if(is.integer(x)) out(x)
})
## $customerID
## NULL
## 
## $gender
## NULL
## 
## $SeniorCitizen
##         
## variable [,1]
##        0 5901
##        1 1142
## 
## $Partner
## NULL
## 
## $Dependents
## NULL
## 
## $tenure
##         
## variable [,1]
##       0    11
##       1   613
##       2   238
##       3   200
##       4   176
##       5   133
##       6   110
##       7   131
##       8   123
##       9   119
##       10  116
##       11   99
##       12  117
##       13  109
##       14   76
##       15   99
##       16   80
##       17   87
##       18   97
##       19   73
##       20   71
##       21   63
##       22   90
##       23   85
##       24   94
##       25   79
##       26   79
##       27   72
##       28   57
##       29   72
##       30   72
##       31   65
##       32   69
##       33   64
##       34   65
##       35   88
##       36   50
##       37   65
##       38   59
##       39   56
##       40   64
##       41   70
##       42   65
##       43   65
##       44   51
##       45   61
##       46   74
##       47   68
##       48   64
##       49   66
##       50   68
##       51   68
##       52   80
##       53   70
##       54   68
##       55   64
##       56   80
##       57   65
##       58   67
##       59   60
##       60   76
##       61   76
##       62   70
##       63   72
##       64   80
##       65   76
##       66   89
##       67   98
##       68  100
##       69   95
##       70  119
##       71  170
##       72  362
## 
## $PhoneService
## NULL
## 
## $MultipleLines
## NULL
## 
## $InternetService
## NULL
## 
## $OnlineSecurity
## NULL
## 
## $OnlineBackup
## NULL
## 
## $DeviceProtection
## NULL
## 
## $TechSupport
## NULL
## 
## $StreamingTV
## NULL
## 
## $StreamingMovies
## NULL
## 
## $Contract
## NULL
## 
## $PaperlessBilling
## NULL
## 
## $PaymentMethod
## NULL
## 
## $MonthlyCharges
## NULL
## 
## $Churn
## NULL
## 
## $TotalCharges.mean
## NULL

2.4.3 - Analizamos las que son de tipo character

out <- function(variable){
  t(t(table(variable))) 
}
lapply(df,function(x){
  if(is.character(x)) out(x)
})
## $customerID
##             
## variable     [,1]
##   0002-ORFBO    1
##   0003-MKNFE    1
##   0004-TLHLJ    1
##   0011-IGKFF    1
##   0013-EXCHZ    1
##   0013-MHZWF    1
##   0013-SMEOE    1
##   0014-BMAQU    1
##   0015-UOCOJ    1
##   0016-QLJIS    1
##   0017-DINOC    1
##   0017-IUDMW    1
##   0018-NYROU    1
##   0019-EFAEP    1
##   0019-GFNTW    1
##   0020-INWCK    1
##   0020-JDNXP    1
##   0021-IKXGC    1
##   0022-TCJCI    1
##   0023-HGHWL    1
##   0023-UYUPN    1
##   0023-XUOPT    1
##   0027-KWYKW    1
##   0030-FNXPP    1
##   0031-PVLZI    1
##   0032-PGELS    1
##   0036-IHMOT    1
##   0040-HALCW    1
##   0042-JVWOJ    1
##   0042-RLHYP    1
##   0048-LUMLS    1
##   0048-PIHNL    1
##   0052-DCKON    1
##   0052-YNYOT    1
##   0056-EPFBG    1
##   0057-QBUQH    1
##   0058-EVZWM    1
##   0060-FUALY    1
##   0064-SUDOG    1
##   0064-YIJGF    1
##   0067-DKWBL    1
##   0068-FIGTF    1
##   0071-NDAFP    1
##   0074-HDKDG    1
##   0076-LVEPS    1
##   0078-XZMHT    1
##   0080-EMYVY    1
##   0080-OROZO    1
##   0082-LDZUE    1
##   0082-OQIQY    1
##   0083-PIVIK    1
##   0089-IIQKO    1
##   0093-EXYQL    1
##   0093-XWZFY    1
##   0094-OIFMO    1
##   0096-BXERS    1
##   0096-FCPUF    1
##   0098-BOWSO    1
##   0100-DUVFC    1
##   0103-CSITQ    1
##   0104-PPXDV    1
##   0106-GHRQR    1
##   0106-UGRDO    1
##   0107-WESLM    1
##   0107-YHINA    1
##   0111-KLBQG    1
##   0112-QAWRZ    1
##   0112-QWPNC    1
##   0114-IGABW    1
##   0114-PEGZZ    1
##   0114-RSRRW    1
##   0115-TFERT    1
##   0117-LFRMW    1
##   0118-JPNOY    1
##   0121-SNYRK    1
##   0122-OAHPZ    1
##   0123-CRBRT    1
##   0125-LZQXK    1
##   0128-MKWSG    1
##   0129-KPTWJ    1
##   0129-QMPDR    1
##   0130-SXOUN    1
##   0133-BMFZO    1
##   0134-XWXCE    1
##   0135-NMXAP    1
##   0136-IFMYD    1
##   0137-OCGAB    1
##   0137-UDEUO    1
##   0139-IVFJG    1
##   0141-YEAYS    1
##   0142-GVYSN    1
##   0147-ESWWR    1
##   0148-DCDOS    1
##   0151-ONTOV    1
##   0156-FVPTA    1
##   0164-APGRB    1
##   0164-XAIRP    1
##   0168-XZKBB    1
##   0174-QRVVY    1
##   0177-PXBAT    1
##   0178-CIIKR    1
##   0178-SZBHO    1
##   0181-RITDD    1
##   0186-CAERR    1
##   0187-QSXOE    1
##   0187-WZNAB    1
##   0188-GWFLE    1
##   0191-EQUUH    1
##   0191-ZHSKZ    1
##   0193-ESZXP    1
##   0195-IESCP    1
##   0196-JTUQI    1
##   0196-VULGZ    1
##   0197-PNKNK    1
##   0201-MIBOL    1
##   0201-OAMXR    1
##   0203-HHYIJ    1
##   0206-OYVOC    1
##   0206-TBWLC    1
##   0207-MDKNV    1
##   0208-BPQEJ    1
##   0212-ISBBF    1
##   0214-JHPFW    1
##   0215-BQKGS    1
##   0218-QNVAS    1
##   0219-QAERP    1
##   0219-YTZUE    1
##   0220-EBGCE    1
##   0221-NAUXK    1
##   0221-WMXNQ    1
##   0222-CNVPT    1
##   0224-HJAPT    1
##   0224-NIJLP    1
##   0224-RLWWD    1
##   0225-ZORZP    1
##   0228-MAUWC    1
##   0229-LFJAF    1
##   0230-UBYPQ    1
##   0230-WEQUW    1
##   0231-LXVAP    1
##   0233-FTHAV    1
##   0234-TEVTT    1
##   0235-KGSLC    1
##   0236-HFWSV    1
##   0237-YFUTL    1
##   0238-WHBIQ    1
##   0239-OXEXL    1
##   0244-LGNFY    1
##   0247-SLUJI    1
##   0248-IPDFW    1
##   0248-PGHBZ    1
##   0253-ZTEOB    1
##   0254-FNMCI    1
##   0254-KCJGT    1
##   0254-WWRKD    1
##   0256-LTHVJ    1
##   0257-KXZGU    1
##   0257-ZESQC    1
##   0258-NOKBL    1
##   0259-GBZSH    1
##   0260-ZDLGK    1
##   0263-FJTQO    1
##   0264-CNITK    1
##   0265-EDXBD    1
##   0265-PSUAE    1
##   0266-CLZKZ    1
##   0266-GMEAO    1
##   0268-QKIWO    1
##   0269-XFESX    1
##   0270-THENM    1
##   0274-JKUJR    1
##   0277-BKSQP    1
##   0277-ORXQS    1
##   0278-YXOOG    1
##   0280-XJGEX    1
##   0281-CNTZX    1
##   0282-NVSJS    1
##   0285-INHLN    1
##   0289-IVARM    1
##   0292-WEGCH    1
##   0295-PPHDO    1
##   0295-QVKPB    1
##   0297-RBCSG    1
##   0298-XACET    1
##   0301-FIDRB    1
##   0301-KOBTQ    1
##   0302-JOIVN    1
##   0303-UNCIP    1
##   0303-WMMRN    1
##   0305-SQECB    1
##   0306-JAELE    1
##   0307-BCOPK    1
##   0308-GIQJT    1
##   0308-IVGOK    1
##   0310-MVLET    1
##   0310-SUCIN    1
##   0310-VQXAM    1
##   0311-QYWSS    1
##   0311-UNPFF    1
##   0314-TKOSI    1
##   0315-LVCRK    1
##   0318-QUUOB    1
##   0318-ZOPWS    1
##   0319-QZTCO    1
##   0320-DWVTU    1
##   0320-JDNQG    1
##   0322-CHQRU    1
##   0322-YINQP    1
##   0323-XWWTN    1
##   0324-BRPCJ    1
##   0325-XBFAC    1
##   0326-VDYXE    1
##   0327-WFZSY    1
##   0328-GRPMV    1
##   0329-GTIAJ    1
##   0330-BGYZE    1
##   0330-IVZHA    1
##   0334-GDDSO    1
##   0334-ZFJSR    1
##   0336-KXKFK    1
##   0336-PIKEI    1
##   0337-CNPZE    1
##   0343-QLUZP    1
##   0345-HKJVM    1
##   0345-XMMUG    1
##   0347-UBKUZ    1
##   0348-SDKOL    1
##   0354-VXMJC    1
##   0354-WYROK    1
##   0356-ERHVT    1
##   0356-OBMAC    1
##   0357-NVCRI    1
##   0361-HJRDX    1
##   0362-RAOQO    1
##   0362-ZBZWJ    1
##   0363-QJVFX    1
##   0363-SVHYR    1
##   0365-BZUWY    1
##   0365-GXEZS    1
##   0365-TRTPY    1
##   0366-NQSHS    1
##   0369-ZGOVK    1
##   0373-AIVNJ    1
##   0374-AACSZ    1
##   0374-FIUCA    1
##   0374-IOEGQ    1
##   0375-HVGXO    1
##   0376-OIWME    1
##   0376-YMCJC    1
##   0377-JBKKT    1
##   0378-CJKPV    1
##   0378-NHQXU    1
##   0378-TOVMS    1
##   0378-XSZPU    1
##   0379-DJQHR    1
##   0380-NEAVX    1
##   0380-ZCSBI    1
##   0383-CLDDA    1
##   0384-LPITE    1
##   0384-RVBPI    1
##   0386-CWRGM    1
##   0388-EOPEX    1
##   0390-DCFDQ    1
##   0392-BZIUW    1
##   0394-YONDK    1
##   0396-HUJBP    1
##   0396-UKGAI    1
##   0396-YCHWO    1
##   0397-GZBBC    1
##   0397-ZXWQF    1
##   0401-WDBXM    1
##   0402-CQAJN    1
##   0402-OAMEN    1
##   0404-AHASP    1
##   0404-SWRVG    1
##   0406-BPDVR    1
##   0407-BDJKB    1
##   0409-WTMPL    1
##   0410-IPFTY    1
##   0411-EZJZE    1
##   0412-UCCNP    1
##   0415-MOSGF    1
##   0419-YAAPX    1
##   0420-BWTPW    1
##   0420-HLGXF    1
##   0420-TXVSG    1
##   0422-OHQHQ    1
##   0422-UXFAP    1
##   0423-UDIJQ    1
##   0426-TIRNE    1
##   0428-AXXLJ    1
##   0428-IKYCP    1
##   0430-IHCDJ    1
##   0431-APWVY    1
##   0432-CAJZV    1
##   0434-CSFON    1
##   0436-TWFFZ    1
##   0439-IFYUN    1
##   0440-EKDCF    1
##   0440-MOGPM    1
##   0440-QEXBZ    1
##   0440-UEDAI    1
##   0442-TDYUO    1
##   0442-ZXKVS    1
##   0447-BEMNG    1
##   0447-RXSGD    1
##   0454-OKRCT    1
##   0455-ENTCR    1
##   0455-XFASS    1
##   0458-HEUZG    1
##   0459-SPZHJ    1
##   0461-CVKMU    1
##   0463-TXOAK    1
##   0463-WZZKO    1
##   0463-ZSDNT    1
##   0464-WJTKO    1
##   0468-YRPXN    1
##   0471-ARVMX    1
##   0471-LVHGK    1
##   0475-RIJEP    1
##   0479-HMSWA    1
##   0480-BIXDE    1
##   0480-KYJVA    1
##   0481-SUMCB    1
##   0484-FFVBJ    1
##   0484-JPBRU    1
##   0485-ZBSLN    1
##   0486-HECZI    1
##   0486-LGCCH    1
##   0487-CRLZF    1
##   0487-RPVUM    1
##   0487-VVUVK    1
##   0488-GSLFR    1
##   0489-WMEMG    1
##   0491-KAPQG    1
##   0495-RVCBF    1
##   0495-ZBNGW    1
##   0496-AHOOK    1
##   0504-HHAPI    1
##   0505-SPOOW    1
##   0506-LVNGN    1
##   0506-YLVKJ    1
##   0508-OOLTO    1
##   0508-SQWPL    1
##   0511-JTEOY    1
##   0512-FLFDW    1
##   0513-RBGPE    1
##   0515-YPMCW    1
##   0516-OOHAR    1
##   0516-QREYC    1
##   0516-UXRMT    1
##   0516-VRYBW    1
##   0516-WJVXC    1
##   0519-DRGTI    1
##   0519-XUZJU    1
##   0520-FDVVT    1
##   0523-VNGTF    1
##   0524-IAVZO    1
##   0526-SXDJP    1
##   0529-ONKER    1
##   0530-IJVDB    1
##   0531-XBKMM    1
##   0531-ZZJWQ    1
##   0533-BNWKF    1
##   0533-UCAAU    1
##   0536-ACXIP    1
##   0536-BGFMZ    1
##   0536-ESJEP    1
##   0537-QYZZN    1
##   0541-FITGH    1
##   0547-HURJB    1
##   0549-CYCQN    1
##   0550-DCXLH    1
##   0556-FJEGU    1
##   0557-ASKVU    1
##   0559-CKHUS    1
##   0562-FGDCR    1
##   0562-HKHML    1
##   0562-KBDVM    1
##   0564-JJHGS    1
##   0564-MUUQK    1
##   0565-IYCGT    1
##   0565-JUPYD    1
##   0567-GGCAC    1
##   0567-XRHCU    1
##   0568-ONFPC    1
##   0570-BFQHT    1
##   0572-ZJKLT    1
##   0575-CUQOV    1
##   0576-WNXXC    1
##   0577-WHMEV    1
##   0578-SKVMF    1
##   0580-PIQHM    1
##   0581-BXBUB    1
##   0581-MDMPW    1
##   0582-AVCLN    1
##   0584-BJQGZ    1
##   0585-EGDDA    1
##   0587-DMGBH    1
##   0594-UFTUL    1
##   0595-ITUDF    1
##   0596-BQCEQ    1
##   0599-XNYDO    1
##   0601-WZHJF    1
##   0602-DDUML    1
##   0603-OLQDC    1
##   0603-TPMIB    1
##   0604-THJFP    1
##   0607-DAAHE    1
##   0607-MVMGC    1
##   0608-JDVEC    1
##   0611-DFXKO    1
##   0612-RTZZA    1
##   0613-WUXUM    1
##   0616-ATFGB    1
##   0617-AQNWT    1
##   0617-FHSGK    1
##   0618-XWMSS    1
##   0619-OLYUR    1
##   0620-DLSLK    1
##   0620-XEFWH    1
##   0621-CXBKL    1
##   0621-HJWXJ    1
##   0621-JFHOL    1
##   0621-TSSMU    1
##   0621-TWIEM    1
##   0623-EJQEG    1
##   0623-GDISB    1
##   0623-IIHUG    1
##   0625-AFOHS    1
##   0626-QXNGV    1
##   0628-CNQRM    1
##   0634-SZPQA    1
##   0635-WKOLD    1
##   0637-KVDLV    1
##   0637-UBJRP    1
##   0637-YLETY    1
##   0639-TSIQW    1
##   0640-YJTPY    1
##   0641-EVBOJ    1
##   0643-OKLRP    1
##   0644-OQMDK    1
##   0650-BWOZN    1
##   0654-HMSHN    1
##   0654-PQKDW    1
##   0655-RBDUG    1
##   0655-YDGFJ    1
##   0657-DOGUM    1
##   0661-KBKPA    1
##   0661-KQHNK    1
##   0661-WCQNQ    1
##   0661-XEYAN    1
##   0665-XHDJU    1
##   0666-UXTJO    1
##   0667-NSRGI    1
##   0668-OGMHD    1
##   0670-ANMUU    1
##   0670-KDOMA    1
##   0673-IGUQO    1
##   0674-DGMAQ    1
##   0674-EYYZV    1
##   0674-GCDXG    1
##   0675-NCDYU    1
##   0678-RLHVP    1
##   0679-IDSTG    1
##   0679-TDGAK    1
##   0680-DFNNY    1
##   0682-USIXD    1
##   0684-AOSIH    1
##   0685-MLYYM    1
##   0687-ZVTHB    1
##   0689-DSXGL    1
##   0689-NKYLF    1
##   0690-SRQID    1
##   0691-IFBQW    1
##   0691-JVSYA    1
##   0691-NIKRI    1
##   0696-UKTOX    1
##   0697-ZMSWS    1
##   0699-NDKJM    1
##   0701-RFGFI    1
##   0701-TJSEF    1
##   0702-PGIBZ    1
##   0704-VCUMB    1
##   0707-HOVVN    1
##   0708-LGSMF    1
##   0708-SJDIS    1
##   0709-TVGUR    1
##   0716-BQNDX    1
##   0719-SYFRB    1
##   0722-SVSFK    1
##   0722-TROQR    1
##   0723-DRCLG    1
##   0723-FDLAY    1
##   0723-VSOBE    1
##   0725-CXOTM    1
##   0727-BMPLR    1
##   0727-BNRLG    1
##   0727-IWKVK    1
##   0730-BGQGF    1
##   0730-KOAVE    1
##   0731-EBJQB    1
##   0732-OCQOC    1
##   0733-VUNUW    1
##   0734-OXWBT    1
##   0739-UUAJR    1
##   0742-LAFQK    1
##   0742-MOABM    1
##   0742-NXBGR    1
##   0743-HNPFG    1
##   0743-HRVFF    1
##   0744-BIKKF    1
##   0744-GKNGE    1
##   0746-JTRFU    1
##   0748-RDGGM    1
##   0749-IRGQE    1
##   0750-EBAIU    1
##   0750-EKNGL    1
##   0754-EEBDC    1
##   0754-UKWQP    1
##   0756-MPZRL    1
##   0757-WCUUZ    1
##   0761-AETCS    1
##   0769-MURVM    1
##   0771-CHWSK    1
##   0771-WLCLA    1
##   0772-GYEQQ    1
##   0774-IFUVM    1
##   0774-RMNUW    1
##   0778-NELLA    1
##   0780-XNZFN    1
##   0781-LKXBR    1
##   0784-GTUUK    1
##   0784-ZQJZX    1
##   0786-IVLAW    1
##   0786-VSSUD    1
##   0787-LHDYT    1
##   0788-DXBFY    1
##   0793-TWELN    1
##   0794-YVSGE    1
##   0795-GMVQO    1
##   0795-LAFGP    1
##   0795-XCCTE    1
##   0799-DDIHE    1
##   0804-XBFBV    1
##   0804-YGEQV    1
##   0807-ZABDG    1
##   0810-BDHAW    1
##   0810-DHDBD    1
##   0811-GSDTP    1
##   0812-WUPTB    1
##   0813-TAXXS    1
##   0815-MFZGM    1
##   0816-TSPHQ    1
##   0817-HSUSE    1
##   0818-OCPZO    1
##   0820-FNRNX    1
##   0822-GAVAP    1
##   0822-QGCXA    1
##   0823-HSCDJ    1
##   0824-VWDPO    1
##   0825-CPPQH    1
##   0827-ITJPH    1
##   0829-DDVLK    1
##   0829-XXPLX    1
##   0831-JNISG    1
##   0835-DUUIQ    1
##   0835-JKADZ    1
##   0836-SEYLU    1
##   0839-JTCUD    1
##   0839-QNXME    1
##   0840-DCNZE    1
##   0840-DFEZH    1
##   0841-NULXI    1
##   0842-IWYCP    1
##   0843-WTBXE    1
##   0847-HGRML    1
##   0848-SOMKO    1
##   0848-ZGQIJ    1
##   0851-DFJKB    1
##   0853-NWIFK    1
##   0853-TWRVK    1
##   0854-UYHZD    1
##   0856-NAOES    1
##   0859-YGKFW    1
##   0862-PRCBS    1
##   0864-FVJNJ    1
##   0866-QLSIR    1
##   0867-LDTTC    1
##   0867-MKZVY    1
##   0868-VJRDR    1
##   0869-PAPRP    1
##   0870-VEMYL    1
##   0871-OPBXW    1
##   0871-URUWO    1
##   0872-CASZJ    1
##   0872-JCPIB    1
##   0872-NXJYS    1
##   0875-CABNR    1
##   0876-WDUUZ    1
##   0877-SDMBN    1
##   0880-FVFWF    1
##   0880-TKATG    1
##   0883-EIBTI    1
##   0885-HMGPY    1
##   0886-QGENL    1
##   0887-HJGAR    1
##   0887-WBJVH    1
##   0895-DQHEW    1
##   0895-LMRSF    1
##   0895-LNKRC    1
##   0895-UADGO    1
##   0897-FEGMU    1
##   0898-XCGTF    1
##   0899-LIIBW    1
##   0899-WZRSD    1
##   0902-RFHOF    1
##   0902-XKXPN    1
##   0906-QVPMS    1
##   0907-HQNTS    1
##   0909-SDHNU    1
##   0909-SELIE    1
##   0913-XWSCN    1
##   0916-KNFAJ    1
##   0916-QOFDP    1
##   0917-EZOLA    1
##   0921-OHLVP    1
##   0923-PNFUB    1
##   0924-BJCRC    1
##   0925-VYDLG    1
##   0927-CNGRH    1
##   0927-LCSMG    1
##   0928-JMXNP    1
##   0928-XUTSN    1
##   0929-HYQEW    1
##   0929-PECLO    1
##   0930-EHUZA    1
##   0931-MHTEM    1
##   0932-YIXYU    1
##   0936-NQLJU    1
##   0939-EREMR    1
##   0939-YAPAF    1
##   0940-OUQEC    1
##   0942-KOWSM    1
##   0943-ZQPXH    1
##   0945-TSONX    1
##   0946-CLJTI    1
##   0946-FKYTX    1
##   0947-IDHRQ    1
##   0947-MUGVO    1
##   0952-KMEEH    1
##   0953-LGOVU    1
##   0956-ACVZC    1
##   0956-SYCWG    1
##   0958-YHXGP    1
##   0959-WHOKV    1
##   0960-HUWBM    1
##   0961-ZWLVI    1
##   0962-CQPWQ    1
##   0963-ZBDRN    1
##   0967-BMLBD    1
##   0968-GSIKN    1
##   0969-RGKCU    1
##   0970-ETWGE    1
##   0970-QXPXW    1
##   0971-QIFJK    1
##   0973-KYVNF    1
##   0975-UYDTX    1
##   0975-VOOVL    1
##   0979-MOZQI    1
##   0979-PHULV    1
##   0980-FEXWF    1
##   0980-PVMRC    1
##   0983-TATYJ    1
##   0988-AADSA    1
##   0988-JRWWP    1
##   0991-BRRFB    1
##   0993-OSGPT    1
##   0997-YTLNY    1
##   0999-QXNSA    1
##   1000-AJSLD    1
##   1004-NOZNR    1
##   1009-IRMNA    1
##   1010-DIAUQ    1
##   1013-QCWAM    1
##   1015-JPFYW    1
##   1015-OWJKI    1
##   1016-DJTSV    1
##   1017-FBQMM    1
##   1020-JPQOW    1
##   1022-RKXDR    1
##   1023-BQXZE    1
##   1024-GUALD    1
##   1024-KPRBB    1
##   1024-VRZHF    1
##   1025-FALIX    1
##   1027-LKKQQ    1
##   1028-FFNJK    1
##   1029-QFBEN    1
##   1031-IIDEO    1
##   1032-MAELW    1
##   1035-IPQPU    1
##   1036-GUDCL    1
##   1038-RQOST    1
##   1038-ZAGBI    1
##   1041-RXHRA    1
##   1042-HFUCW    1
##   1043-UXOVO    1
##   1043-YCUTE    1
##   1045-LTCYT    1
##   1047-NNCBF    1
##   1047-RNXZV    1
##   1049-FYSYG    1
##   1051-EQPZR    1
##   1051-GEJLJ    1
##   1052-QJIBV    1
##   1053-MXTTK    1
##   1057-FOGLZ    1
##   1060-ENTOF    1
##   1061-PNTHC    1
##   1062-LHZOD    1
##   1063-DHQJF    1
##   1064-FBXNK    1
##   1066-JKSGK    1
##   1069-QJOEE    1
##   1069-XAIEM    1
##   1073-XXCZD    1
##   1074-AMIOH    1
##   1074-WVEVG    1
##   1075-BGWOH    1
##   1077-HUUJM    1
##   1078-TDCRN    1
##   1080-BWSYE    1
##   1084-MNSMJ    1
##   1084-UQCHV    1
##   1085-LDWAM    1
##   1086-LXKFY    1
##   1087-GRUYI    1
##   1087-UDSIH    1
##   1088-AUUZZ    1
##   1088-CNNKB    1
##   1089-HDMKP    1
##   1089-XZWHH    1
##   1090-ESELR    1
##   1090-PYKCI    1
##   1091-SOZGA    1
##   1092-GANHU    1
##   1092-WPIVQ    1
##   1093-YSWCA    1
##   1094-BKOSX    1
##   1095-JUDTC    1
##   1095-WGNGG    1
##   1096-ADRUX    1
##   1097-FSPVW    1
##   1098-KFQEC    1
##   1098-TDVUQ    1
##   1099-BTKWT    1
##   1099-GODLO    1
##   1100-DDVRV    1
##   1101-SSWAG    1
##   1104-FEJAM    1
##   1104-TNLZA    1
##   1106-HRLKZ    1
##   1110-KYLGQ    1
##   1112-CUNAO    1
##   1113-IUJYX    1
##   1114-CENIM    1
##   1116-DXXDF    1
##   1116-FRYVH    1
##   1120-BMWUB    1
##   1121-QSIVB    1
##   1122-JWTJW    1
##   1122-YJBCS    1
##   1125-SNVCK    1
##   1131-ALZWV    1
##   1131-QQZEB    1
##   1131-SUEKT    1
##   1133-KXCGE    1
##   1134-YWTYF    1
##   1135-HIORI    1
##   1135-LMECX    1
##   1136-XGEQU    1
##   1137-DGOWI    1
##   1139-WUOAH    1
##   1140-UKVZG    1
##   1142-IHLOO    1
##   1142-WACZW    1
##   1143-NMNQJ    1
##   1150-FTQGN    1
##   1150-WFARN    1
##   1153-GNOLC    1
##   1154-HYWWO    1
##   1156-ZFYDO    1
##   1157-BQCUW    1
##   1159-WFSGR    1
##   1162-ECVII    1
##   1163-ONYEY    1
##   1163-VIPRI    1
##   1166-PQLGG    1
##   1167-OYZJF    1
##   1169-SAOCL    1
##   1169-WCVAK    1
##   1170-SASML    1
##   1171-TYKUR    1
##   1172-VIYBP    1
##   1173-NOEYG    1
##   1173-XZPYF    1
##   1174-FGIFN    1
##   1177-XZBJL    1
##   1178-PZGAB    1
##   1179-INLAT    1
##   1183-CANVH    1
##   1184-PJVDB    1
##   1187-WILMM    1
##   1193-RTSLK    1
##   1194-BHJYC    1
##   1194-HVAIF    1
##   1194-SPVSP    1
##   1195-OIYEJ    1
##   1196-AMORA    1
##   1197-BVMVG    1
##   1200-TUZHR    1
##   1202-KKGFU    1
##   1205-WNWPJ    1
##   1206-EHBDD    1
##   1207-BLKSA    1
##   1208-DNHLN    1
##   1208-NBVFH    1
##   1209-VFFOC    1
##   1212-GLHMD    1
##   1213-NGCUN    1
##   1215-EXRMO    1
##   1215-FIGMP    1
##   1215-VFYVK    1
##   1216-BGTSP    1
##   1216-JWVUX    1
##   1217-VASWC    1
##   1218-VKFPE    1
##   1219-NNDDO    1
##   1221-GHZEP    1
##   1222-KJNZD    1
##   1222-LRYKO    1
##   1223-UNPKS    1
##   1226-IENZN    1
##   1226-JZNKR    1
##   1226-UDFZR    1
##   1227-UDMZR    1
##   1228-FZFRV    1
##   1228-ZLNBX    1
##   1229-RCALF    1
##   1230-QAJDW    1
##   1231-YNDEK    1
##   1236-WFCDV    1
##   1237-WIYYZ    1
##   1240-HCBOH    1
##   1240-KNSEZ    1
##   1241-EZFMJ    1
##   1241-FPMOF    1
##   1245-HARPS    1
##   1247-QBVSH    1
##   1248-DYXUB    1
##   1251-KRREG    1
##   1251-STYSZ    1
##   1254-IZEYF    1
##   1257-SXUXQ    1
##   1258-YMZNM    1
##   1260-TTRXI    1
##   1261-FWTTE    1
##   1262-OPMFY    1
##   1264-BYWMS    1
##   1264-FUHCX    1
##   1265-BCFEO    1
##   1265-HVPZB    1
##   1265-XTECC    1
##   1265-ZFOSD    1
##   1266-NZYUI    1
##   1268-ASBGA    1
##   1269-FOYWN    1
##   1270-XKUCC    1
##   1271-SJBGZ    1
##   1271-UODNO    1
##   1272-ILHFG    1
##   1273-MTETI    1
##   1282-IHQAC    1
##   1285-OKIPP    1
##   1291-CUOCY    1
##   1293-BSEUN    1
##   1293-HHSHJ    1
##   1297-VQDRP    1
##   1298-PHBTI    1
##   1299-AURJA    1
##   1301-LOPVR    1
##   1302-TPUBN    1
##   1302-UHBDD    1
##   1303-SRDOK    1
##   1304-BCCFO    1
##   1304-NECVQ    1
##   1304-SEGFY    1
##   1306-RPWXZ    1
##   1307-ATKGB    1
##   1307-TVUFB    1
##   1309-BXVOQ    1
##   1309-XGFSN    1
##   1310-QRITU    1
##   1319-YLZJG    1
##   1320-GVNHT    1
##   1320-HTRDR    1
##   1320-REHCS    1
##   1322-AGOQM    1
##   1323-OOEPC    1
##   1324-NLTJE    1
##   1325-USMEC    1
##   1328-EUZHC    1
##   1329-VHWNP    1
##   1333-PBMXB    1
##   1334-FJSVR    1
##   1334-PDUKM    1
##   1335-HQMKX    1
##   1335-MXCSE    1
##   1335-NTIUC    1
##   1336-EZFZY    1
##   1337-BOZWO    1
##   1338-CECEE    1
##   1342-JPNKI    1
##   1343-EHPYB    1
##   1345-GKDZZ    1
##   1345-ZUKID    1
##   1346-PJWTK    1
##   1346-UFHAX    1
##   1347-KTTTA    1
##   1349-WXNGG    1
##   1352-HNSAW    1
##   1352-VHKAJ    1
##   1353-GHZOS    1
##   1353-LJWEM    1
##   1354-YZFNB    1
##   1355-KUSBG    1
##   1356-MKYSK    1
##   1357-BIJKI    1
##   1357-MVDOZ    1
##   1360-JYXKQ    1
##   1360-RCYRT    1
##   1360-XFJMR    1
##   1363-TXLSL    1
##   1370-GGAWX    1
##   1371-DWPAZ    1
##   1371-OJCEK    1
##   1371-WEPDS    1
##   1373-ORVIZ    1
##   1374-DMZUI    1
##   1376-HHBDV    1
##   1379-FRVEB    1
##   1383-EZRWL    1
##   1384-RCUXW    1
##   1385-TQOZW    1
##   1386-ZIKUV    1
##   1389-CXMLU    1
##   1389-WNUIB    1
##   1391-UBDAR    1
##   1393-IMKZG    1
##   1394-SUIUH    1
##   1395-OFUWC    1
##   1395-WSWXR    1
##   1396-QWFBJ    1
##   1397-XKKWR    1
##   1399-OUPJN    1
##   1399-UBQIU    1
##   1400-MMYXY    1
##   1400-WIVLL    1
##   1401-FTHFQ    1
##   1402-PTHGN    1
##   1403-GYAFU    1
##   1403-LKLIK    1
##   1406-PUQVY    1
##   1407-DIGZV    1
##   1409-PHXTF    1
##   1410-RSCMR    1
##   1414-YADCW    1
##   1415-YFWLT    1
##   1421-HCERK    1
##   1422-DGUBX    1
##   1423-BMPBQ    1
##   1427-VERSM    1
##   1428-GTBJJ    1
##   1428-IEDPR    1
##   1429-UYJSV    1
##   1430-SFQSA    1
##   1431-AIDJQ    1
##   1431-CYWMH    1
##   1432-FPAXX    1
##   1436-ZMJAN    1
##   1439-LCGVL    1
##   1442-BQPVU    1
##   1442-OKRJE    1
##   1444-VVSGW    1
##   1447-GIQMR    1
##   1447-PJGGA    1
##   1448-CYWKC    1
##   1448-PWKYE    1
##   1449-XQEMT    1
##   1450-GALXR    1
##   1450-SKCVI    1
##   1452-KIOVK    1
##   1452-UZOSF    1
##   1452-VOQCH    1
##   1452-XRSJV    1
##   1453-RZFON    1
##   1455-ESIQH    1
##   1455-HFBXA    1
##   1455-UGQVH    1
##   1456-TWCGB    1
##   1459-QNFQT    1
##   1460-UZPRJ    1
##   1465-LNTLJ    1
##   1465-VINDH    1
##   1465-WCZVT    1
##   1468-DEFNC    1
##   1469-LBJQJ    1
##   1470-PSXNM    1
##   1471-GIQKQ    1
##   1472-TNCWL    1
##   1474-JUWSM    1
##   1475-VWVDO    1
##   1478-VPOAD    1
##   1480-BKXGA    1
##   1480-IVEVR    1
##   1481-ZUWZA    1
##   1482-OXZSY    1
##   1485-YDHMM    1
##   1488-PBLJN    1
##   1488-SYSFC    1
##   1492-KGETH    1
##   1492-QGCLU    1
##   1493-AMTIE    1
##   1494-EJZDW    1
##   1496-GGSUK    1
##   1498-DQNRX    1
##   1498-NHTLT    1
##   1501-SGHBW    1
##   1502-XFCVR    1
##   1506-YJTYT    1
##   1508-DFXCU    1
##   1513-XNPPH    1
##   1518-OMDIK    1
##   1518-VOWAV    1
##   1522-VVDMG    1
##   1525-LNLOJ    1
##   1527-SXDPN    1
##   1530-ZTDOZ    1
##   1534-OULXE    1
##   1535-VTJOQ    1
##   1536-HBSWP    1
##   1536-YHDOE    1
##   1539-LNKHM    1
##   1541-ETJZO    1
##   1543-LLLFT    1
##   1544-JJMYL    1
##   1545-ACTAS    1
##   1545-JFUML    1
##   1548-ARAGG    1
##   1548-FEHVL    1
##   1550-EENBN    1
##   1550-LOAHA    1
##   1552-AAGRX    1
##   1552-CZCLL    1
##   1552-TKMXS    1
##   1555-DJEQW    1
##   1555-HAPSU    1
##   1557-EMYVT    1
##   1559-DTODC    1
##   1561-BWHIN    1
##   1563-IWQEX    1
##   1564-HJUVY    1
##   1564-NTYXF    1
##   1565-RHDJD    1
##   1567-DSCIC    1
##   1568-BEKZM    1
##   1568-LJSZU    1
##   1569-TTNYJ    1
##   1571-SAVHK    1
##   1573-LGXBA    1
##   1574-DYCWE    1
##   1575-KRZZE    1
##   1576-PFZIW    1
##   1577-HKTFG    1
##   1579-KLYDT    1
##   1580-BMCMR    1
##   1582-RAFML    1
##   1583-IHQZE    1
##   1585-MQSSU    1
##   1587-FKLZB    1
##   1589-AGTLK    1
##   1591-MQJTP    1
##   1591-NFNLQ    1
##   1591-XWLGB    1
##   1596-BBVTG    1
##   1596-OQSPS    1
##   1597-FZREH    1
##   1597-LHYNC    1
##   1599-EAHXY    1
##   1599-MMYRQ    1
##   1600-DILPE    1
##   1602-IJQQE    1
##   1608-GMEWB    1
##   1612-EOHDH    1
##   1614-JBEBI    1
##   1618-CFHME    1
##   1619-YWUBB    1
##   1621-YNCJH    1
##   1622-HSHSF    1
##   1623-NLDOT    1
##   1624-NALOJ    1
##   1624-WOIWJ    1
##   1625-JAIIY    1
##   1626-ERCMM    1
##   1627-AFWVJ    1
##   1628-BIZYP    1
##   1629-DQQVB    1
##   1635-FJFCC    1
##   1635-HDGFT    1
##   1635-NZATJ    1
##   1636-NTNCO    1
##   1640-PLFMP    1
##   1641-BYBTK    1
##   1641-RQDAY    1
##   1642-HMARX    1
##   1644-IRKSF    1
##   1656-DRSMG    1
##   1657-DYMBM    1
##   1658-BYGOY    1
##   1658-TJVOA    1
##   1658-XUHBX    1
##   1660-HSOOQ    1
##   1661-CZBAU    1
##   1663-MHLHE    1
##   1666-JXLKU    1
##   1666-JZPZT    1
##   1670-SVOWZ    1
##   1676-MQAOA    1
##   1678-FYZOW    1
##   1679-JRFBR    1
##   1680-VDCWW    1
##   1682-VCOIO    1
##   1684-FLBGS    1
##   1685-BQULA    1
##   1685-VAYJF    1
##   1686-STUHN    1
##   1689-MRZQR    1
##   1689-YQBYY    1
##   1696-HXOWK    1
##   1696-MZVAU    1
##   1697-BCSHV    1
##   1697-LYYYX    1
##   1697-NVVGY    1
##   1698-XFZCI    1
##   1699-HPSBG    1
##   1699-TLDLZ    1
##   1699-UOTXU    1
##   1702-CCFNJ    1
##   1703-MGIAB    1
##   1704-NRWYE    1
##   1705-GUHPV    1
##   1707-HABPF    1
##   1708-PBBOA    1
##   1709-EJDOX    1
##   1710-RCXUS    1
##   1716-LSAMB    1
##   1722-LDZJS    1
##   1723-HKXJQ    1
##   1724-BQUHA    1
##   1724-IQWNM    1
##   1725-IQNIY    1
##   1725-MIMXW    1
##   1728-BQDMA    1
##   1728-CXQBE    1
##   1729-VLAZJ    1
##   1730-VFMWO    1
##   1730-ZMAME    1
##   1731-TVIUK    1
##   1732-FEKLD    1
##   1732-VHUBQ    1
##   1734-ZMNTZ    1
##   1735-XMJVH    1
##   1740-CSDJP    1
##   1741-WTPON    1
##   1744-JHKYS    1
##   1746-TGTWV    1
##   1750-CSKKM    1
##   1751-NCDLI    1
##   1752-OZXFY    1
##   1754-GKYPY    1
##   1755-FZQEC    1
##   1755-RMCXH    1
##   1757-TCATG    1
##   1760-CAZHT    1
##   1761-AEZZR    1
##   1763-KUAAW    1
##   1763-WQFUK    1
##   1764-VUUMT    1
##   1766-GKNMI    1
##   1767-CJKBA    1
##   1767-TGTKO    1
##   1768-HNVGJ    1
##   1768-ZAIFU    1
##   1769-GRUIK    1
##   1771-OADNZ    1
##   1775-KWJKQ    1
##   1776-SPBWV    1
##   1777-JYQPJ    1
##   1779-PWPMG    1
##   1784-BXEFA    1
##   1784-EZDKJ    1
##   1785-BPHTP    1
##   1790-NESIO    1
##   1791-PQHBB    1
##   1792-UXAFY    1
##   1794-HBQTJ    1
##   1794-SWWKL    1
##   1796-JANOW    1
##   1803-BGNBD    1
##   1809-DMJHQ    1
##   1810-BOHSY    1
##   1810-MVMAI    1
##   1813-JLKWR    1
##   1813-JYWTO    1
##   1814-DKOLC    1
##   1814-WFGVS    1
##   1816-FLZDK    1
##   1818-ESQMW    1
##   1820-DJFPH    1
##   1820-TQVEV    1
##   1821-BUCWY    1
##   1830-GGFNM    1
##   1830-IPXVJ    1
##   1832-PEUTS    1
##   1833-TCXKK    1
##   1833-VGRUM    1
##   1834-ABKHQ    1
##   1834-WULEG    1
##   1837-YQUCE    1
##   1839-FBNFR    1
##   1839-UMACK    1
##   1840-BIUOG    1
##   1841-YSJGV    1
##   1842-EZJMK    1
##   1843-TLSGD    1
##   1845-CSBRZ    1
##   1845-ZLLIG    1
##   1846-XWOQN    1
##   1848-LBZHY    1
##   1849-RJYIG    1
##   1850-AKQEP    1
##   1852-QSWCD    1
##   1852-XEMDW    1
##   1853-ARAAQ    1
##   1853-UDXBW    1
##   1855-AGAWH    1
##   1855-CFULU    1
##   1862-QRWPE    1
##   1862-SKORY    1
##   1866-DIOQZ    1
##   1866-NXPSP    1
##   1866-OBPNR    1
##   1866-RZZQS    1
##   1866-ZSLJM    1
##   1867-BDVFH    1
##   1867-TJHTS    1
##   1871-MOWRM    1
##   1872-EBWSC    1
##   1875-QIVME    1
##   1877-HKBQX    1
##   1891-FZYSA    1
##   1891-QRQSA    1
##   1891-UAWWU    1
##   1894-IGFSG    1
##   1895-QTKDO    1
##   1897-OKVMW    1
##   1897-RCFUM    1
##   1898-JSNDC    1
##   1899-VXWXM    1
##   1902-XBTFB    1
##   1904-WAJAA    1
##   1905-OEILC    1
##   1907-UBQFC    1
##   1907-YLNYW    1
##   1910-FMXJM    1
##   1915-IOFGU    1
##   1915-OAKWD    1
##   1918-ZBFQJ    1
##   1919-RTPQD    1
##   1921-KYSAY    1
##   1925-GMVBW    1
##   1925-LFCZZ    1
##   1925-TIBLE    1
##   1926-QUZNN    1
##   1927-QEWMY    1
##   1928-BXYIV    1
##   1929-ZCBHE    1
##   1930-BZLHI    1
##   1930-QPBVZ    1
##   1930-WNXSB    1
##   1932-UEDCX    1
##   1934-MKPXS    1
##   1934-SJVJK    1
##   1935-IMVBB    1
##   1936-CZAKF    1
##   1936-UAFEH    1
##   1937-OTUKY    1
##   1941-HOSAM    1
##   1942-OQFRW    1
##   1945-XISKS    1
##   1950-KSVVJ    1
##   1951-IEYXM    1
##   1952-DVVSW    1
##   1955-IBMMB    1
##   1956-YIFGE    1
##   1958-RNRKS    1
##   1960-UOTYM    1
##   1960-UYCNN    1
##   1963-SVUCV    1
##   1963-VAUKV    1
##   1964-SVLEA    1
##   1965-AKTSX    1
##   1965-DDBWU    1
##   1970-KKFWL    1
##   1971-DTCZB    1
##   1972-XMUWV    1
##   1976-AZZPJ    1
##   1976-CFOCS    1
##   1977-STDKI    1
##   1980-KXVPM    1
##   1981-INRFU    1
##   1982-FEBTD    1
##   1984-FCOWB    1
##   1984-GPTEH    1
##   1985-MBRYP    1
##   1986-PHGZF    1
##   1987-AUELQ    1
##   1989-PRJHP    1
##   1991-VOPLL    1
##   1996-DBMUS    1
##   1998-VHJHK    1
##   2000-DHJUY    1
##   2000-MPKCA    1
##   2001-EWBQU    1
##   2001-MCUUW    1
##   2002-MZHWP    1
##   2003-CKLOR    1
##   2004-OCQXK    1
##   2005-DWQZJ    1
##   2007-QVGAW    1
##   2011-TRQYE    1
##   2012-NWRPA    1
##   2013-SGDXK    1
##   2014-MKGMH    1
##   2017-CCBLH    1
##   2018-PZKMU    1
##   2018-QKYGT    1
##   2019-HDCZY    1
##   2023-VQFDL    1
##   2024-BASKD    1
##   2025-JKFWI    1
##   2026-TGDHM    1
##   2027-CWDNU    1
##   2027-DNKIV    1
##   2027-FECZV    1
##   2027-OAQQC    1
##   2027-WKXMW    1
##   2030-BTZRO    1
##   2034-CGRHZ    1
##   2034-GDRCN    1
##   2037-SGXHH    1
##   2037-XJFUP    1
##   2038-LLMLM    1
##   2038-OEQZH    1
##   2038-YSEZE    1
##   2039-JONDJ    1
##   2040-LDIWQ    1
##   2040-OBMLJ    1
##   2040-VZIKE    1
##   2040-XBAVJ    1
##   2041-JIJCI    1
##   2043-WVTQJ    1
##   2045-BMBTJ    1
##   2049-BAFNW    1
##   2050-ONYDQ    1
##   2054-PJOCK    1
##   2055-BFOCC    1
##   2055-PDADH    1
##   2055-SIFSS    1
##   2056-EVGZL    1
##   2057-BOYKM    1
##   2057-ZBLPD    1
##   2058-DCJBE    1
##   2061-VVFST    1
##   2065-MMKGR    1
##   2067-QYTCF    1
##   2068-WWXQZ    1
##   2070-FNEXE    1
##   2070-XYMFH    1
##   2072-ZVJJX    1
##   2073-QBVBI    1
##   2074-GKOWZ    1
##   2074-GUHPQ    1
##   2075-PUEPR    1
##   2075-RMJIK    1
##   2077-DDHJK    1
##   2077-MPJQO    1
##   2079-FBMZK    1
##   2080-CAZNM    1
##   2080-GKCWQ    1
##   2080-SRCDE    1
##   2081-KJSQF    1
##   2081-VEYEH    1
##   2082-CEFLT    1
##   2082-OJVTK    1
##   2085-BOJKI    1
##   2085-JVGAD    1
##   2087-QAREY    1
##   2088-IEBAU    1
##   2091-GPPIQ    1
##   2091-MJTFX    1
##   2091-RFFBA    1
##   2096-XOTMO    1
##   2097-YVPKN    1
##   2100-BDNSN    1
##   2101-RANCD    1
##   2103-ZRXFN    1
##   2105-PHWON    1
##   2107-FBPTK    1
##   2108-GLPQB    1
##   2108-XWMPY    1
##   2108-YKQTY    1
##   2111-DWYHN    1
##   2114-MGINA    1
##   2115-BFTIW    1
##   2120-SMPEX    1
##   2121-JAFOM    1
##   2122-SZZZD    1
##   2122-YWVYA    1
##   2123-AGEEN    1
##   2123-VSCOT    1
##   2126-GSEGL    1
##   2129-ALKBS    1
##   2133-TSRRM    1
##   2135-DQWAQ    1
##   2135-RXIHG    1
##   2137-DQMEV    1
##   2138-VFAPZ    1
##   2139-FQHLM    1
##   2141-RRYGO    1
##   2143-LJULT    1
##   2144-BFDSO    1
##   2144-ESWKO    1
##   2146-EGVDT    1
##   2150-OEGBV    1
##   2150-UWTFY    1
##   2150-WLKUW    1
##   2153-MREFK    1
##   2154-KVJFF    1
##   2155-AMQRX    1
##   2157-MXBJS    1
##   2159-TURXX    1
##   2160-GPFXD    1
##   2162-FRZAA    1
##   2164-SOQXL    1
##   2165-VOEGB    1
##   2167-FQSTQ    1
##   2169-RRLFW    1
##   2171-UDMFD    1
##   2172-EJXVF    1
##   2176-LVPNX    1
##   2176-OSJUV    1
##   2178-PMGCJ    1
##   2180-DXNEG    1
##   2181-TIDSV    1
##   2181-UAESM    1
##   2186-QZEYA    1
##   2187-LZGPL    1
##   2187-PKZAY    1
##   2188-SXWVT    1
##   2189-UXTKY    1
##   2189-WWOEW    1
##   2190-BCXEC    1
##   2190-PHBHR    1
##   2192-CKRLV    1
##   2192-OZITF    1
##   2193-SFWQW    1
##   2194-IIQOF    1
##   2195-VVRJF    1
##   2195-ZRVAX    1
##   2197-OMWGI    1
##   2200-DSAAL    1
##   2202-CUYXZ    1
##   2202-OUTMO    1
##   2203-GHNWN    1
##   2205-LPVGL    1
##   2205-YMZZJ    1
##   2207-NHRJK    1
##   2207-OBZNX    1
##   2207-QPJED    1
##   2207-RYYRL    1
##   2208-MPXIO    1
##   2208-NKVVH    1
##   2208-NQBCT    1
##   2208-UGTGR    1
##   2209-XADXF    1
##   2211-RMNHO    1
##   2212-LYASK    1
##   2215-ZAFGX    1
##   2219-MVUSO    1
##   2220-IAHLS    1
##   2223-GDSHL    1
##   2223-KAGMX    1
##   2225-ZRGSG    1
##   2226-ICFDO    1
##   2227-JRSJX    1
##   2228-BZDEE    1
##   2229-DPMBI    1
##   2229-VWQJH    1
##   2230-XTUWL    1
##   2232-DMLXU    1
##   2233-FAGXV    1
##   2233-TXSIU    1
##   2234-EOFPT    1
##   2234-XADUH    1
##   2235-DWLJU    1
##   2235-EZAIK    1
##   2235-ZGKPT    1
##   2236-HILPA    1
##   2237-ZFSMY    1
##   2239-CFOUJ    1
##   2239-CGBUZ    1
##   2239-JALAW    1
##   2240-HSJQD    1
##   2242-MFOTG    1
##   2243-FNMMI    1
##   2245-ADZFJ    1
##   2249-YPRNG    1
##   2250-IVBWA    1
##   2251-PYLPB    1
##   2252-ISRNH    1
##   2252-JHJGE    1
##   2252-NKNSI    1
##   2253-KPMNB    1
##   2254-DLXRI    1
##   2256-YLYLP    1
##   2257-BOVXD    1
##   2259-OUUSZ    1
##   2260-USTRB    1
##   2262-SLNVK    1
##   2263-SFSQZ    1
##   2265-CYWIV    1
##   2266-FUBDZ    1
##   2266-SJNAT    1
##   2267-FPIMA    1
##   2267-WTPYD    1
##   2270-CHBFN    1
##   2272-JKMSI    1
##   2272-QAGFO    1
##   2272-UOINI    1
##   2272-WUSPA    1
##   2273-QCKXA    1
##   2274-XUATA    1
##   2275-RBYQS    1
##   2276-YDAVZ    1
##   2277-AXSDC    1
##   2277-BKJKN    1
##   2277-DJJDL    1
##   2277-VWCNI    1
##   2279-AXJJK    1
##   2282-YGNOR    1
##   2284-VFLKH    1
##   2292-XQWSV    1
##   2293-IJWPS    1
##   2294-DMMUS    1
##   2294-SALNE    1
##   2296-DKZFP    1
##   2300-RQGOI    1
##   2302-ANTDP    1
##   2302-OUZXB    1
##   2303-PJYHN    1
##   2305-MRGLV    1
##   2307-FYNNL    1
##   2308-STERM    1
##   2309-OSFEU    1
##   2311-QYMUQ    1
##   2314-TNDJQ    1
##   2316-ESMLS    1
##   2320-JRSDE    1
##   2320-SLKMB    1
##   2320-TZRRH    1
##   2320-YKQBO    1
##   2321-OMBXY    1
##   2322-VCZHZ    1
##   2323-ARSVR    1
##   2324-AALNO    1
##   2324-EFHVG    1
##   2325-NBPZG    1
##   2325-WINES    1
##   2325-ZUSFD    1
##   2330-PQGDQ    1
##   2332-EFBJY    1
##   2332-TODQS    1
##   2333-KWEWW    1
##   2335-GSODA    1
##   2338-BQEZT    1
##   2342-CKIAO    1
##   2344-JMOGN    1
##   2346-CZYIL    1
##   2346-DJQTB    1
##   2346-LOCWC    1
##   2347-WKKAE    1
##   2348-KCJLT    1
##   2351-BKRZW    1
##   2351-RRBUE    1
##   2357-COQEK    1
##   2359-KLTEK    1
##   2359-KMGLI    1
##   2359-QWQUL    1
##   2360-RDGRO    1
##   2361-FJWNO    1
##   2361-UPSND    1
##   2362-IBOOY    1
##   2363-BJLSL    1
##   2364-UFROM    1
##   2368-GAKKQ    1
##   2369-FEVNO    1
##   2369-UAPKZ    1
##   2371-JQHZZ    1
##   2371-JUNGC    1
##   2371-KFUOG    1
##   2372-HWUHI    1
##   2373-NTKOD    1
##   2378-HTWFW    1
##   2378-VTKDH    1
##   2378-YIZKA    1
##   2379-ENZGV    1
##   2379-GYFLQ    1
##   2380-DAMQP    1
##   2382-BCKQJ    1
##   2384-OVPSA    1
##   2386-LAHRK    1
##   2386-OWURY    1
##   2387-KDZQY    1
##   2388-LAESQ    1
##   2391-IPLOP    1
##   2391-SOORI    1
##   2393-DIVAI    1
##   2397-BRLOM    1
##   2398-YPMUR    1
##   2400-FEQME    1
##   2400-XIWIO    1
##   2402-TAIRZ    1
##   2403-BCASL    1
##   2404-JIBFC    1
##   2405-LBMUW    1
##   2408-PSJVE    1
##   2408-TZMJL    1
##   2408-WITXK    1
##   2410-CIYFZ    1
##   2418-TPEUN    1
##   2419-FSORS    1
##   2424-WVHPL    1
##   2428-HYUNX    1
##   2428-ZMCTB    1
##   2429-AYKKO    1
##   2430-RRYUW    1
##   2430-USGXP    1
##   2432-TFSMK    1
##   2433-KMEAS    1
##   2434-EEVDB    1
##   2436-QBZFP    1
##   2439-LYPMQ    1
##   2439-QKJUL    1
##   2446-BEGGB    1
##   2446-PLQVO    1
##   2446-ZKVAF    1
##   2450-ZKEED    1
##   2451-YMUXS    1
##   2452-KDRRH    1
##   2452-MRMZF    1
##   2452-SNHFZ    1
##   2453-SAFNS    1
##   2454-RPBRZ    1
##   2455-USLMV    1
##   2458-EOMRE    1
##   2460-FPSYH    1
##   2460-NGXBJ    1
##   2462-XIIJB    1
##   2465-BLLEU    1
##   2466-FCCPT    1
##   2466-NEJOJ    1
##   2468-SJFLM    1
##   2469-DTSGX    1
##   2472-OVKUP    1
##   2474-BRUCM    1
##   2474-LCNUE    1
##   2475-MROZF    1
##   2476-YGEFM    1
##   2478-EEWWM    1
##   2479-BRAMR    1
##   2480-EJWYP    1
##   2480-JZOSN    1
##   2480-SQIOB    1
##   2481-SBOYW    1
##   2482-CZGBB    1
##   2483-XSSMZ    1
##   2484-DGXPZ    1
##   2485-ITVKB    1
##   2486-WYVVE    1
##   2495-INZWQ    1
##   2495-KZNFB    1
##   2495-TTHBQ    1
##   2498-XLDZR    1
##   2499-AJYUA    1
##   2501-XWWTZ    1
##   2504-DSHIH    1
##   2506-CLAKW    1
##   2506-TNFCO    1
##   2507-QZPQS    1
##   2509-TFPJU    1
##   2511-ALLCS    1
##   2511-MORQY    1
##   2514-GINMM    1
##   2516-VQRRV    1
##   2516-XSJKX    1
##   2519-ERQOJ    1
##   2519-FAKOD    1
##   2519-LBNQL    1
##   2519-TWKFS    1
##   2520-SGTTA    1
##   2521-NPUZR    1
##   2522-AHJXR    1
##   2522-WLNSF    1
##   2523-EWWZL    1
##   2525-GVKQU    1
##   2528-HFYZX    1
##   2530-ENDWQ    1
##   2530-FMFXO    1
##   2533-QVMSK    1
##   2533-TIBIX    1
##   2535-PBCGC    1
##   2538-OIMXF    1
##   2541-YGPKE    1
##   2542-HYGIQ    1
##   2545-EBUPK    1
##   2545-LXYVJ    1
##   2546-KZAAT    1
##   2550-AEVRU    1
##   2550-QHZGP    1
##   2558-BUOZZ    1
##   2560-PPCHE    1
##   2560-QTSBS    1
##   2560-WBWXF    1
##   2565-JSLRY    1
##   2568-BRGYX    1
##   2568-OIADY    1
##   2569-WGERO    1
##   2573-GYRUU    1
##   2575-GFSOE    1
##   2576-HXMPA    1
##   2577-GVSIL    1
##   2578-JQPHZ    1
##   2580-ASVVY    1
##   2580-ATZSQ    1
##   2581-VKIRT    1
##   2582-FFFZR    1
##   2585-KTFRE    1
##   2586-CWXVV    1
##   2587-EKXTS    1
##   2587-YNLES    1
##   2589-AYCRP    1
##   2592-HODOV    1
##   2592-SEIFQ    1
##   2592-YKDIF    1
##   2595-KIWPV    1
##   2599-CIPQE    1
##   2599-CZABP    1
##   2603-HVKCG    1
##   2604-IJPDU    1
##   2604-XVDAM    1
##   2606-PKWJB    1
##   2606-RMDHZ    1
##   2607-DHDAK    1
##   2607-FBDFF    1
##   2608-BHKFN    1
##   2609-IAICY    1
##   2612-PHGOX    1
##   2612-RANWT    1
##   2612-RRIDN    1
##   2615-YVMYX    1
##   2616-FLVQC    1
##   2616-UUTFK    1
##   2619-WFQWU    1
##   2621-UDNLU    1
##   2623-DRYAM    1
##   2625-TRCZQ    1
##   2626-URJFX    1
##   2626-VEEWG    1
##   2632-IVXVF    1
##   2632-TACXW    1
##   2632-UCGVD    1
##   2634-HCZGT    1
##   2636-ALXXZ    1
##   2636-OHFMN    1
##   2636-SJDOU    1
##   2637-FKFSY    1
##   2639-UGMAZ    1
##   2640-LYMOV    1
##   2640-PMGFL    1
##   2642-DTVCO    1
##   2642-MAWLJ    1
##   2645-QTLMB    1
##   2649-HWLYB    1
##   2650-GYRYL    1
##   2651-ZCBXV    1
##   2654-VBVPB    1
##   2656-FMOKZ    1
##   2656-TABEH    1
##   2657-ALMWY    1
##   2657-VPXTA    1
##   2659-VXMWZ    1
##   2660-EMUBI    1
##   2661-GKBTK    1
##   2662-NNTDK    1
##   2664-XJZNO    1
##   2665-NPTGL    1
##   2667-WYLWJ    1
##   2668-TZSPS    1
##   2669-OIDSD    1
##   2669-QVCRG    1
##   2672-DZUOY    1
##   2672-HUYVI    1
##   2672-OJQZP    1
##   2672-TGEFF    1
##   2673-CXQEU    1
##   2673-ZALNP    1
##   2674-MIAHT    1
##   2674-MLXMN    1
##   2675-DHUTR    1
##   2675-IJRGJ    1
##   2675-OTVVJ    1
##   2676-ISHSF    1
##   2676-OXPPQ    1
##   2676-SSLTO    1
##   2680-XKKNJ    1
##   2682-KEVRP    1
##   2683-BPJSO    1
##   2683-JXWQQ    1
##   2684-EIWEO    1
##   2685-SREOM    1
##   2688-BHGOG    1
##   2690-DVRVK    1
##   2691-NZETQ    1
##   2692-AQCPF    1
##   2692-BUCFV    1
##   2692-PFYTJ    1
##   2694-CIUMO    1
##   2696-ECXKC    1
##   2696-NARTR    1
##   2696-RZVZW    1
##   2697-NQBPF    1
##   2700-LUEVA    1
##   2703-AMTUL    1
##   2706-QZIHY    1
##   2709-UQGNP    1
##   2710-WYVXG    1
##   2712-SYWAY    1
##   2716-GFZOR    1
##   2717-HVIZY    1
##   2718-GAXQD    1
##   2718-YSKCS    1
##   2719-BDAQO    1
##   2720-FVBQP    1
##   2720-WGKHP    1
##   2722-JMONI    1
##   2722-VOJQL    1
##   2724-FJDYW    1
##   2725-IWWBA    1
##   2725-KXXWT    1
##   2725-TTRIQ    1
##   2729-VNVAP    1
##   2731-GJRDG    1
##   2732-ISEZX    1
##   2737-WFVYW    1
##   2737-YNGYW    1
##   2739-CACDQ    1
##   2739-CCZMB    1
##   2740-JFBOK    1
##   2740-TVLFN    1
##   2746-DIJLO    1
##   2748-MYRVK    1
##   2749-CTKAJ    1
##   2750-BJLSB    1
##   2753-JMMCV    1
##   2754-SDJRD    1
##   2754-VDLTR    1
##   2754-XBHTB    1
##   2758-RNWXS    1
##   2761-OCIAX    1
##   2761-XECQW    1
##   2770-NSVDG    1
##   2773-MADBQ    1
##   2773-OVBPK    1
##   2774-LVQUS    1
##   2775-SEFEE    1
##   2777-PHDEI    1
##   2778-OCLGR    1
##   2782-JEEBU    1
##   2782-LFZVW    1
##   2786-GCDPI    1
##   2788-CJQAQ    1
##   2789-CZANW    1
##   2789-HQBOU    1
##   2790-XUYMV    1
##   2791-SFVEW    1
##   2792-LSHWX    1
##   2792-VPPET    1
##   2794-XIMMO    1
##   2796-NNUFI    1
##   2796-UUZZO    1
##   2798-NYLMZ    1
##   2799-ARNLO    1
##   2799-TSLAG    1
##   2800-QQUSO    1
##   2800-VEQXM    1
##   2801-NISEI    1
##   2804-ETQDK    1
##   2805-AUFQN    1
##   2805-EDJPQ    1
##   2806-MLNTI    1
##   2808-CHTDM    1
##   2809-ILCYT    1
##   2809-ZMYOQ    1
##   2810-FTLEM    1
##   2811-POVEX    1
##   2812-ENYMO    1
##   2812-REYAT    1
##   2812-SFXMJ    1
##   2815-CPTUL    1
##   2817-LVCPP    1
##   2817-NTQDO    1
##   2819-GWENI    1
##   2821-WARNZ    1
##   2823-LKABH    1
##   2824-DXNKN    1
##   2824-MYYBN    1
##   2826-DXLQO    1
##   2826-UWHIS    1
##   2828-SLQPF    1
##   2829-HYVZP    1
##   2830-LEWOA    1
##   2831-EBWRN    1
##   2832-KJCRD    1
##   2832-SCUCO    1
##   2833-SLKDQ    1
##   2834-JKOOW    1
##   2834-JRTUA    1
##   2834-SPCJV    1
##   2839-RFSQE    1
##   2840-XANRC    1
##   2842-BCQGE    1
##   2842-JTCCU    1
##   2843-CQMEG    1
##   2845-AFFTX    1
##   2845-HSJCY    1
##   2845-KDHVX    1
##   2848-YXSMW    1
##   2851-MMUTZ    1
##   2851-STERV    1
##   2853-CWQFQ    1
##   2856-HYAPG    1
##   2856-NNASM    1
##   2858-EIMXH    1
##   2858-MOFSQ    1
##   2860-RANUS    1
##   2862-JVEOY    1
##   2862-PFNIK    1
##   2863-IMQDR    1
##   2865-TCHJW    1
##   2866-IKBTM    1
##   2867-UIMSS    1
##   2868-LLSKM    1
##   2868-MZAGQ    1
##   2868-SNELZ    1
##   2869-ADAWR    1
##   2873-ZLIWT    1
##   2874-YXVVA    1
##   2876-GZYZC    1
##   2876-VBBBL    1
##   2877-VDUER    1
##   2878-DHMIN    1
##   2878-RMWXY    1
##   2880-FPNAE    1
##   2882-DDZPG    1
##   2882-WDTBA    1
##   2883-ILGWO    1
##   2884-GBPFB    1
##   2885-HIJDH    1
##   2886-KEFUM    1
##   2887-JPYLU    1
##   2888-ADFAO    1
##   2889-FPWRM    1
##   2890-WFBHU    1
##   2892-GESUL    1
##   2894-QOJRX    1
##   2896-TBNBE    1
##   2897-DOVND    1
##   2898-LSJGD    1
##   2898-MRKPI    1
##   2900-PHPLN    1
##   2903-YYTBW    1
##   2904-GGUAZ    1
##   2905-KFQUV    1
##   2907-ILJBN    1
##   2908-WGAXL    1
##   2908-ZTPNF    1
##   2911-IJORQ    1
##   2911-UREFD    1
##   2911-WDXMV    1
##   2916-BQZLN    1
##   2919-HBCJO    1
##   2920-RNCEZ    1
##   2921-XWDJH    1
##   2923-ARZLG    1
##   2924-KHUVI    1
##   2925-MXLSX    1
##   2925-VDZHY    1
##   2926-JEJJC    1
##   2927-CVULT    1
##   2927-QRRQV    1
##   2928-HLDBA    1
##   2929-ERCFZ    1
##   2929-QNSRW    1
##   2930-UOTMB    1
##   2931-FSOHN    1
##   2931-SVLTV    1
##   2931-VUVJN    1
##   2931-XIQBR    1
##   2933-FILNV    1
##   2933-XEUJM    1
##   2937-FTHUR    1
##   2946-KIQSP    1
##   2947-DOMLJ    1
##   2951-QOQTK    1
##   2952-QAYZF    1
##   2954-PIBKO    1
##   2955-BJZHG    1
##   2955-PSXOE    1
##   2956-GGUCQ    1
##   2957-JIRMN    1
##   2957-LOLHO    1
##   2958-NHPPS    1
##   2959-EEXWB    1
##   2959-FENLU    1
##   2959-MJHIC    1
##   2960-NKRSO    1
##   2961-VNFKL    1
##   2962-XPMCQ    1
##   2967-MXRAV    1
##   2968-SSGAA    1
##   2969-QWUBZ    1
##   2969-VAPYH    1
##   2969-WGHQO    1
##   2971-SGAFL    1
##   2972-YDYUW    1
##   2974-GGUXS    1
##   2977-CEBSX    1
##   2978-XXSOG    1
##   2979-SXESE    1
##   2982-IHMFT    1
##   2982-VPSGI    1
##   2983-ZANRP    1
##   2984-AFWNC    1
##   2984-MIIZL    1
##   2984-RGEYA    1
##   2984-TBYKU    1
##   2985-FMWYF    1
##   2985-JUUBZ    1
##   2987-BJXIK    1
##   2988-GBIVW    1
##   2988-PLAHS    1
##   2988-QRAJY    1
##   2990-HWIML    1
##   2990-IAJSV    1
##   2990-OGYTD    1
##   2995-UPRYS    1
##   2995-YWTCD    1
##   2996-XAUVF    1
##   2999-AANRQ    1
##   3001-CBHLQ    1
##   3001-UNBTL    1
##   3002-WQZWT    1
##   3003-CMDUU    1
##   3005-NFMTA    1
##   3005-TYFRD    1
##   3006-XIMLN    1
##   3007-FDPEA    1
##   3009-JWMPU    1
##   3011-WQKSZ    1
##   3012-VFFMN    1
##   3014-WJKSM    1
##   3016-KSVCP    1
##   3018-TFTSU    1
##   3021-VLNRJ    1
##   3022-BEXHZ    1
##   3023-GFLBR    1
##   3026-ATZYV    1
##   3027-YNWZU    1
##   3027-ZTDHO    1
##   3030-YDNRM    1
##   3030-YZADT    1
##   3030-ZKIWL    1
##   3034-ZBEQN    1
##   3038-PQIUY    1
##   3039-MJSLN    1
##   3043-SUDUA    1
##   3043-TYBNO    1
##   3045-XETSH    1
##   3049-NDXFL    1
##   3049-SOLAY    1
##   3050-GBUSH    1
##   3050-RLLXC    1
##   3055-MJDSB    1
##   3055-OYMSE    1
##   3055-VTCGS    1
##   3057-VJJQE    1
##   3058-HJCUY    1
##   3058-WQDRE    1
##   3059-NGMXB    1
##   3061-BCKYI    1
##   3062-ICYZQ    1
##   3063-QFSZL    1
##   3066-RRJIO    1
##   3067-SVMTC    1
##   3068-OMWZA    1
##   3069-SSVSN    1
##   3070-BDOQC    1
##   3070-DVEYC    1
##   3070-FNFZQ    1
##   3071-MVJCD    1
##   3071-VBYPO    1
##   3074-GQWYX    1
##   3077-RSNTJ    1
##   3078-ZKNTS    1
##   3079-BCHLN    1
##   3082-VQXNH    1
##   3082-WQRVY    1
##   3082-YVEKW    1
##   3084-DOWLE    1
##   3085-QUOZK    1
##   3086-RUCRN    1
##   3088-FVYWK    1
##   3088-LHEFH    1
##   3090-HAWSU    1
##   3090-LETTY    1
##   3090-QFUVD    1
##   3091-FYHKI    1
##   3092-IGHWF    1
##   3094-JOJAI    1
##   3096-GKWEB    1
##   3096-IZETN    1
##   3096-JRDSO    1
##   3096-WPXBT    1
##   3096-YXENJ    1
##   3097-FQTVJ    1
##   3097-IDVPU    1
##   3097-NNSPB    1
##   3097-NQYSN    1
##   3097-PYWXL    1
##   3099-OONVS    1
##   3104-OWCGK    1
##   3106-ULWFW    1
##   3108-PCCGG    1
##   3113-IWHLC    1
##   3115-CZMZD    1
##   3115-JPJDD    1
##   3118-UHVVQ    1
##   3120-FAZKD    1
##   3125-RAHBV    1
##   3126-WQMGH    1
##   3128-YOVTD    1
##   3129-AAQOU    1
##   3130-ICDUP    1
##   3131-NWVFJ    1
##   3132-TVFDZ    1
##   3133-PZNSR    1
##   3134-DSHVC    1
##   3137-LUPIX    1
##   3137-NYQQI    1
##   3138-BKYAV    1
##   3143-ILDAL    1
##   3143-JQEGI    1
##   3144-AUDBS    1
##   3144-KMTWZ    1
##   3146-JTQHR    1
##   3146-MSEGF    1
##   3148-AOIQT    1
##   3148-BLQJT    1
##   3154-CFSZG    1
##   3154-HMWUU    1
##   3156-QLHBO    1
##   3158-MOERK    1
##   3160-TYXLT    1
##   3161-GETRM    1
##   3161-ONRWK    1
##   3162-KKZXO    1
##   3162-ZJZFU    1
##   3164-AALRN    1
##   3164-YAXFY    1
##   3165-HDOEW    1
##   3166-PNEOF    1
##   3167-SNQPL    1
##   3170-GWYKC    1
##   3170-NMYVV    1
##   3173-NVMPX    1
##   3173-WSSUE    1
##   3174-AKMAS    1
##   3174-RKMOW    1
##   3177-LASXD    1
##   3178-CIFOT    1
##   3178-FESZO    1
##   3179-GBRWV    1
##   3181-MIZBN    1
##   3181-VTHOE    1
##   3186-AJIEK    1
##   3186-BAXNB    1
##   3190-FZATL    1
##   3190-ITQXP    1
##   3190-XFANI    1
##   3191-CSNMG    1
##   3192-LNKRK    1
##   3192-NQECA    1
##   3194-ORPIK    1
##   3195-TQDZX    1
##   3196-NVXLZ    1
##   3197-ARFOY    1
##   3197-NNYNB    1
##   3198-VELRD    1
##   3199-NPKCN    1
##   3199-XGZCY    1
##   3200-MNQTF    1
##   3205-MXZRA    1
##   3207-OYBWH    1
##   3208-YPIOE    1
##   3209-ZPKFI    1
##   3211-AAPKX    1
##   3211-ILJTT    1
##   3212-KXOCR    1
##   3213-VVOLG    1
##   3214-IYUUQ    1
##   3217-FZDMN    1
##   3219-JQRSL    1
##   3221-CJMSG    1
##   3223-DWFIO    1
##   3223-WZWJM    1
##   3224-DFQNQ    1
##   3227-WLKLI    1
##   3229-USWAR    1
##   3230-IUALN    1
##   3230-JCNZS    1
##   3230-WYKIR    1
##   3234-VKACU    1
##   3235-ETOOB    1
##   3237-AJGEH    1
##   3239-TPHPZ    1
##   3243-ZHOHY    1
##   3244-CQPHU    1
##   3244-DCJWY    1
##   3247-MHJKM    1
##   3247-ZVOUO    1
##   3249-VHRIP    1
##   3249-ZPQRG    1
##   3251-YMVWZ    1
##   3253-HKOKL    1
##   3254-YRILK    1
##   3255-GRXMG    1
##   3256-EZDBI    1
##   3258-SANFR    1
##   3258-SYSWS    1
##   3258-ZKPAI    1
##   3259-FDWOY    1
##   3259-KNMRR    1
##   3259-QMXUN    1
##   3261-CQXOL    1
##   3262-EIDHV    1
##   3266-FTKHB    1
##   3269-ATYWD    1
##   3272-VUHPV    1
##   3274-NSDWE    1
##   3275-RHRNE    1
##   3276-HDUEG    1
##   3278-FSIXX    1
##   3279-DYZQM    1
##   3280-MRDOF    1
##   3280-NMUVX    1
##   3282-ZISZV    1
##   3283-WCWXT    1
##   3284-SVCRO    1
##   3285-UCQVC    1
##   3292-PBZEJ    1
##   3295-YVUSR    1
##   3296-SILRA    1
##   3298-QEICA    1
##   3301-LSLWQ    1
##   3301-VKTGC    1
##   3307-TLCUD    1
##   3308-DGHKL    1
##   3308-JSGML    1
##   3308-MHOOC    1
##   3312-UUMZW    1
##   3312-ZWLGF    1
##   3313-QKNKB    1
##   3315-IKYZQ    1
##   3315-TOTBP    1
##   3316-UWXUY    1
##   3317-HRTNN    1
##   3317-VLGQT    1
##   3318-ISQFQ    1
##   3318-NMQXL    1
##   3318-OSATS    1
##   3319-DWOEP    1
##   3320-VEOYC    1
##   3323-CPBWR    1
##   3324-OIRTO    1
##   3325-FUYCG    1
##   3327-YBAKM    1
##   3329-WDIOK    1
##   3331-HQDTW    1
##   3334-CTHOL    1
##   3336-JORSO    1
##   3338-CVVEH    1
##   3339-EAQNV    1
##   3340-QBBFM    1
##   3345-JHUEO    1
##   3345-PBBFH    1
##   3346-BRMIS    1
##   3347-YJZZE    1
##   3348-CFRNX    1
##   3349-ANQNH    1
##   3351-NGXYI    1
##   3351-NQLDI    1
##   3352-ALMCK    1
##   3352-RICWQ    1
##   3354-OADJP    1
##   3359-DSRKA    1
##   3363-DTIVD    1
##   3363-EWLGO    1
##   3365-SAIGS    1
##   3370-GQEAL    1
##   3370-HXOPH    1
##   3372-CDXFJ    1
##   3372-KWFBM    1
##   3373-DIUUN    1
##   3373-YZZYM    1
##   3374-LXDEV    1
##   3374-PZLXD    1
##   3374-TTZTK    1
##   3376-BMGFE    1
##   3378-AJRAO    1
##   3384-CTMSF    1
##   3387-PLKUI    1
##   3387-VATUS    1
##   3389-KTRXV    1
##   3389-YGYAI    1
##   3391-JSQEW    1
##   3392-EHMNK    1
##   3393-FMZPV    1
##   3396-DKDEL    1
##   3397-AVTKU    1
##   3398-FSHON    1
##   3398-GCPMU    1
##   3398-ZOUAA    1
##   3399-BMLVW    1
##   3400-ESFUW    1
##   3401-URHDA    1
##   3402-XRIUO    1
##   3404-JNXAX    1
##   3407-JMJQQ    1
##   3407-QGWLG    1
##   3410-MHHUM    1
##   3410-YOQBQ    1
##   3411-WLRSQ    1
##   3413-BMNZE    1
##   3413-CSSTH    1
##   3413-DHLPB    1
##   3415-TAILE    1
##   3417-TSCIC    1
##   3419-SNJJD    1
##   3420-YJLQT    1
##   3420-ZDBMA    1
##   3422-GALYP    1
##   3422-LYEPQ    1
##   3422-WJOYD    1
##   3423-HHXAO    1
##   3424-NMNBO    1
##   3426-NIYYL    1
##   3427-GGZZI    1
##   3428-MMGUB    1
##   3428-XZMAZ    1
##   3429-IFLEM    1
##   3439-GVUSX    1
##   3440-JPSCL    1
##   3441-CGZJH    1
##   3442-ZHHCC    1
##   3445-HXXGF    1
##   3446-QDSZF    1
##   3450-WXOAT    1
##   3451-VAWLI    1
##   3452-ABWRL    1
##   3452-FLHYD    1
##   3452-GWUIN    1
##   3452-SRFEG    1
##   3453-RTHJQ    1
##   3454-JFUBC    1
##   3457-PQBYH    1
##   3458-IDMFK    1
##   3460-TJBWI    1
##   3462-BJQQA    1
##   3466-BYAVD    1
##   3466-RITXD    1
##   3466-WAESX    1
##   3468-DRVQJ    1
##   3470-BTGQO    1
##   3470-OBUET    1
##   3472-OAOOR    1
##   3472-QPRCH    1
##   3473-XIIIT    1
##   3474-BAFSJ    1
##   3481-JHUZH    1
##   3482-ABPKK    1
##   3486-HOOGQ    1
##   3486-KHMLI    1
##   3486-NPGST    1
##   3487-EARAT    1
##   3488-PGMQJ    1
##   3489-HHPFY    1
##   3489-VSFRD    1
##   3494-JCHRQ    1
##   3496-LFSZU    1
##   3498-LZGQZ    1
##   3500-NSDOA    1
##   3500-RMZLT    1
##   3503-TYDAY    1
##   3506-LCJDC    1
##   3506-OVLKD    1
##   3507-GASNP    1
##   3508-CFVZL    1
##   3508-VLHCZ    1
##   3509-GWQGF    1
##   3511-APPBJ    1
##   3511-BFTJW    1
##   3512-IZIKN    1
##   3518-FSTWG    1
##   3518-PZXZQ    1
##   3519-ZKXGG    1
##   3520-FJGCV    1
##   3521-HTQTV    1
##   3521-MNKLV    1
##   3521-SYVOR    1
##   3522-CDKHF    1
##   3523-BRGUW    1
##   3523-QRQLL    1
##   3524-WQDSG    1
##   3525-DVKFN    1
##   3528-HFRIQ    1
##   3530-CRZSB    1
##   3530-VWVGU    1
##   3533-UVMOM    1
##   3536-IQCTX    1
##   3537-HPKQT    1
##   3537-RYBHH    1
##   3538-WZPHD    1
##   3540-RZJYU    1
##   3541-ZNUHK    1
##   3544-FBCAS    1
##   3545-CNWRG    1
##   3546-GHEAE    1
##   3547-LQRIK    1
##   3549-ZTMNH    1
##   3550-SAHFP    1
##   3551-GAEGL    1
##   3551-HUAZH    1
##   3552-CTCYF    1
##   3556-BVQGL    1
##   3557-HTYWR    1
##   3563-SVYLG    1
##   3565-UNOCC    1
##   3566-CAAYU    1
##   3566-HJGPK    1
##   3566-VVORZ    1
##   3567-PQTSO    1
##   3569-EDBPQ    1
##   3569-JFODW    1
##   3569-VLDHH    1
##   3570-YUEKJ    1
##   3571-DPYUH    1
##   3571-RFHAR    1
##   3572-UOLYZ    1
##   3572-UUHRS    1
##   3577-AMVUX    1
##   3580-GICBM    1
##   3580-HYCSP    1
##   3580-REOAC    1
##   3583-EKAPL    1
##   3583-KRKMD    1
##   3584-WKTTW    1
##   3585-ISXZP    1
##   3585-YNADK    1
##   3587-PMCOY    1
##   3588-WSTTJ    1
##   3589-PPVKW    1
##   3590-TCXTB    1
##   3594-BDSOA    1
##   3594-IVHJZ    1
##   3594-KADLU    1
##   3594-UVONA    1
##   3597-MVHJT    1
##   3597-YASZG    1
##   3604-WLABM    1
##   3605-JISKB    1
##   3606-SBKRY    1
##   3606-TWKGI    1
##   3612-YUNGG    1
##   3612-YVGSJ    1
##   3617-XLSGQ    1
##   3620-EHIMZ    1
##   3620-MWJNE    1
##   3621-CEOVK    1
##   3621-CHYVB    1
##   3623-FQBOX    1
##   3627-FCRDW    1
##   3627-FHKBK    1
##   3629-WEAAM    1
##   3629-ZNKXA    1
##   3633-CDBUW    1
##   3635-JBPSG    1
##   3635-QQRQD    1
##   3638-DIMPH    1
##   3638-VBZTA    1
##   3638-WEABW    1
##   3639-XJHKQ    1
##   3640-JQGJG    1
##   3640-PHQXK    1
##   3642-BYHDO    1
##   3642-GKTCT    1
##   3643-AHCFP    1
##   3644-QXEHN    1
##   3645-DEYGF    1
##   3646-ITDGM    1
##   3647-GMGDH    1
##   3648-GZPHF    1
##   3649-JPUGY    1
##   3653-NCRDJ    1
##   3654-ARMGP    1
##   3655-SNQYZ    1
##   3656-TKRVZ    1
##   3657-COGMW    1
##   3658-KIBGF    1
##   3658-QQJYD    1
##   3662-FXJFO    1
##   3663-MITLP    1
##   3665-JATSN    1
##   3668-QPYBK    1
##   3669-LVWZB    1
##   3669-OYSJI    1
##   3669-WHAFY    1
##   3671-SHRSP    1
##   3672-YITQD    1
##   3675-EQOZA    1
##   3675-YDUPJ    1
##   3677-IYRBF    1
##   3677-TNKIO    1
##   3678-MNGZX    1
##   3679-XASPY    1
##   3680-CTHUH    1
##   3682-YEUWS    1
##   3683-QKIUE    1
##   3685-YLCMQ    1
##   3688-FTHLT    1
##   3689-MOZGR    1
##   3692-JHONH    1
##   3694-DELSO    1
##   3694-GLTJM    1
##   3696-DFHHB    1
##   3696-XRIEN    1
##   3701-SFMUH    1
##   3703-KBKZP    1
##   3703-TTEPD    1
##   3703-VAVCL    1
##   3704-IEAXF    1
##   3705-PSNGL    1
##   3705-RHRFR    1
##   3707-GNWHM    1
##   3707-LRWZD    1
##   3709-OIJEA    1
##   3712-PKXZA    1
##   3714-JTVOV    1
##   3714-NTNFO    1
##   3714-XPXBW    1
##   3716-BDVDB    1
##   3716-LRGXK    1
##   3716-UVSPD    1
##   3717-FDJFU    1
##   3717-LNXKW    1
##   3717-OEAUQ    1
##   3717-OFRTN    1
##   3719-TDVQB    1
##   3720-DBRWL    1
##   3721-CNEYS    1
##   3721-CNZHX    1
##   3721-WKIIL    1
##   3722-WPXTK    1
##   3723-BFBGR    1
##   3724-BSCVH    1
##   3724-UCSHY    1
##   3726-TBHQT    1
##   3727-JEZTU    1
##   3727-OVPRY    1
##   3727-OWVYD    1
##   3727-RJMEO    1
##   3729-OWRVL    1
##   3733-LSYCE    1
##   3733-UOCWF    1
##   3733-ZEECP    1
##   3736-BLEPA    1
##   3737-GCSPV    1
##   3737-XBQDD    1
##   3739-YBWAB    1
##   3740-RLMVT    1
##   3744-ZBHON    1
##   3744-ZRRDZ    1
##   3745-HRPHI    1
##   3746-EUBYR    1
##   3748-FVMZZ    1
##   3750-CKVKH    1
##   3750-RNQKR    1
##   3750-YHRYO    1
##   3751-KTZEL    1
##   3752-CQSJI    1
##   3753-TSEMP    1
##   3754-DXMRT    1
##   3755-JBMNH    1
##   3756-VNWDH    1
##   3757-NJYBX    1
##   3758-CKOQL    1
##   3761-FLYZI    1
##   3763-GCZHZ    1
##   3764-MNMOI    1
##   3765-JXVKY    1
##   3766-EJLFL    1
##   3768-NLUBH    1
##   3768-VHXQO    1
##   3769-MHZNV    1
##   3771-PZOBW    1
##   3774-VBNXY    1
##   3776-EKTKM    1
##   3777-XROBG    1
##   3778-FOAQW    1
##   3779-OSWCF    1
##   3780-DDGSE    1
##   3780-YVMFA    1
##   3785-KTYSH    1
##   3785-NRHYR    1
##   3786-WOVKF    1
##   3787-TRIAL    1
##   3791-LGQCY    1
##   3793-MMFUH    1
##   3794-NFNCH    1
##   3795-CAWEX    1
##   3795-GWTRD    1
##   3796-ENZGF    1
##   3797-FKOGQ    1
##   3797-VTIDR    1
##   3798-EPWRR    1
##   3799-ISUZQ    1
##   3800-LYTRK    1
##   3801-HMYNL    1
##   3803-KMQFW    1
##   3804-RVTGV    1
##   3806-DXQOM    1
##   3806-YAZOV    1
##   3807-BPOMJ    1
##   3807-XHCJH    1
##   3808-HFKDE    1
##   3810-DVDQQ    1
##   3810-PJUHR    1
##   3811-VBYBZ    1
##   3812-LRZIR    1
##   3813-DHBBB    1
##   3814-MLAXC    1
##   3815-SLMEF    1
##   3823-KYNQY    1
##   3824-RHKVR    1
##   3831-YCPUO    1
##   3834-XUIFC    1
##   3836-FZSDJ    1
##   3838-OZURD    1
##   3841-CONLJ    1
##   3841-NFECX    1
##   3842-IYKUE    1
##   3842-QTGDL    1
##   3845-FXCYS    1
##   3845-JHAMY    1
##   3847-BAERP    1
##   3850-OKINF    1
##   3853-LYGAM    1
##   3855-ONCAR    1
##   3858-VOBET    1
##   3858-XHYJO    1
##   3859-CVCET    1
##   3863-IUBJR    1
##   3863-QSTYI    1
##   3865-QBWSJ    1
##   3865-YIOTT    1
##   3865-ZFZIB    1
##   3865-ZYKAD    1
##   3866-MDTUB    1
##   3870-MQAMG    1
##   3870-SPZSI    1
##   3871-IKPYH    1
##   3873-NFTGI    1
##   3873-WOSBC    1
##   3874-EQOEP    1
##   3877-JRJIP    1
##   3878-AVSOQ    1
##   3882-IYOIJ    1
##   3884-HCSWG    1
##   3884-UEBXB    1
##   3886-CERTZ    1
##   3887-PBQAO    1
##   3889-VWBID    1
##   3890-RTCMS    1
##   3891-NLXJB    1
##   3891-PUQOD    1
##   3892-NXAZG    1
##   3893-JRNFS    1
##   3896-RCYYE    1
##   3896-ZVNET    1
##   3898-BSJYF    1
##   3898-GUYTS    1
##   3900-AQPHZ    1
##   3902-FOIGH    1
##   3902-MIVLE    1
##   3904-UKFRE    1
##   3908-BLSYF    1
##   3908-MKIMJ    1
##   3910-MRQOY    1
##   3911-RSNHI    1
##   3913-FCUUW    1
##   3913-RDSJZ    1
##   3914-FDRHP    1
##   3915-ODIYG    1
##   3916-NRPAP    1
##   3920-HIHMQ    1
##   3923-CSIHK    1
##   3926-CUQZX    1
##   3926-YZVVX    1
##   3927-NLNRY    1
##   3930-ZGWVE    1
##   3932-CMDTD    1
##   3932-IJWDZ    1
##   3933-DQPWX    1
##   3934-HXCFZ    1
##   3935-TBRZZ    1
##   3936-QQFLL    1
##   3938-YFPXD    1
##   3941-XTSKM    1
##   3943-KDREE    1
##   3945-GFWQL    1
##   3946-JEWRQ    1
##   3946-MHCZW    1
##   3948-FVVRP    1
##   3948-KXDUF    1
##   3948-XHGNA    1
##   3950-VPYJB    1
##   3951-NJCVI    1
##   3955-JBZZM    1
##   3956-CJUST    1
##   3956-MGXOG    1
##   3957-HHLMR    1
##   3957-LXOLK    1
##   3957-SQXML    1
##   3961-SXAXY    1
##   3963-RYFNS    1
##   3966-HRMZA    1
##   3967-KXAPS    1
##   3967-VQOGC    1
##   3969-GYXEL    1
##   3969-JQABI    1
##   3970-XGJDU    1
##   3973-SKMLN    1
##   3976-BWUCK    1
##   3976-HXHCE    1
##   3976-NLDEZ    1
##   3977-QCRSL    1
##   3978-YNKDD    1
##   3981-QSVQI    1
##   3982-DQLUS    1
##   3982-JGSFD    1
##   3982-XWFZQ    1
##   3985-HOYPM    1
##   3987-KQDDU    1
##   3988-RQIXO    1
##   3990-QYKBE    1
##   3992-YWPKO    1
##   3995-WFCSM    1
##   3996-ZNWYK    1
##   3999-QGRJH    1
##   3999-WRNGR    1
##   4000-VGMQP    1
##   4001-TSBTV    1
##   4002-BQWPQ    1
##   4003-FUSHP    1
##   4003-OCTMP    1
##   4006-HKYHO    1
##   4007-NHVHI    1
##   4009-ALQFH    1
##   4010-YLMVT    1
##   4011-ARPHK    1
##   4012-YCFAI    1
##   4012-ZTHBR    1
##   4013-GUXND    1
##   4013-TLDHQ    1
##   4013-UBXWQ    1
##   4016-BJKTZ    1
##   4018-KJYUY    1
##   4018-PPNDW    1
##   4020-KIUDI    1
##   4021-RQSNY    1
##   4023-RTIQM    1
##   4024-CSNBY    1
##   4026-SKKHW    1
##   4029-HPFVY    1
##   4030-VPZBD    1
##   4032-RMHCI    1
##   4039-HEUNW    1
##   4039-PIMHX    1
##   4043-MKDTV    1
##   4049-ZPALD    1
##   4054-CUMIA    1
##   4056-QHXHZ    1
##   4057-FKCZK    1
##   4059-IIEBK    1
##   4060-LDNLU    1
##   4061-UKJWL    1
##   4062-HBMOS    1
##   4063-EIKNQ    1
##   4065-JJAVA    1
##   4067-HLYQI    1
##   4070-OKWVH    1
##   4072-IPYLT    1
##   4074-SJFFA    1
##   4075-JFPGR    1
##   4075-WKNIU    1
##   4077-CROMM    1
##   4077-HWUYD    1
##   4078-SAYYN    1
##   4079-ULGFR    1
##   4079-VTGLK    1
##   4079-WWQQQ    1
##   4080-IIARD    1
##   4080-OGPJL    1
##   4081-DYXAV    1
##   4083-BFNYK    1
##   4083-EUGRJ    1
##   4086-ATNFV    1
##   4086-WITJG    1
##   4086-YQSNZ    1
##   4088-YLDSU    1
##   4090-KPJIP    1
##   4091-TVOCN    1
##   4092-OFQZS    1
##   4094-NSEDU    1
##   4097-YODCF    1
##   4098-NAUKP    1
##   4102-HLENU    1
##   4102-OQUPX    1
##   4104-PVRPS    1
##   4106-HADHQ    1
##   4109-CYRBD    1
##   4110-PFEUZ    1
##   4111-BNXIF    1
##   4112-LUEIZ    1
##   4114-QMKVN    1
##   4115-BNPJY    1
##   4115-NZRKS    1
##   4115-UMJFQ    1
##   4116-IQRFR    1
##   4116-TZAQJ    1
##   4118-CEVPF    1
##   4119-ZYPZY    1
##   4121-AGSIN    1
##   4123-DVHPH    1
##   4123-FCVCB    1
##   4124-MMETB    1
##   4128-ETESU    1
##   4129-LYCOI    1
##   4130-MZLCC    1
##   4132-KALRO    1
##   4132-POCZS    1
##   4134-BSXLX    1
##   4135-FRWKJ    1
##   4137-BTIKL    1
##   4137-JOPHL    1
##   4138-NAXED    1
##   4139-DETXS    1
##   4139-JPIAM    1
##   4139-SUGLD    1
##   4140-MUHUG    1
##   4140-WJAWW    1
##   4143-HHPMK    1
##   4143-OOBWZ    1
##   4145-UQXUQ    1
##   4146-SVFUD    1
##   4154-AQUGT    1
##   4159-NAAIX    1
##   4160-AMJTL    1
##   4163-HFTUK    1
##   4163-KIUHY    1
##   4163-NCJAK    1
##   4174-LPGTI    1
##   4176-FXYBO    1
##   4176-RELJR    1
##   4177-JPDFU    1
##   4178-EGMON    1
##   4182-BGSIQ    1
##   4183-MYFRB    1
##   4183-WCSEP    1
##   4184-TJFAN    1
##   4184-VODJZ    1
##   4186-ZBUEW    1
##   4187-CINZD    1
##   4188-FRABG    1
##   4188-PCPIG    1
##   4189-NAKJS    1
##   4190-MFLUW    1
##   4191-XOVOM    1
##   4192-GORJT    1
##   4193-IBKSW    1
##   4193-ORFCL    1
##   4194-FJARJ    1
##   4194-WHFCB    1
##   4195-NZGTA    1
##   4195-PNGZS    1
##   4195-SMMNX    1
##   4198-VFOEA    1
##   4199-QHJNM    1
##   4201-JMNGR    1
##   4203-QGNZA    1
##   4208-UFFGW    1
##   4210-QFJMF    1
##   4211-MMAZN    1
##   4213-HKBJO    1
##   4220-TINQT    1
##   4223-BKEOR    1
##   4223-WOZCM    1
##   4226-KKDON    1
##   4227-OJHAL    1
##   4228-ZGYUW    1
##   4229-CZMLL    1
##   4231-LZUYM    1
##   4232-JGKIY    1
##   4234-XTNEA    1
##   4236-UJPWO    1
##   4236-XPXAV    1
##   4237-CLSMM    1
##   4237-RLAQD    1
##   4238-HFHSN    1
##   4238-JSSWH    1
##   4248-HCETZ    1
##   4248-QPAVC    1
##   4250-FDVOU    1
##   4250-WAROZ    1
##   4250-ZBWLV    1
##   4254-QPEDE    1
##   4255-DDUOU    1
##   4256-ZWTZI    1
##   4257-GAESD    1
##   4273-MBHYA    1
##   4274-DRSQT    1
##   4274-OWWYO    1
##   4277-BWBML    1
##   4277-PVRAN    1
##   4277-UDIEF    1
##   4280-DLSHD    1
##   4282-ACRXS    1
##   4282-MSACW    1
##   4282-YMKNA    1
##   4283-FUTGF    1
##   4283-IVYCI    1
##   4285-GYRQC    1
##   4289-DTDKW    1
##   4290-BSXUX    1
##   4291-HPAXL    1
##   4291-HYEBC    1
##   4291-SHSBH    1
##   4291-TPNFG    1
##   4291-YZODP    1
##   4293-ETKAP    1
##   4295-YURET    1
##   4298-OYIFC    1
##   4299-OPXEJ    1
##   4299-SIMNS    1
##   4301-VVZKA    1
##   4302-ZYFEL    1
##   4304-TSPVK    1
##   4304-XUMGI    1
##   4307-KTUMW    1
##   4307-KWMXE    1
##   4310-KEDTB    1
##   4311-QTTAI    1
##   4312-GVYNH    1
##   4312-KFRXN    1
##   4315-MURBD    1
##   4316-XCSLJ    1
##   4317-VTEOA    1
##   4318-RAJVY    1
##   4320-QMLLA    1
##   4322-RCYMT    1
##   4323-ELYYB    1
##   4323-OHFOW    1
##   4323-SADQS    1
##   4324-AHJKS    1
##   4324-BZCKL    1
##   4325-NFSKC    1
##   4328-VUFWD    1
##   4329-YPDDQ    1
##   4332-MUOEZ    1
##   4334-HOWRP    1
##   4335-BSMJS    1
##   4335-UPJSI    1
##   4338-EYCER    1
##   4342-HENTK    1
##   4342-HFXWS    1
##   4343-EJVQB    1
##   4349-GFQHK    1
##   4350-ZTLPI    1
##   4351-QLCSU    1
##   4353-HYOJD    1
##   4355-CVPVS    1
##   4355-HBJHH    1
##   4359-INNWN    1
##   4360-PNRQB    1
##   4360-QRAVE    1
##   4361-BKAXE    1
##   4361-FEBGN    1
##   4361-JEIVL    1
##   4365-MSDYN    1
##   4366-CTOUZ    1
##   4367-NHWMM    1
##   4367-NUYAO    1
##   4369-HTUIF    1
##   4369-NYSCF    1
##   4373-MAVJG    1
##   4373-VVHQL    1
##   4374-YMUSQ    1
##   4376-KFVRS    1
##   4377-VDHYI    1
##   4378-BZYFP    1
##   4378-MYPGO    1
##   4381-MHQDC    1
##   4385-GZQXV    1
##   4385-ZKVNW    1
##   4389-UEFCZ    1
##   4390-KYULV    1
##   4391-LNRXK    1
##   4391-RESHN    1
##   4393-GEADV    1
##   4393-OBCRR    1
##   4393-RYCRE    1
##   4395-PZMSN    1
##   4396-KLSEH    1
##   4397-FRLTA    1
##   4398-HSCJH    1
##   4402-FTBXC    1
##   4403-BWPAY    1
##   4404-HIBDJ    1
##   4412-YLTKF    1
##   4415-IJZTP    1
##   4415-WNGVR    1
##   4418-LZMSV    1
##   4419-UJMUS    1
##   4422-QVIJA    1
##   4423-JWZJN    1
##   4423-YLHDV    1
##   4424-TKOPW    1
##   4425-OWHWB    1
##   4429-WYGFR    1
##   4430-UZIPO    1
##   4430-YHXGG    1
##   4431-EDMIQ    1
##   4432-ADRLB    1
##   4433-JCGCG    1
##   4439-JMPMT    1
##   4439-YRNVD    1
##   4441-NIHPT    1
##   4443-EMBNA    1
##   4445-KWOKW    1
##   4445-ZJNMU    1
##   4446-BZKHU    1
##   4450-DLLMH    1
##   4450-MDZFX    1
##   4450-YOOHP    1
##   4451-RWASJ    1
##   4452-QIIEB    1
##   4452-ROHMO    1
##   4455-BFSPD    1
##   4456-RHSNB    1
##   4458-KVRBJ    1
##   4459-BBGHE    1
##   4462-CYWMH    1
##   4464-JCOLN    1
##   4465-VDKIQ    1
##   4468-KAZHE    1
##   4468-YDOVK    1
##   4471-KXAUH    1
##   4472-LVYGI    1
##   4472-VESGY    1
##   4475-NVTLU    1
##   4476-OSWTN    1
##   4480-MBMLB    1
##   4480-QQRHC    1
##   4482-EWFMI    1
##   4482-FTFFX    1
##   4484-CGXFK    1
##   4484-GLZOU    1
##   4486-EFAEB    1
##   4487-ZYJZK    1
##   4488-KQFDT    1
##   4488-PSYCG    1
##   4489-SNOJF    1
##   4495-LHSSK    1
##   4500-HKANN    1
##   4501-EQDRN    1
##   4501-UYKBC    1
##   4501-VCPFK    1
##   4503-BDXBD    1
##   4504-YOULA    1
##   4505-EXZHB    1
##   4508-OEBEY    1
##   4510-HIMLV    1
##   4510-PYUSH    1
##   4512-ZUIYL    1
##   4513-CXYIX    1
##   4514-GFCFI    1
##   4518-FZBSX    1
##   4521-WFJAI    1
##   4521-YEEHE    1
##   4522-AKYLR    1
##   4522-XRWWI    1
##   4523-WXCEF    1
##   4524-QCSSM    1
##   4525-VZCZG    1
##   4526-EXKKN    1
##   4526-RMTLL    1
##   4526-ZJJTM    1
##   4529-CKBCL    1
##   4530-NDRKU    1
##   4531-AUZNK    1
##   4534-WGCIR    1
##   4536-PLEQY    1
##   4537-CIBHB    1
##   4537-DKTAL    1
##   4538-WNTMJ    1
##   4541-RMRLG    1
##   4544-RXFMG    1
##   4546-FOKWR    1
##   4547-FZJWE    1
##   4547-KQRTM    1
##   4547-LYTDD    1
##   4548-SDBKE    1
##   4549-ZDQYY    1
##   4550-EVXNY    1
##   4550-VBOFE    1
##   4553-DVPZG    1
##   4554-YGZIH    1
##   4558-CGYCZ    1
##   4558-FANTW    1
##   4559-UWIHT    1
##   4560-WQAQW    1
##   4565-EVZMJ    1
##   4565-NLZBV    1
##   4566-GOLUK    1
##   4566-NECEV    1
##   4566-QVRRW    1
##   4567-AKPIA    1
##   4568-KNYWR    1
##   4568-TTZRT    1
##   4570-QHXHL    1
##   4572-DVCGN    1
##   4573-JKNAE    1
##   4576-CSAJH    1
##   4578-PHJYZ    1
##   4580-TMHJU    1
##   4581-LNWUM    1
##   4581-SSPWD    1
##   4583-PARNH    1
##   4584-LBNMK    1
##   4585-HETAI    1
##   4587-NUKOX    1
##   4587-VVTOX    1
##   4588-YBNIB    1
##   4589-IUAJB    1
##   4592-IWTJI    1
##   4597-ELFTS    1
##   4597-NUCQV    1
##   4598-XLKNJ    1
##   4598-ZADCK    1
##   4603-JANFB    1
##   4607-CHPCA    1
##   4608-LCIMN    1
##   4609-KNNWG    1
##   4611-ANLQC    1
##   4612-SSVHJ    1
##   4612-THJBS    1
##   4614-NUVZD    1
##   4615-PIVVU    1
##   4616-EWBNJ    1
##   4616-ULAOA    1
##   4619-EVPHY    1
##   4622-YNKIJ    1
##   4623-ZKHLY    1
##   4625-EWPTF    1
##   4625-LAMOB    1
##   4625-XMOYM    1
##   4626-GYCZP    1
##   4626-OZDTJ    1
##   4627-MIHJH    1
##   4628-CTTLA    1
##   4628-WQCQQ    1
##   4629-NRXKX    1
##   4631-OACRM    1
##   4632-PAOYU    1
##   4632-XJMEX    1
##   4633-MKHYU    1
##   4634-JLRJT    1
##   4635-EJYPD    1
##   4636-JGAAI    1
##   4636-OLWOE    1
##   4636-QRJKY    1
##   4636-TVXVG    1
##   4640-UHDOS    1
##   4641-FROLU    1
##   4644-OBGFZ    1
##   4644-PIZRT    1
##   4646-QZXTF    1
##   4647-MUZON    1
##   4647-XXZAM    1
##   4648-YPBTM    1
##   4652-NNHNY    1
##   4652-ODEVH    1
##   4654-DLAMQ    1
##   4654-GGUII    1
##   4654-ULTTN    1
##   4656-CAURT    1
##   4657-FWVFY    1
##   4658-HCOHW    1
##   4659-NZRUF    1
##   4660-IRIBM    1
##   4661-NJEUX    1
##   4662-EKDPQ    1
##   4664-NJCMS    1
##   4667-OHGKG    1
##   4667-QONEA    1
##   4670-TABXH    1
##   4671-LXRDQ    1
##   4671-VJLCL    1
##   4672-FOTSD    1
##   4673-KKSLS    1
##   4674-HGNUA    1
##   4676-MQUEA    1
##   4676-WLUHT    1
##   4678-DVQEO    1
##   4680-KUTAJ    1
##   4682-BLBUC    1
##   4683-WYDOU    1
##   4685-ERGHK    1
##   4685-TFLLS    1
##   4686-GEFRM    1
##   4686-UXDML    1
##   4690-LLKUA    1
##   4690-PKDQG    1
##   4692-NNQRU    1
##   4693-VWVBO    1
##   4694-PHWFW    1
##   4695-VADHF    1
##   4695-WJZUE    1
##   4697-LUPSU    1
##   4698-KVLLG    1
##   4700-UBQMV    1
##   4701-AHWMW    1
##   4701-LKOZD    1
##   4701-MLJPN    1
##   4702-HDRKD    1
##   4702-IOQDC    1
##   4703-MQYKT    1
##   4704-ERYFC    1
##   4706-AXVKM    1
##   4706-DGAHW    1
##   4707-MAXGU    1
##   4707-YNOQA    1
##   4709-LKHYG    1
##   4710-FDUIZ    1
##   4710-NKCAW    1
##   4712-AUQZO    1
##   4712-UYOOI    1
##   4713-LZDRV    1
##   4713-ZBURT    1
##   4716-HHKQH    1
##   4716-MRVEN    1
##   4717-GHADL    1
##   4718-DHSMV    1
##   4718-WXBGI    1
##   4719-UMSIY    1
##   4720-VSTSI    1
##   4723-BEGSG    1
##   4724-WXVWF    1
##   4726-DLWQN    1
##   4727-MCYZG    1
##   4729-XKASR    1
##   4730-AWNAU    1
##   4732-RRJZC    1
##   4735-ASGMA    1
##   4735-BJKOU    1
##   4737-AQCPU    1
##   4737-HOBAX    1
##   4741-WWJQZ    1
##   4742-DRORA    1
##   4742-TXUEX    1
##   4745-LSPLO    1
##   4747-LCAQL    1
##   4749-OJKQU    1
##   4749-VFKVB    1
##   4750-UKWJK    1
##   4750-ZRXIU    1
##   4751-ERMAN    1
##   4753-PADAS    1
##   4759-PXTAN    1
##   4759-TRPLW    1
##   4760-THGOT    1
##   4760-XOHVN    1
##   4763-PGDPO    1
##   4765-OXPPD    1
##   4767-HZZHQ    1
##   4770-QAZXN    1
##   4770-UEZOX    1
##   4774-HHGGS    1
##   4776-XSKYQ    1
##   4778-IZARL    1
##   4779-ZGICK    1
##   4781-ZXYGU    1
##   4782-OSFXZ    1
##   4785-FCIFB    1
##   4785-NKHCX    1
##   4785-QRJHC    1
##   4786-UKSNZ    1
##   4789-KWMXN    1
##   4791-QRGMF    1
##   4795-KTRTH    1
##   4795-UXVCJ    1
##   4795-WRNVT    1
##   4797-AXPXK    1
##   4797-MIWUM    1
##   4800-CZMPC    1
##   4800-VHZKI    1
##   4801-JZAZL    1
##   4801-KFYKL    1
##   4803-AXVYP    1
##   4803-LBYPN    1
##   4804-NCPET    1
##   4806-DXQCE    1
##   4806-HIPDW    1
##   4806-KEXQR    1
##   4807-IZYOZ    1
##   4808-YNLEU    1
##   4811-JBUVU    1
##   4813-HQMGZ    1
##   4815-GBTCD    1
##   4815-TUMEQ    1
##   4815-YOSUK    1
##   4816-JBHOV    1
##   4816-LXZYW    1
##   4816-OKWNX    1
##   4817-KEQSP    1
##   4817-QRJSX    1
##   4817-VYYWS    1
##   4818-DRBQT    1
##   4818-QIUFN    1
##   4819-HJPIW    1
##   4821-SJHJV    1
##   4821-WQOYN    1
##   4822-LPTYJ    1
##   4822-NGOCH    1
##   4822-RVYBB    1
##   4822-YCXMX    1
##   4824-GUCBY    1
##   4825-FUREZ    1
##   4825-XJGDM    1
##   4826-DXMUP    1
##   4826-TZEVA    1
##   4826-XTSOH    1
##   4827-DPADN    1
##   4827-LTQRJ    1
##   4827-USJHP    1
##   4828-FAZPK    1
##   4829-AUOAX    1
##   4829-ZLJTK    1
##   4830-FAXFM    1
##   4831-EOBFE    1
##   4832-VRBMR    1
##   4833-QTJNO    1
##   4835-YSJMR    1
##   4836-WNFNO    1
##   4837-PZTIC    1
##   4837-QUSFT    1
##   4840-ORQXB    1
##   4844-JJWUY    1
##   4846-WHAFZ    1
##   4847-QNOKA    1
##   4847-TAJYI    1
##   4849-PYRLQ    1
##   4851-BQDNX    1
##   4853-OITSN    1
##   4853-RULSV    1
##   4854-CIDCF    1
##   4854-SSLTN    1
##   4855-SNKMY    1
##   4859-ZSRDZ    1
##   4860-IJUDE    1
##   4860-YZGZM    1
##   4868-AADLV    1
##   4869-EPIUS    1
##   4871-JTKJF    1
##   4872-JCVCA    1
##   4872-VXRIL    1
##   4873-ILOLJ    1
##   4877-EVATK    1
##   4877-TSOFF    1
##   4878-BUNFV    1
##   4879-GZLFH    1
##   4881-GQJTW    1
##   4881-JVQOD    1
##   4883-KCPZJ    1
##   4883-QICIH    1
##   4884-LEVMQ    1
##   4884-TVUQF    1
##   4884-ZTHVF    1
##   4890-VMUAV    1
##   4891-NLUBA    1
##   4892-VLANZ    1
##   4893-GYUJU    1
##   4895-TMWIR    1
##   4896-CPRPF    1
##   4897-QSUYC    1
##   4900-MSOMT    1
##   4902-OHLSK    1
##   4903-CNOZC    1
##   4903-UYAVB    1
##   4905-JEFDW    1
##   4906-ZHGPK    1
##   4908-XAXAY    1
##   4909-JOUPP    1
##   4910-AQFFX    1
##   4910-GMJOT    1
##   4911-BANWH    1
##   4912-PIGUY    1
##   4913-EHYUI    1
##   4915-BFSXL    1
##   4918-FYJNT    1
##   4918-QLLIW    1
##   4919-IKATY    1
##   4919-MOAVT    1
##   4922-CVPDX    1
##   4923-ADWXJ    1
##   4925-LMHOK    1
##   4926-UMJZD    1
##   4927-WWOOZ    1
##   4929-BSTRX    1
##   4929-ROART    1
##   4929-XIHVW    1
##   4931-TRZWN    1
##   4933-BSAIP    1
##   4933-IKULF    1
##   4936-YPJNK    1
##   4937-QPZPO    1
##   4939-KYYPY    1
##   4940-KHCWD    1
##   4942-VZZOM    1
##   4945-RVMTE    1
##   4946-EDSEW    1
##   4947-DSMXK    1
##   4948-WBBKL    1
##   4950-BDEUX    1
##   4950-HKQTE    1
##   4951-UKAAQ    1
##   4952-YSOGZ    1
##   4955-VCWBI    1
##   4957-SREEC    1
##   4957-TIALW    1
##   4957-TREIR    1
##   4958-GZWIY    1
##   4958-XCBDQ    1
##   4959-JOSRX    1
##   4962-CHQPW    1
##   4967-WPNCF    1
##   4971-PUYQO    1
##   4973-MGTON    1
##   4973-RLZVI    1
##   4976-LNFVV    1
##   4979-HPRFL    1
##   4980-URKXC    1
##   4981-FLTMF    1
##   4983-CCWMC    1
##   4983-CLMLV    1
##   4986-MXSFP    1
##   4987-GQWPO    1
##   4988-IQIGL    1
##   4989-LIXVT    1
##   4990-ALDGW    1
##   4992-LTJNE    1
##   4993-JCRGJ    1
##   4994-OBRSZ    1
##   4998-IKFSE    1
##   4999-IEZLT    1
##   5002-GCQFH    1
##   5003-OKNNK    1
##   5003-XZWWO    1
##   5006-MXVRN    1
##   5010-IPEAQ    1
##   5012-YSPJJ    1
##   5013-SBUIH    1
##   5014-GSOUQ    1
##   5014-WUQMG    1
##   5016-ETTFF    1
##   5016-IBERQ    1
##   5016-LIPDW    1
##   5018-GWURO    1
##   5018-HEKFO    1
##   5018-LXQQG    1
##   5019-GQVCR    1
##   5020-ZSTTY    1
##   5022-JNQEQ    1
##   5022-KVDQT    1
##   5025-GOOKI    1
##   5027-QPKTE    1
##   5027-XWQHA    1
##   5027-YOCXN    1
##   5028-GZLDO    1
##   5028-HTLJB    1
##   5032-MIYKT    1
##   5032-USPKF    1
##   5035-BVCXS    1
##   5035-PGZXH    1
##   5038-ETMLM    1
##   5039-LZRQT    1
##   5043-TRZWM    1
##   5044-LRQAQ    1
##   5044-XDPYX    1
##   5046-NUHWD    1
##   5047-LHVLY    1
##   5049-GLYVG    1
##   5049-MUBWG    1
##   5052-PNLOS    1
##   5054-IEXZT    1
##   5055-BRMNE    1
##   5055-MGMGF    1
##   5056-FIMPT    1
##   5057-LCOUI    1
##   5057-RKGLH    1
##   5060-TQUQN    1
##   5061-PBXFW    1
##   5062-CJJKH    1
##   5063-IUOKK    1
##   5066-GFJMM    1
##   5067-DGXLL    1
##   5067-WJEUN    1
##   5067-XJQFU    1
##   5071-FBJFS    1
##   5073-RZGBK    1
##   5073-WXOYN    1
##   5074-FBGHB    1
##   5075-JSDKI    1
##   5076-YVXCM    1
##   5077-DXTCG    1
##   5081-NWSUP    1
##   5084-OOVCJ    1
##   5087-SUURX    1
##   5088-QZLRL    1
##   5089-IFSDP    1
##   5090-EMGTC    1
##   5091-HFAZW    1
##   5092-STPKP    1
##   5093-FEGLU    1
##   5095-AESKG    1
##   5095-ETBRJ    1
##   5099-BAILX    1
##   5103-MHMHY    1
##   5108-ADXWO    1
##   5110-CHOPY    1
##   5115-GZDEL    1
##   5115-SQAAU    1
##   5117-IFGPS    1
##   5117-ZSMHQ    1
##   5118-MUEYH    1
##   5119-KEPFY    1
##   5119-NZPTV    1
##   5120-ZBLAI    1
##   5122-CYFXA    1
##   5124-EOGYE    1
##   5125-CNDSP    1
##   5126-RCXYW    1
##   5127-BZENZ    1
##   5129-HHMZC    1
##   5129-JLPIS    1
##   5130-IEKQT    1
##   5130-YPIRV    1
##   5131-PONJI    1
##   5133-POWUA    1
##   5133-VRSAB    1
##   5134-IKDAY    1
##   5135-GRQJV    1
##   5135-RDDQL    1
##   5136-GFPMB    1
##   5136-KCKGI    1
##   5136-RGMZO    1
##   5138-WVKYJ    1
##   5140-FOMCQ    1
##   5141-ZUVBH    1
##   5143-EGQFK    1
##   5143-WMWOG    1
##   5144-PQCDZ    1
##   5144-TVGLP    1
##   5146-CBVOE    1
##   5146-YYFRZ    1
##   5148-HKFIR    1
##   5148-ORICT    1
##   5149-CUZUJ    1
##   5149-QYTTU    1
##   5149-TGWDZ    1
##   5150-ITWWB    1
##   5150-LJNSR    1
##   5151-HQRDG    1
##   5153-LXKDT    1
##   5153-RTHKF    1
##   5154-VEKBL    1
##   5155-AZQPB    1
##   5156-UMKOW    1
##   5158-RIVOP    1
##   5159-YFPKQ    1
##   5160-UXJED    1
##   5161-UBZXI    1
##   5161-XEUVX    1
##   5167-GBFRE    1
##   5167-ZFFMM    1
##   5168-MQQCA    1
##   5168-MSWXT    1
##   5170-PTRKA    1
##   5171-EPLKN    1
##   5172-MIGPM    1
##   5172-RKOCB    1
##   5173-WXOQV    1
##   5173-ZXXXL    1
##   5174-ITUMV    1
##   5174-RNGBH    1
##   5175-AOBHI    1
##   5175-WLYXL    1
##   5176-LDKUH    1
##   5176-LMJXE    1
##   5176-OLSKT    1
##   5177-RVZNU    1
##   5178-LMXOP    1
##   5180-UCIIQ    1
##   5181-OABFK    1
##   5183-KLYEM    1
##   5183-SNMJQ    1
##   5186-EJEGL    1
##   5186-PEIZU    1
##   5186-SAMNZ    1
##   5188-HGMLP    1
##   5192-EBGOV    1
##   5193-QLVZB    1
##   5195-KPUNQ    1
##   5196-SGOAK    1
##   5196-WPYOW    1
##   5197-LQXXH    1
##   5197-PYEPU    1
##   5197-YPYBZ    1
##   5198-EFNBM    1
##   5198-HQAEN    1
##   5199-FPUSP    1
##   5201-CBWYG    1
##   5201-FRKKS    1
##   5201-USSQZ    1
##   5202-IVJNU    1
##   5203-XEHAX    1
##   5204-HMGYF    1
##   5204-QZXPU    1
##   5206-HPJKM    1
##   5206-XZZQI    1
##   5207-PLSTK    1
##   5208-FVQKB    1
##   5208-HFSBT    1
##   5213-TWWJU    1
##   5214-CHIWJ    1
##   5214-NLTIT    1
##   5215-LNLDJ    1
##   5216-WASFJ    1
##   5219-YIPTK    1
##   5220-AGAAX    1
##   5222-IMUKT    1
##   5222-JCXZT    1
##   5223-UZAVK    1
##   5226-NOZFC    1
##   5227-JSCFE    1
##   5228-EXCET    1
##   5229-DTFYB    1
##   5229-PRWKT    1
##   5231-FIQPA    1
##   5232-NXPAY    1
##   5233-AOZUF    1
##   5233-GEEAX    1
##   5236-PERKL    1
##   5236-XMZJY    1
##   5240-CAOYT    1
##   5240-IJOQT    1
##   5242-UOWHD    1
##   5243-SAOTC    1
##   5244-IRFIH    1
##   5245-VDBUR    1
##   5248-KWLAR    1
##   5248-RPYWW    1
##   5248-YGIJN    1
##   5249-QYHEX    1
##   5256-SKJGO    1
##   5260-UMPWX    1
##   5261-QSHQM    1
##   5266-PFRQK    1
##   5268-DSMNQ    1
##   5269-NRGDP    1
##   5271-DBYSJ    1
##   5271-YNWVR    1
##   5274-XHAKY    1
##   5275-PMFUT    1
##   5275-SQEIZ    1
##   5276-KQWHG    1
##   5277-ZLOOR    1
##   5278-PNYOX    1
##   5281-BUZGT    1
##   5285-MVEHD    1
##   5286-YHCVC    1
##   5287-QWLKY    1
##   5288-AHOUP    1
##   5293-WXJAK    1
##   5294-CDGWY    1
##   5294-DMSFH    1
##   5294-IMHHT    1
##   5295-PCJOO    1
##   5296-BFCYD    1
##   5296-PSYVW    1
##   5297-MDOIR    1
##   5298-GSTLM    1
##   5299-RULOA    1
##   5299-SJCZT    1
##   5301-GAUUY    1
##   5302-BDJNT    1
##   5304-EFJLP    1
##   5306-BVTKJ    1
##   5307-DZCVC    1
##   5307-UVGNB    1
##   5309-TAIKL    1
##   5310-NOOVA    1
##   5311-IHLEI    1
##   5312-IRCFR    1
##   5312-TSZVC    1
##   5312-UXESG    1
##   5313-FPXWG    1
##   5315-CKEQK    1
##   5317-FLPJF    1
##   5318-IXUZF    1
##   5318-YKDPV    1
##   5320-BRKGK    1
##   5321-NTRKC    1
##   5322-TEUJK    1
##   5322-ZSMZY    1
##   5324-KTGCG    1
##   5325-UWTWJ    1
##   5327-CNLUQ    1
##   5327-XOKKY    1
##   5329-KRDTM    1
##   5331-RGMTT    1
##   5334-AFQJB    1
##   5334-JLAXU    1
##   5336-UFNZP    1
##   5337-IIWKZ    1
##   5338-YHWYT    1
##   5339-PXDVH    1
##   5339-TJFEK    1
##   5343-SGUBI    1
##   5345-BMKWB    1
##   5346-BZCHP    1
##   5348-CAGXB    1
##   5349-AZPEW    1
##   5349-IECLD    1
##   5351-QESIO    1
##   5353-WILCI    1
##   5356-CSVSQ    1
##   5356-KZCKT    1
##   5356-RHIPP    1
##   5357-TZHPP    1
##   5360-LJCNJ    1
##   5360-XGYAZ    1
##   5364-EVNIB    1
##   5364-XYIRR    1
##   5365-LLFYV    1
##   5366-IJEQJ    1
##   5366-OBVMR    1
##   5370-IIVVL    1
##   5371-VYLSX    1
##   5372-FBKBN    1
##   5373-SFODM    1
##   5375-XLDOF    1
##   5376-DEQCP    1
##   5376-PCKNB    1
##   5377-NDTOU    1
##   5378-IKEEG    1
##   5380-AFSSK    1
##   5380-WJKOV    1
##   5380-XPJNZ    1
##   5382-SOYZL    1
##   5382-TEMLV    1
##   5383-MMTWC    1
##   5384-ZTTWP    1
##   5385-SUIRI    1
##   5386-THSLQ    1
##   5387-ASZNZ    1
##   5389-FFVKB    1
##   5392-AKEMH    1
##   5393-HJZSM    1
##   5393-RXQSZ    1
##   5394-MEITZ    1
##   5394-SVGJV    1
##   5396-IZEPB    1
##   5397-NSKQG    1
##   5397-TUPSH    1
##   5399-ZIMKF    1
##   5402-HTOTQ    1
##   5404-GGUKR    1
##   5405-ZMYXQ    1
##   5406-KGRMX    1
##   5414-OFQCB    1
##   5419-CONWX    1
##   5419-JKZNQ    1
##   5419-JPRRN    1
##   5419-KLXBN    1
##   5423-BHIXO    1
##   5424-RLQLC    1
##   5429-LWCMV    1
##   5433-KYGHE    1
##   5438-QMDDL    1
##   5439-WIKXB    1
##   5440-FLBQG    1
##   5440-VHLUL    1
##   5442-BHQNG    1
##   5442-BXVND    1
##   5442-PPTJY    1
##   5442-UTCVD    1
##   5442-XSDCW    1
##   5443-SCMKX    1
##   5445-GLVOT    1
##   5445-PZWGX    1
##   5445-UTODQ    1
##   5446-DKWYW    1
##   5447-VYTKW    1
##   5447-WZAFP    1
##   5448-VWNAM    1
##   5449-FIBXJ    1
##   5451-MHQOF    1
##   5451-YHYPW    1
##   5453-AXEPF    1
##   5453-YBTWV    1
##   5456-ITGIC    1
##   5457-COLHT    1
##   5458-CQJTA    1
##   5461-QKNTN    1
##   5465-BUBFA    1
##   5468-BPMMO    1
##   5469-CTCWN    1
##   5469-NUJUR    1
##   5472-CVMDX    1
##   5473-KHBPS    1
##   5474-LAMUQ    1
##   5478-JJVZK    1
##   5480-HPRRX    1
##   5480-TBGPH    1
##   5480-XTFFL    1
##   5481-NTDOH    1
##   5482-NUPNA    1
##   5482-PLVPE    1
##   5482-VXSXJ    1
##   5485-ITNPC    1
##   5485-WUYWF    1
##   5493-SDRDQ    1
##   5494-HECPR    1
##   5494-WOZRZ    1
##   5495-GPSRW    1
##   5498-IBWPI    1
##   5498-TXHLF    1
##   5499-ECUTN    1
##   5501-TVMGM    1
##   5502-RLUYV    1
##   5504-WSIUR    1
##   5505-OVWQW    1
##   5510-BOIUJ    1
##   5512-IDZEI    1
##   5514-YQENT    1
##   5515-AKOAJ    1
##   5515-IDEJJ    1
##   5515-RUGKN    1
##   5519-NPHVG    1
##   5519-TEEUH    1
##   5519-YLDGW    1
##   5520-FVEWJ    1
##   5522-JBWMO    1
##   5522-NYKPB    1
##   5524-KHNJP    1
##   5527-ACHSO    1
##   5529-GIBVH    1
##   5533-NHFRF    1
##   5533-RJFTJ    1
##   5536-RTPWK    1
##   5536-SLHPM    1
##   5537-UXXVS    1
##   5539-HIVAK    1
##   5539-TMZLF    1
##   5542-DHSXL    1
##   5542-NKVRU    1
##   5542-TBBWB    1
##   5543-QDCRY    1
##   5546-BYZSM    1
##   5546-QUERU    1
##   5549-ZGHFB    1
##   5550-VFRLC    1
##   5552-ZNFSJ    1
##   5553-AOINX    1
##   5555-RNPGT    1
##   5561-NWEVX    1
##   5562-BETPV    1
##   5562-YJQGT    1
##   5564-NEMQO    1
##   5565-FILXA    1
##   5566-SOEZD    1
##   5567-GZKQY    1
##   5567-WSELE    1
##   5568-DMXZS    1
##   5569-IDSEY    1
##   5569-KGJHX    1
##   5569-OUICF    1
##   5570-PTWEH    1
##   5572-ZDXHY    1
##   5574-NXZIU    1
##   5575-GNVDE    1
##   5575-TPIZQ    1
##   5577-OTWWW    1
##   5578-NKCXI    1
##   5583-EJXRD    1
##   5583-SXDAG    1
##   5590-BYNII    1
##   5590-YRFJT    1
##   5590-ZSKRV    1
##   5593-SUAOO    1
##   5597-GLBUC    1
##   5598-IKHQQ    1
##   5599-HVLTW    1
##   5600-KTXFM    1
##   5600-PDUJF    1
##   5602-BVFMK    1
##   5605-IYGFG    1
##   5605-XNWEN    1
##   5606-AMZBO    1
##   5609-CEBID    1
##   5609-IMCGG    1
##   5614-DNZCE    1
##   5616-PRTNT    1
##   5619-PTMIK    1
##   5619-XZZKR    1
##   5622-UEJFI    1
##   5624-BQSSA    1
##   5624-RYAMH    1
##   5626-MGTUK    1
##   5627-TVBPP    1
##   5628-FCGYG    1
##   5628-RKIFK    1
##   5630-AHZIL    1
##   5630-IXDXV    1
##   5639-NTUPK    1
##   5640-CAXOA    1
##   5641-DMBFJ    1
##   5642-MHDQT    1
##   5644-PDMZC    1
##   5647-FXOTP    1
##   5647-URDKA    1
##   5649-ANRML    1
##   5649-RXQTV    1
##   5649-TJHOV    1
##   5649-VUKMC    1
##   5650-VDUDS    1
##   5650-YLIBA    1
##   5651-CPDND    1
##   5651-CRHKQ    1
##   5651-WYIPH    1
##   5651-YLPRD    1
##   5652-MSDEY    1
##   5655-JSMZM    1
##   5656-JAMLX    1
##   5656-MJEFC    1
##   5663-QBGIS    1
##   5666-CYCYZ    1
##   5666-MBJPT    1
##   5668-MEISB    1
##   5669-SRAIP    1
##   5671-RQRLP    1
##   5671-UUNXD    1
##   5673-FSSMF    1
##   5673-TIYIB    1
##   5676-CFLYY    1
##   5678-VFNEQ    1
##   5680-LQOGP    1
##   5681-LLOEI    1
##   5684-FJVYR    1
##   5685-IIXLY    1
##   5686-CMAWK    1
##   5687-DKDTV    1
##   5688-KZTSN    1
##   5692-FPTAH    1
##   5692-ICXLW    1
##   5693-PIPCS    1
##   5696-CEIQJ    1
##   5696-EXCYS    1
##   5696-JVVQY    1
##   5696-QURRL    1
##   5697-GOMBF    1
##   5698-BQJOH    1
##   5699-BNCAS    1
##   5701-GUXDC    1
##   5701-SVCWR    1
##   5701-YVSVF    1
##   5701-ZIKJE    1
##   5702-KVQRD    1
##   5702-SKUOB    1
##   5707-ORNDZ    1
##   5707-ZMDJP    1
##   5708-EVONK    1
##   5709-LVOEQ    1
##   5712-AHQNN    1
##   5712-PTIWW    1
##   5712-VBOXD    1
##   5716-EZXZN    1
##   5716-LIBJC    1
##   5724-BIDBU    1
##   5726-CVNYA    1
##   5727-MYATE    1
##   5729-KLZAR    1
##   5730-DBDSI    1
##   5730-RIITO    1
##   5732-IKGQH    1
##   5734-EJKXG    1
##   5736-YEJAX    1
##   5740-YHGTW    1
##   5743-KHMNA    1
##   5747-PMBSQ    1
##   5748-RNCJT    1
##   5751-USDBL    1
##   5753-QQWPW    1
##   5756-JYOJT    1
##   5756-OZRIO    1
##   5759-RCVCB    1
##   5760-FXFVO    1
##   5760-IFJOZ    1
##   5760-WRAHC    1
##   5762-TJXGK    1
##   5766-FTRTS    1
##   5766-XQXMQ    1
##   5766-ZJYBB    1
##   5774-QPLTF    1
##   5774-XZTQC    1
##   5777-KJIRB    1
##   5777-ZPQNC    1
##   5778-BVOFB    1
##   5780-INQIK    1
##   5781-BKHOP    1
##   5781-RFZRP    1
##   5787-KXGIY    1
##   5788-YPOEG    1
##   5789-LDFXO    1
##   5791-KAJFD    1
##   5792-JALQC    1
##   5793-YOLJN    1
##   5795-BKOYE    1
##   5795-KTGUD    1
##   5797-APWZC    1
##   5799-JRCZO    1
##   5802-ADBRC    1
##   5803-NQJZO    1
##   5804-HYIEZ    1
##   5804-JMYIO    1
##   5804-LEPIM    1
##   5808-TOTXO    1
##   5811-IWXYM    1
##   5813-UECBU    1
##   5815-HGGHV    1
##   5816-JMLGY    1
##   5816-QVHRX    1
##   5816-SCGFC    1
##   5820-PTRYM    1
##   5821-MMEIL    1
##   5825-XJOCM    1
##   5827-MWCZK    1
##   5828-AVIPD    1
##   5828-DWPIL    1
##   5829-NVSQN    1
##   5832-EXGTT    1
##   5832-TRLPB    1
##   5832-XKAES    1
##   5834-ASPWA    1
##   5835-BEQEU    1
##   5837-LXSDN    1
##   5839-SUYVZ    1
##   5840-NVDCG    1
##   5842-POCOP    1
##   5843-TTHGI    1
##   5844-QVTAT    1
##   5845-BZZIB    1
##   5846-ABOBJ    1
##   5846-NEQVZ    1
##   5846-QFDFI    1
##   5847-MXBEO    1
##   5848-FHRFC    1
##   5849-ASHZJ    1
##   5850-BDWCY    1
##   5854-KSRBJ    1
##   5855-EIBDE    1
##   5857-TYBCJ    1
##   5857-XRECV    1
##   5858-EAFCZ    1
##   5859-HZYLF    1
##   5862-BRIXZ    1
##   5863-OOKCL    1
##   5868-CZJDR    1
##   5868-YTYKS    1
##   5868-YWPDW    1
##   5871-DGTXZ    1
##   5872-OEQNH    1
##   5875-YPQFJ    1
##   5876-HZVZM    1
##   5876-QMYLD    1
##   5879-HMFFH    1
##   5879-SESNB    1
##   5882-CMAZQ    1
##   5883-GTGVD    1
##   5884-FBCTL    1
##   5884-GCYMI    1
##   5886-VLQVU    1
##   5887-IKKYO    1
##   5889-JTMUL    1
##   5889-LFOLL    1
##   5893-KCLGT    1
##   5893-PYOLZ    1
##   5895-QSXOD    1
##   5896-NPFWW    1
##   5897-ZYEKH    1
##   5898-IGSLP    1
##   5899-MQZZL    1
##   5899-OUVKV    1
##   5902-WBLSE    1
##   5906-BFOZT    1
##   5906-CVLHP    1
##   5906-DVAPM    1
##   5908-QMGOE    1
##   5909-ECHUI    1
##   5913-INRQV    1
##   5914-DVBWJ    1
##   5914-GXMDA    1
##   5914-XRFQB    1
##   5915-ANOEI    1
##   5915-DGNVC    1
##   5916-QEWPT    1
##   5917-HBSDW    1
##   5917-RYRMG    1
##   5918-VUKWP    1
##   5919-TMRGD    1
##   5919-VCZYM    1
##   5921-NGYRH    1
##   5922-ABDVO    1
##   5923-GXUOC    1
##   5924-IFQTT    1
##   5924-SNGKP    1
##   5928-QLDHB    1
##   5930-GBIWP    1
##   5931-FLJJF    1
##   5934-RMPOV    1
##   5934-TSSAU    1
##   5935-FCCNB    1
##   5937-EORGB    1
##   5939-SXWHM    1
##   5939-XAIXZ    1
##   5940-AHUHD    1
##   5940-NFXKV    1
##   5944-UGLLK    1
##   5945-AZYHT    1
##   5947-SGKCL    1
##   5948-UJZLF    1
##   5949-EBSQK    1
##   5949-HGVJL    1
##   5949-XIKAE    1
##   5950-AAAGJ    1
##   5951-AOFIH    1
##   5954-BDFSG    1
##   5955-EPOAZ    1
##   5955-ERIHD    1
##   5956-VKDTT    1
##   5956-YHHRX    1
##   5959-BELXA    1
##   5960-MVTUK    1
##   5960-WPXQM    1
##   5961-VUSRV    1
##   5965-GGPRW    1
##   5966-EMAZU    1
##   5968-HYJRZ    1
##   5968-VXZLG    1
##   5968-XQIVE    1
##   5970-GHJAW    1
##   5973-EJGDP    1
##   5975-BAICR    1
##   5976-JCJRH    1
##   5977-CKHON    1
##   5980-BDHPY    1
##   5980-NOPLP    1
##   5981-ITEMU    1
##   5981-ZVXOT    1
##   5982-FPVQN    1
##   5982-PSMKW    1
##   5982-XMDEX    1
##   5985-BEHZK    1
##   5985-TBABQ    1
##   5986-WWXDV    1
##   5989-AXPUC    1
##   5989-OMNJE    1
##   5989-PGKJB    1
##   5993-BQHEA    1
##   5993-JSUWV    1
##   5995-LFTLE    1
##   5995-OIGLP    1
##   5995-SNNEW    1
##   5995-WWKKG    1
##   5996-DAOQL    1
##   5996-EBTKM    1
##   5996-NRVXR    1
##   5997-OPVFA    1
##   5998-DZLYR    1
##   5998-VVEJY    1
##   5999-LCXAO    1
##   6000-APYLU    1
##   6000-UKLWI    1
##   6005-OBZPH    1
##   6007-TCTST    1
##   6008-NAIXK    1
##   6010-DDPPW    1
##   6013-BHCAW    1
##   6015-VVHHE    1
##   6016-LVTJQ    1
##   6016-NXBNJ    1
##   6017-PPLPX    1
##   6022-KOUQO    1
##   6022-UGGSO    1
##   6023-GSSXW    1
##   6023-YEBUP    1
##   6024-RUGGH    1
##   6029-CSMJE    1
##   6029-WTIPC    1
##   6030-REHUX    1
##   6032-IGALN    1
##   6032-KRXXO    1
##   6034-YMTOB    1
##   6034-ZRYCV    1
##   6035-BXTTY    1
##   6035-RIIOM    1
##   6036-TTFYU    1
##   6038-GCYEC    1
##   6040-CGACY    1
##   6047-SUHPR    1
##   6047-YHPVI    1
##   6048-NJXHX    1
##   6048-QBXKL    1
##   6048-UWKAL    1
##   6050-FFXES    1
##   6050-IJRHS    1
##   6051-PTVNS    1
##   6060-DRTNL    1
##   6060-QBMGV    1
##   6061-GWWAV    1
##   6061-PQHMK    1
##   6064-PUPMC    1
##   6064-ZATLR    1
##   6067-NGCEU    1
##   6072-NUQCB    1
##   6075-QMNRR    1
##   6075-SLNIL    1
##   6077-BDPXA    1
##   6078-VESFR    1
##   6080-LNESI    1
##   6080-TCMYC    1
##   6082-GLJIX    1
##   6082-OQFBA    1
##   6086-ESGRL    1
##   6087-MVHJH    1
##   6087-YPWHO    1
##   6088-BXMRG    1
##   6092-QZVPP    1
##   6094-ZIVKX    1
##   6096-EGVTU    1
##   6097-EQISJ    1
##   6100-FJZDG    1
##   6100-QQHEB    1
##   6101-IMRMM    1
##   6103-BOCOU    1
##   6103-LIANB    1
##   6103-QCKFX    1
##   6108-OQZDQ    1
##   6110-OHIHY    1
##   6112-KTHFQ    1
##   6114-TCFID    1
##   6115-ZTBFQ    1
##   6116-RFVHN    1
##   6119-SPUDB    1
##   6120-RJKLU    1
##   6121-TNHBO    1
##   6121-VZNQB    1
##   6122-EFVKN    1
##   6122-LJADA    1
##   6124-ACRHJ    1
##   6127-ISGTU    1
##   6127-IYJOZ    1
##   6128-AQBMT    1
##   6128-CZOMY    1
##   6128-DAFVY    1
##   6131-FOYAS    1
##   6131-IUNXN    1
##   6131-JLWZM    1
##   6133-OZILE    1
##   6134-KWTBV    1
##   6135-OZQVA    1
##   6137-MFAJN    1
##   6137-NICCO    1
##   6139-ZZRBQ    1
##   6140-QNRQQ    1
##   6141-OOXUQ    1
##   6142-VSJQO    1
##   6143-JQKEA    1
##   6145-NNPNO    1
##   6147-CBCRA    1
##   6152-ONASV    1
##   6156-UZDLF    1
##   6158-DWPZT    1
##   6158-HDPXZ    1
##   6161-ERDGD    1
##   6161-UUUTA    1
##   6164-HAQTX    1
##   6164-HXUGH    1
##   6166-ILMNY    1
##   6166-YIPFO    1
##   6168-WFVVF    1
##   6168-YBYNP    1
##   6169-PGNCD    1
##   6169-PPETC    1
##   6171-ZTVYB    1
##   6172-FECYY    1
##   6173-GOLSU    1
##   6173-ITPWD    1
##   6174-NRBTZ    1
##   6175-IRFIT    1
##   6176-YJWAS    1
##   6177-PEVRA    1
##   6178-KFNHS    1
##   6179-GJPSO    1
##   6180-YBIQI    1
##   6181-AXXYF    1
##   6184-DYUOB    1
##   6185-TASNN    1
##   6188-UXBBR    1
##   6194-HBGQN    1
##   6195-MELTI    1
##   6196-HBOBZ    1
##   6198-PNNSZ    1
##   6198-RTPMF    1
##   6198-ZFIOJ    1
##   6199-IPCAO    1
##   6199-IWKGC    1
##   6202-DYYFX    1
##   6202-JVYEU    1
##   6203-HBZPA    1
##   6204-IEUXJ    1
##   6207-WIOLX    1
##   6210-KBBPI    1
##   6211-WHMYA    1
##   6211-WWLTF    1
##   6212-ATMLK    1
##   6214-EDAKZ    1
##   6215-NQCPY    1
##   6217-KDYWC    1
##   6217-TOWGS    1
##   6218-KNUBD    1
##   6221-AVQYL    1
##   6223-DHJGV    1
##   6227-FBDXH    1
##   6227-HWPWX    1
##   6229-LSCKB    1
##   6229-UOLQL    1
##   6230-BSUXY    1
##   6231-WFGFH    1
##   6233-HXJMX    1
##   6234-PFPXL    1
##   6234-RAAPL    1
##   6235-VDHOM    1
##   6240-EURKS    1
##   6242-FEGFD    1
##   6242-MBHPK    1
##   6242-SGYTS    1
##   6243-OZGFH    1
##   6244-BESBM    1
##   6248-BSHKG    1
##   6248-TKCQV    1
##   6250-CGGUN    1
##   6252-DFGTK    1
##   6253-GNHWH    1
##   6253-WRFHY    1
##   6257-DTAYD    1
##   6257-RJOHI    1
##   6258-NGCNG    1
##   6258-PVZWJ    1
##   6259-WJQLC    1
##   6260-ONULR    1
##   6260-XLACS    1
##   6261-LHRTG    1
##   6261-RCVNS    1
##   6265-FRMTQ    1
##   6265-SXWBU    1
##   6266-QHOJZ    1
##   6267-DCFFZ    1
##   6270-OMFIW    1
##   6275-YDUVO    1
##   6278-FEPBZ    1
##   6281-FKEWS    1
##   6283-GITPX    1
##   6284-AHOOQ    1
##   6284-KMNUF    1
##   6285-FTQBF    1
##   6286-SUUWT    1
##   6286-ZHAOK    1
##   6288-CHQJB    1
##   6288-LBEAR    1
##   6289-CPNLD    1
##   6292-TOSSS    1
##   6295-OSINB    1
##   6296-DDOOR    1
##   6297-NOOPG    1
##   6298-QDFNH    1
##   6300-BWMJX    1
##   6302-JGYRJ    1
##   6303-KFWSL    1
##   6304-IJFSQ    1
##   6305-YLBMM    1
##   6308-CQRBU    1
##   6311-UEUME    1
##   6313-GIDIT    1
##   6317-YPKDH    1
##   6319-IEJWJ    1
##   6319-QSUSR    1
##   6322-HRPFA    1
##   6322-PJJDJ    1
##   6323-AYBRX    1
##   6326-MTTXK    1
##   6328-ZPBGN    1
##   6330-JKLPC    1
##   6331-EWIEB    1
##   6331-LWDTQ    1
##   6332-FBZRI    1
##   6333-YDVLT    1
##   6338-AVWCY    1
##   6339-DKLMK    1
##   6339-RZCBJ    1
##   6339-TBELP    1
##   6339-YPSAH    1
##   6340-DACFT    1
##   6341-AEVKX    1
##   6341-JVQGF    1
##   6344-SFJVH    1
##   6345-FZOQH    1
##   6345-HOVES    1
##   6345-ULYRW    1
##   6347-DCUIK    1
##   6348-SNFUS    1
##   6349-JDHQP    1
##   6350-XFYGW    1
##   6351-SCJKT    1
##   6352-GIGGQ    1
##   6352-TWCAU    1
##   6353-BRMMA    1
##   6356-ELRKD    1
##   6357-JJPQT    1
##   6358-LYNGM    1
##   6360-SVNWV    1
##   6362-QHAFM    1
##   6365-HITVU    1
##   6365-MTGZX    1
##   6366-XIVKZ    1
##   6366-ZGQGL    1
##   6368-NWMCE    1
##   6368-TZZDT    1
##   6369-MCAKO    1
##   6370-ZVHDV    1
##   6371-NZYEG    1
##   6372-RFVNS    1
##   6374-AFWOX    1
##   6374-NTQLP    1
##   6376-GAHQE    1
##   6377-KSLXC    1
##   6377-WHAOX    1
##   6379-RXJRQ    1
##   6380-ARCEH    1
##   6383-ZTSIW    1
##   6384-VMJHP    1
##   6386-SZZKH    1
##   6388-TABGU    1
##   6390-DSAZX    1
##   6393-WRYZE    1
##   6394-HHHZM    1
##   6394-MFYNG    1
##   6397-JNZZG    1
##   6400-BWQKW    1
##   6402-EJMWF    1
##   6402-SSEJG    1
##   6402-ZFPPI    1
##   6407-GSJNL    1
##   6407-UTSLV    1
##   6408-OTUBZ    1
##   6408-WHTEF    1
##   6410-LEFEN    1
##   6413-XKKPU    1
##   6416-JNVRK    1
##   6416-TVAIH    1
##   6416-YJTTB    1
##   6418-HNFED    1
##   6418-PIQSP    1
##   6419-ZTTLE    1
##   6421-SZVEM    1
##   6424-ELEYH    1
##   6425-JWTDV    1
##   6425-YQLLO    1
##   6427-FEFIG    1
##   6429-SHBCB    1
##   6432-TWQLB    1
##   6434-TTGJP    1
##   6435-SRWBJ    1
##   6435-VWCCY    1
##   6437-UDQJM    1
##   6437-UKHMV    1
##   6439-GTPCA    1
##   6439-LAJXL    1
##   6439-PKTRR    1
##   6440-DKQGE    1
##   6445-TNRXS    1
##   6447-EGDIV    1
##   6447-GORXK    1
##   6457-GIRWB    1
##   6457-USBER    1
##   6458-CYIDZ    1
##   6461-PPAXN    1
##   6461-SZMCV    1
##   6463-HHXJR    1
##   6463-MVYRY    1
##   6464-KEXXH    1
##   6465-GSRCL    1
##   6467-CHFZW    1
##   6469-MRVET    1
##   6469-QJKZW    1
##   6473-ULUHT    1
##   6474-FVJLC    1
##   6475-VHUIZ    1
##   6476-EPYZR    1
##   6476-YHMGA    1
##   6478-HRRCZ    1
##   6479-OAUSD    1
##   6479-SZPLM    1
##   6479-VDGRK    1
##   6480-YAGIY    1
##   6481-ESCNL    1
##   6481-LXPWL    1
##   6481-OGDOO    1
##   6483-OATDN    1
##   6484-LATFU    1
##   6485-QXWWE    1
##   6486-LHTMA    1
##   6490-FGZAT    1
##   6496-JDSSB    1
##   6496-SLWHQ    1
##   6497-TILVL    1
##   6500-JVEGC    1
##   6502-HCJTI    1
##   6502-KUGLL    1
##   6502-MJQAE    1
##   6504-VBLFL    1
##   6505-OZNPG    1
##   6506-EYCNH    1
##   6507-DTJZV    1
##   6507-ZJSUR    1
##   6508-NJYRO    1
##   6509-TSGWN    1
##   6510-UPNKS    1
##   6513-EECDB    1
##   6516-NKQBO    1
##   6518-KZXCB    1
##   6518-LGAOV    1
##   6518-PPLMZ    1
##   6519-CFDBX    1
##   6519-ZHPXP    1
##   6521-YYTYI    1
##   6522-OIQSX    1
##   6522-YRBXD    1
##   6527-PZFPV    1
##   6532-YLWSI    1
##   6537-OTKMY    1
##   6537-QLGEX    1
##   6538-POCHL    1
##   6542-LWGXJ    1
##   6543-CPZMK    1
##   6543-JXSOO    1
##   6543-XRMYR    1
##   6546-OPBBH    1
##   6549-BTYPG    1
##   6549-NNDYT    1
##   6549-YMFAW    1
##   6551-GNYDG    1
##   6551-VLJMV    1
##   6551-ZCOTS    1
##   6556-DBKZF    1
##   6557-BZXLQ    1
##   6559-ILWKJ    1
##   6559-PDZLR    1
##   6559-RAKOZ    1
##   6563-VNPMN    1
##   6563-VRERX    1
##   6567-HOOPW    1
##   6568-POCUI    1
##   6569-KTMDU    1
##   6572-ADKRS    1
##   6574-MCOEH    1
##   6575-SUVOI    1
##   6576-FBXOJ    1
##   6578-KRMAW    1
##   6579-JPICP    1
##   6581-NQCBA    1
##   6582-OIVSP    1
##   6582-PLFUU    1
##   6583-KQJLK    1
##   6583-QGCSI    1
##   6583-SZVGP    1
##   6584-VQMYT    1
##   6585-WCEWR    1
##   6586-MYGKD    1
##   6586-PSJOX    1
##   6591-QGOYB    1
##   6595-COKXZ    1
##   6595-YGXIT    1
##   6598-KELSS    1
##   6598-RFFVI    1
##   6599-CEBNN    1
##   6599-GZWCM    1
##   6599-RCLCJ    1
##   6599-SFQVE    1
##   6603-QWSPR    1
##   6603-YRDCJ    1
##   6608-QQLVK    1
##   6609-MXJHJ    1
##   6614-FHDBO    1
##   6614-VBEGU    1
##   6614-YOLAC    1
##   6614-YWYSC    1
##   6615-NGGZJ    1
##   6615-ZGEDR    1
##   6616-AALSR    1
##   6617-WLBQC    1
##   6618-RYATB    1
##   6619-RPLQZ    1
##   6620-HVDUJ    1
##   6620-JDYNW    1
##   6621-NRZAK    1
##   6621-YOBKI    1
##   6624-JDRDS    1
##   6625-FLENO    1
##   6625-IUTTT    1
##   6625-UTXEW    1
##   6627-CFOSN    1
##   6629-CZTTH    1
##   6629-LADHQ    1
##   6630-UJZMY    1
##   6631-HMANX    1
##   6633-MPWBS    1
##   6633-SYEUS    1
##   6635-CPNUN    1
##   6635-MYYYZ    1
##   6637-KYRCV    1
##   6641-XRPSU    1
##   6645-MXQJT    1
##   6646-JPPHA    1
##   6646-QVXLR    1
##   6646-VRFOL    1
##   6647-ZEDXT    1
##   6648-INWPS    1
##   6650-BWFRT    1
##   6650-VJONK    1
##   6651-AZVTJ    1
##   6651-RLGGM    1
##   6652-YFFJO    1
##   6653-CBBOM    1
##   6654-QGBZZ    1
##   6655-LHBYW    1
##   6656-GULJQ    1
##   6656-JWRQX    1
##   6661-EIPZC    1
##   6661-HBGWL    1
##   6663-JOCQO    1
##   6664-FPDAC    1
##   6668-CNMFP    1
##   6670-MFRPK    1
##   6671-NGWON    1
##   6674-KVJHG    1
##   6680-NENYN    1
##   6680-WKXRZ    1
##   6681-ZSEXG    1
##   6682-QJDGB    1
##   6682-VCIXC    1
##   6683-VLCTZ    1
##   6685-GBWJZ    1
##   6685-XSHHU    1
##   6686-YPGHK    1
##   6688-UZPWD    1
##   6689-KXGBO    1
##   6689-TCZHQ    1
##   6689-VRRTK    1
##   6691-CCIHA    1
##   6692-UDPJC    1
##   6692-YQHXC    1
##   6693-DJWTY    1
##   6693-FRIRW    1
##   6695-AMZUF    1
##   6695-FRVEC    1
##   6696-YDAYZ    1
##   6698-OXETB    1
##   6701-DHKWQ    1
##   6701-YVNQG    1
##   6702-OHFWR    1
##   6704-UTUKK    1
##   6705-LNMDD    1
##   6705-LXORM    1
##   6710-HSJRD    1
##   6711-FLDFB    1
##   6711-VTNRE    1
##   6712-OAWRH    1
##   6713-OKOMC    1
##   6715-OFDBP    1
##   6718-BDGHG    1
##   6719-FGEDO    1
##   6719-OXYBR    1
##   6723-CEGQI    1
##   6723-WSNTY    1
##   6725-TPKJO    1
##   6726-NNFWD    1
##   6726-WEXXK    1
##   6727-IOTLZ    1
##   6728-CZFEI    1
##   6728-DKUCO    1
##   6728-VOIFY    1
##   6728-WYQBC    1
##   6729-FZWSY    1
##   6729-GDNGC    1
##   6732-FZUGP    1
##   6732-VAILE    1
##   6733-LRIZX    1
##   6734-CKRSM    1
##   6734-FQAJX    1
##   6734-GMPVK    1
##   6734-JDTTV    1
##   6734-PSBAW    1
##   6736-DHUQI    1
##   6738-ISCBM    1
##   6741-EGCBI    1
##   6741-QRLUP    1
##   6743-HHQPF    1
##   6745-JEFZB    1
##   6746-WAUWT    1
##   6749-UTDVX    1
##   6752-APNJL    1
##   6754-LZUKA    1
##   6754-WKSHP    1
##   6762-NSODU    1
##   6762-QVYJO    1
##   6765-MBQNU    1
##   6766-HFKLA    1
##   6769-DCQLI    1
##   6769-DYBQN    1
##   6770-UAYGJ    1
##   6770-XUAGN    1
##   6771-XWBDM    1
##   6772-KSATR    1
##   6772-WFQRD    1
##   6773-LQTVT    1
##   6776-TLWOI    1
##   6777-TGHTM    1
##   6778-EICRF    1
##   6778-JFCMK    1
##   6778-YSNIH    1
##   6784-XYJAE    1
##   6786-OBWQR    1
##   6789-HJBWG    1
##   6791-YBNAK    1
##   6794-HKIAJ    1
##   6797-LNAQX    1
##   6797-UCJHZ    1
##   6804-GDMOI    1
##   6806-YDEUL    1
##   6807-SIWJI    1
##   6810-VCAEX    1
##   6813-GZQCG    1
##   6814-ZPWFQ    1
##   6815-ABQFQ    1
##   6817-WTYHE    1
##   6818-DJXAA    1
##   6818-WOBHJ    1
##   6821-BUXUX    1
##   6821-JPCDC    1
##   6823-SIDFQ    1
##   6825-UYPFK    1
##   6827-IEAUQ    1
##   6828-HMKWP    1
##   6833-JMZYP    1
##   6834-NXDCA    1
##   6837-BJYDQ    1
##   6837-HAEVO    1
##   6838-HVLXG    1
##   6838-YAUVY    1
##   6839-ITVZJ    1
##   6840-RESVB    1
##   6844-DZKRF    1
##   6845-RGTYS    1
##   6847-KJLTS    1
##   6848-HJTXY    1
##   6848-YLDFR    1
##   6849-OYAMU    1
##   6849-WLEYG    1
##   6851-WEFYX    1
##   6854-EXGSF    1
##   6855-VLGOS    1
##   6856-RAURS    1
##   6857-TKDJV    1
##   6857-VWJDT    1
##   6859-QNXIQ    1
##   6859-RKMZJ    1
##   6860-YRJZP    1
##   6861-OKBCE    1
##   6861-XWTWQ    1
##   6862-CQUMB    1
##   6865-JZNKO    1
##   6867-ACCZI    1
##   6869-FGJJC    1
##   6870-ECSHE    1
##   6870-ZWMNX    1
##   6872-HXFNF    1
##   6873-UDNLD    1
##   6874-SGLHU    1
##   6876-ADESB    1
##   6877-LGWXO    1
##   6877-TJMBR    1
##   6878-GGDWG    1
##   6885-PKOAM    1
##   6888-SBYAI    1
##   6890-PFRQX    1
##   6891-JPYFF    1
##   6892-BOGQE    1
##   6892-EZDTG    1
##   6892-XPFPU    1
##   6893-ODYYE    1
##   6894-LFHLY    1
##   6896-SRVYQ    1
##   6897-RWMUB    1
##   6897-UUBNU    1
##   6898-MDLZW    1
##   6898-RBTLU    1
##   6899-PPEEA    1
##   6900-PXRMS    1
##   6900-RBKER    1
##   6901-GOGZG    1
##   6904-JLBGY    1
##   6905-NIQIN    1
##   6906-ANDWJ    1
##   6906-MPARY    1
##   6907-CQGPN    1
##   6907-FLBER    1
##   6907-NZZIJ    1
##   6908-VVYHM    1
##   6910-HADCM    1
##   6916-HIJSE    1
##   6917-FIJHC    1
##   6917-IAYHD    1
##   6917-YACBP    1
##   6918-UMQCG    1
##   6919-ELBGL    1
##   6921-OZMFH    1
##   6922-NCEDI    1
##   6923-AQONU    1
##   6923-EFPNL    1
##   6923-JHPMP    1
##   6924-TDGMT    1
##   6925-BAYGL    1
##   6927-WTFIV    1
##   6928-ONTRW    1
##   6933-FHBZC    1
##   6933-VLYFX    1
##   6937-GCDGQ    1
##   6941-KXRRV    1
##   6941-PMGEP    1
##   6942-LBFDP    1
##   6946-LMSQS    1
##   6950-TWMYB    1
##   6952-OMNWB    1
##   6953-PBDIN    1
##   6954-OOYZZ    1
##   6956-SMUCM    1
##   6959-GQEGV    1
##   6959-UWKHF    1
##   6960-HVYXR    1
##   6961-MJKBO    1
##   6961-VCPMC    1
##   6963-EZQEE    1
##   6963-KQYQB    1
##   6967-PEJLL    1
##   6967-QIQRV    1
##   6968-GMKPR    1
##   6968-MHOMU    1
##   6968-URWQU    1
##   6969-MVBAI    1
##   6972-SNKKW    1
##   6974-DAFLI    1
##   6976-BWGLQ    1
##   6979-TNDEU    1
##   6979-ZNSFF    1
##   6980-CDGFC    1
##   6980-IMXXE    1
##   6981-TDRFT    1
##   6982-SSHFK    1
##   6982-UQZLY    1
##   6985-HAYWX    1
##   6986-IJDHX    1
##   6986-IXNDM    1
##   6987-XQSJT    1
##   6988-CJEYV    1
##   6990-YNRIO    1
##   6992-TKNYO    1
##   6993-OHLXR    1
##   6993-YCOBK    1
##   6993-YGFJV    1
##   6994-FGRHH    1
##   6994-KERXL    1
##   6994-ORCWG    1
##   6996-KNSML    1
##   6997-UVGOX    1
##   6999-CHVCF    1
##   7000-WCEVQ    1
##   7005-CCBKV    1
##   7005-CYUIL    1
##   7008-LZVOZ    1
##   7009-LGECI    1
##   7009-PCARS    1
##   7010-BRBUU    1
##   7010-ZMVBF    1
##   7011-CVEUC    1
##   7013-PSXHK    1
##   7014-ZZXAW    1
##   7016-BPGEU    1
##   7016-NVRIC    1
##   7017-VFHAY    1
##   7017-VFULY    1
##   7018-FPXHH    1
##   7018-WBJNK    1
##   7020-OZKXZ    1
##   7021-XSNYE    1
##   7024-OHCCK    1
##   7025-IWFHT    1
##   7025-WCBNE    1
##   7026-YMSBE    1
##   7028-DVOIQ    1
##   7029-IJEJK    1
##   7029-RPUAV    1
##   7030-FZTFM    1
##   7030-NJVDP    1
##   7032-LMBHI    1
##   7033-CLAMM    1
##   7036-TYDEC    1
##   7036-ZZKBD    1
##   7037-MTYVW    1
##   7041-TXQJH    1
##   7044-YAACC    1
##   7047-FWEYA    1
##   7047-YXDMZ    1
##   7048-GXDAY    1
##   7049-GKVZY    1
##   7054-DMVAS    1
##   7054-ENNGU    1
##   7054-LGEQW    1
##   7055-HNEOJ    1
##   7055-JCGNI    1
##   7055-VKGDA    1
##   7056-IMHCC    1
##   7061-OVMIM    1
##   7064-FRRSW    1
##   7064-JHXCE    1
##   7065-YUNRY    1
##   7067-KSAZT    1
##   7072-MBHEV    1
##   7073-QETQY    1
##   7074-IEVOJ    1
##   7074-STDCN    1
##   7075-BNDVQ    1
##   7077-XJMET    1
##   7078-NVFAM    1
##   7079-QRCBC    1
##   7080-TNUWP    1
##   7083-MIOPC    1
##   7083-YNSKY    1
##   7088-FBAWU    1
##   7089-IVVAZ    1
##   7089-RKVSZ    1
##   7089-XXAYG    1
##   7094-MSZAO    1
##   7096-UCLNH    1
##   7096-ZNBZI    1
##   7100-FQPRV    1
##   7101-HRBLJ    1
##   7102-JJVTX    1
##   7103-IPXPJ    1
##   7103-ZGVNT    1
##   7105-BENQF    1
##   7105-MXJLL    1
##   7107-UBYKY    1
##   7108-DGVUU    1
##   7109-CQYUZ    1
##   7109-MFBYV    1
##   7110-BDTWG    1
##   7112-OPOTK    1
##   7113-HIPFI    1
##   7114-AEOZE    1
##   7115-IRDHS    1
##   7120-RFMVS    1
##   7123-WQUHX    1
##   7124-UGSUR    1
##   7126-RBHSD    1
##   7128-GGCNO    1
##   7129-ACFOG    1
##   7129-AZJDE    1
##   7129-CAKJW    1
##   7130-CTCUS    1
##   7130-VTEWQ    1
##   7130-YXBRO    1
##   7131-ZQZNK    1
##   7133-VBDCG    1
##   7134-HBPBS    1
##   7134-MJPDY    1
##   7136-IHZJA    1
##   7136-RVDTZ    1
##   7137-NAXML    1
##   7137-RYLPP    1
##   7138-GIRSH    1
##   7139-JZFVG    1
##   7140-ADSMJ    1
##   7142-HVGBG    1
##   7143-BQIBA    1
##   7145-FEJWU    1
##   7147-AYBAA    1
##   7148-XZPHA    1
##   7153-CHRBV    1
##   7153-OANIO    1
##   7156-MHUGY    1
##   7156-MXBJE    1
##   7157-SMCFK    1
##   7159-FVYPK    1
##   7159-NOKYQ    1
##   7161-DFHUF    1
##   7162-WPHPM    1
##   7163-OCEQI    1
##   7164-BPTUT    1
##   7167-PCEYD    1
##   7168-HDQHG    1
##   7169-YWAMK    1
##   7173-TETGO    1
##   7175-NTIXE    1
##   7176-WIONM    1
##   7176-WRTNX    1
##   7180-PISOG    1
##   7181-BQYBV    1
##   7181-OQCUT    1
##   7182-OVLBJ    1
##   7184-LRUUR    1
##   7188-CBBBA    1
##   7190-XHTWJ    1
##   7191-ADRGF    1
##   7196-LIWRH    1
##   7197-VOJMM    1
##   7198-GLXTC    1
##   7203-OYKCT    1
##   7205-BAIAD    1
##   7206-GZCDC    1
##   7206-PQBBZ    1
##   7207-RMRDB    1
##   7208-PSIHR    1
##   7209-JCUDS    1
##   7216-EWTRS    1
##   7216-KAOID    1
##   7217-JYHOQ    1
##   7218-HKQFK    1
##   7219-TLZHO    1
##   7225-CBZPL    1
##   7225-IILWY    1
##   7228-OMTPN    1
##   7228-PAQPD    1
##   7233-DRTRF    1
##   7233-IOQNP    1
##   7233-PAHHL    1
##   7234-FECYN    1
##   7234-KMNRQ    1
##   7235-NXZCP    1
##   7239-HZZCX    1
##   7240-ETPTR    1
##   7240-FQLHE    1
##   7241-AJHFS    1
##   7242-EDTYC    1
##   7242-QZLXF    1
##   7243-LCGGZ    1
##   7244-KXYZN    1
##   7244-QWYHG    1
##   7245-JMTTQ    1
##   7245-NIIWQ    1
##   7246-ZGQDF    1
##   7247-XOZPB    1
##   7248-VZQLC    1
##   7249-WBIYX    1
##   7250-EQKIY    1
##   7251-LJBQN    1
##   7251-XFOIL    1
##   7252-NTGSS    1
##   7253-UVNDW    1
##   7254-IQWOZ    1
##   7255-SSFBC    1
##   7266-GSSJX    1
##   7267-FRMJW    1
##   7268-IGMFD    1
##   7268-WNTCP    1
##   7269-JISCY    1
##   7270-BDIOA    1
##   7271-AJDTL    1
##   7272-QDCKA    1
##   7273-TEFQD    1
##   7274-CGTOD    1
##   7274-RTAPZ    1
##   7277-KAMWT    1
##   7277-OZCGZ    1
##   7278-CKDNC    1
##   7279-BUYWN    1
##   7279-NMVJC    1
##   7284-BUYEC    1
##   7284-ZZLOH    1
##   7285-KLOTR    1
##   7291-CDTMJ    1
##   7293-LSCDV    1
##   7294-TMAOP    1
##   7295-JOMMD    1
##   7296-PIXQY    1
##   7297-DVYGA    1
##   7298-IZWLY    1
##   7299-GNVPL    1
##   7301-ABVAD    1
##   7302-ZHMHP    1
##   7305-ZWMAJ    1
##   7306-YDSOI    1
##   7310-EGVHZ    1
##   7311-MQJCH    1
##   7312-XSBAT    1
##   7314-OXENN    1
##   7315-WYOAW    1
##   7317-GGVPB    1
##   7318-EIVKO    1
##   7319-VENRZ    1
##   7319-ZNRTR    1
##   7321-KKSDU    1
##   7321-PKUYW    1
##   7321-VGNKU    1
##   7321-ZNSLA    1
##   7322-OCWHC    1
##   7325-ENZFI    1
##   7326-RIGQZ    1
##   7328-OWMOM    1
##   7328-ZJAJO    1
##   7330-WZLNC    1
##   7336-RLLRH    1
##   7337-CINUD    1
##   7338-ERIVA    1
##   7339-POGZN    1
##   7340-KEFQE    1
##   7341-LXCAF    1
##   7343-EOBEU    1
##   7346-MEDWM    1
##   7349-ALMUX    1
##   7351-KYHQH    1
##   7351-MHQVU    1
##   7353-YOWFP    1
##   7354-OIJLX    1
##   7356-AYNJP    1
##   7356-IWLFW    1
##   7359-PTSXY    1
##   7359-SSBJK    1
##   7359-WWYJV    1
##   7361-YPXFS    1
##   7363-QTBIW    1
##   7365-BVCJH    1
##   7369-TRPFD    1
##   7375-WMVMT    1
##   7377-DMMRI    1
##   7379-FNIUJ    1
##   7379-POKDZ    1
##   7382-DFJTU    1
##   7384-GHBPI    1
##   7389-KBFIT    1
##   7392-YYPYJ    1
##   7394-FKDNK    1
##   7394-LWLYN    1
##   7395-IGJOS    1
##   7395-XWZOY    1
##   7396-VJUZB    1
##   7398-HPYZQ    1
##   7398-LXGYX    1
##   7398-SKNQZ    1
##   7399-QHBJS    1
##   7401-JIXNM    1
##   7401-RUBNK    1
##   7402-EYFXX    1
##   7402-PWYJJ    1
##   7404-JLKQG    1
##   7407-SUJIZ    1
##   7408-OFWXJ    1
##   7409-JURKQ    1
##   7409-KIUTL    1
##   7410-KTVFV    1
##   7410-OIEDU    1
##   7410-YTJIK    1
##   7416-CKTEP    1
##   7421-ZLUPA    1
##   7422-WNBTY    1
##   7426-GSWPO    1
##   7426-RHZGU    1
##   7426-WEIJX    1
##   7427-AUFPY    1
##   7432-FFVAR    1
##   7434-SHXLS    1
##   7435-ZNUYY    1
##   7439-DKZTW    1
##   7442-YGZFK    1
##   7445-WMRBW    1
##   7446-KQISO    1
##   7446-SFAOA    1
##   7446-YPODE    1
##   7449-HVPIV    1
##   7450-NWRTR    1
##   7452-FOLON    1
##   7459-IMVYU    1
##   7459-RRWQZ    1
##   7460-ITWWP    1
##   7463-IFMQU    1
##   7465-ZZRVX    1
##   7469-LKBCI    1
##   7470-DYNOE    1
##   7470-MCQTK    1
##   7471-MQPOS    1
##   7471-WNSUF    1
##   7472-EQOAV    1
##   7473-ZBDSN    1
##   7479-NITWS    1
##   7480-QNVZJ    1
##   7480-SPLEF    1
##   7481-ATQQS    1
##   7483-IQWIB    1
##   7486-KSRVI    1
##   7488-MXJIV    1
##   7492-TAFJD    1
##   7493-GVFIO    1
##   7493-TPUWZ    1
##   7495-OOKFY    1
##   7501-IWUNG    1
##   7501-VTYLJ    1
##   7502-BNYGS    1
##   7503-EPSZW    1
##   7503-MIOGA    1
##   7503-QQRVF    1
##   7503-ZGUZJ    1
##   7504-UWHNB    1
##   7508-DQAKK    1
##   7508-KBIMB    1
##   7508-MYBOG    1
##   7508-SMHXL    1
##   7511-YMXVQ    1
##   7515-LODFU    1
##   7516-GMHUV    1
##   7517-LDMPS    1
##   7517-SAWMO    1
##   7519-JTWQH    1
##   7520-HQWJU    1
##   7521-AFHAB    1
##   7521-YXVZY    1
##   7524-VRLPL    1
##   7526-BEZQB    1
##   7526-IVLYU    1
##   7527-QNRUS    1
##   7529-ZDFXI    1
##   7530-HDYDS    1
##   7531-GQHME    1
##   7534-BFESC    1
##   7537-CBQUZ    1
##   7537-RBWEA    1
##   7538-GWHML    1
##   7541-YLXCL    1
##   7542-CYDDM    1
##   7544-ZVIKX    1
##   7547-EKNFS    1
##   7548-SEPYI    1
##   7549-MYGPK    1
##   7550-WIQVA    1
##   7551-DACSP    1
##   7551-JOHTI    1
##   7552-KEYGT    1
##   7554-AKDQF    1
##   7554-NEWDD    1
##   7558-IMLMT    1
##   7560-QJAVJ    1
##   7560-QRBXH    1
##   7562-GSUHK    1
##   7562-UXTPG    1
##   7563-BIUPC    1
##   7564-GHCVB    1
##   7566-DSRLQ    1
##   7567-ECMCM    1
##   7568-PODML    1
##   7569-NMZYQ    1
##   7570-WELNY    1
##   7571-YXDAD    1
##   7572-KPVKK    1
##   7576-ASEJU    1
##   7576-JMYWV    1
##   7576-OYWBN    1
##   7577-SWIFR    1
##   7579-KKLOE    1
##   7579-OOPEC    1
##   7580-UGXNC    1
##   7581-EBBOU    1
##   7586-ZATGZ    1
##   7587-AOVVU    1
##   7587-RZNME    1
##   7590-VHVEG    1
##   7593-JNWRU    1
##   7593-XFKDI    1
##   7594-LZNWR    1
##   7594-RQHXR    1
##   7595-EHCDL    1
##   7595-EUIVN    1
##   7596-IIWYC    1
##   7596-LDUXP    1
##   7596-ZYWBB    1
##   7598-UAASY    1
##   7599-FKVXZ    1
##   7599-NTMDP    1
##   7601-DHFWZ    1
##   7601-GNDYK    1
##   7601-WFVZV    1
##   7602-DBTOU    1
##   7602-MVRMB    1
##   7603-USHJS    1
##   7605-BDWDC    1
##   7605-SNLQG    1
##   7606-BPHHN    1
##   7607-QKKTJ    1
##   7608-RGIRO    1
##   7609-NRNCA    1
##   7609-YBPXG    1
##   7610-TVOPG    1
##   7611-YKYTC    1
##   7613-LLQFO    1
##   7614-QVWQL    1
##   7615-ESMYF    1
##   7617-EYGLW    1
##   7619-ODSGN    1
##   7619-PLRLP    1
##   7621-VPNET    1
##   7622-FWGEW    1
##   7622-NXQZR    1
##   7623-HKYRK    1
##   7623-TRNQN    1
##   7625-XCQRH    1
##   7627-JKIAZ    1
##   7629-WFGLW    1
##   7629-WIXZF    1
##   7632-MNYOY    1
##   7632-YUTXB    1
##   7633-MVPUY    1
##   7634-HLQJR    1
##   7634-WSWDB    1
##   7636-OWBPG    1
##   7636-PEPNS    1
##   7636-XUHWW    1
##   7638-QVMVY    1
##   7639-LIAYI    1
##   7639-OPLNG    1
##   7639-SUPCW    1
##   7641-EUYET    1
##   7641-TQFHN    1
##   7643-RCHXS    1
##   7644-OMVMY    1
##   7647-GYYKX    1
##   7649-PHJVR    1
##   7649-SIJJF    1
##   7654-YWJUF    1
##   7657-DYEPJ    1
##   7658-UYUQS    1
##   7660-HDPJV    1
##   7661-CPURM    1
##   7663-CUXZB    1
##   7663-RGWBC    1
##   7663-YJHSN    1
##   7663-ZTEGJ    1
##   7665-NKLAV    1
##   7665-TOALD    1
##   7665-VIGUD    1
##   7666-WKRON    1
##   7668-XCFYV    1
##   7669-LCRSD    1
##   7670-ZBPOQ    1
##   7672-VFMXZ    1
##   7673-BQGKU    1
##   7673-LPRNY    1
##   7674-YTAFD    1
##   7675-OZCZG    1
##   7677-SJJJK    1
##   7682-AZNDK    1
##   7683-CBDKJ    1
##   7684-XSZIY    1
##   7688-AWMDX    1
##   7690-KPNCU    1
##   7691-KGKGP    1
##   7691-XVTZH    1
##   7693-LCKZL    1
##   7693-QPEFS    1
##   7694-VLBWQ    1
##   7695-PKLCZ    1
##   7696-AMHOD    1
##   7696-CFTAT    1
##   7698-YFGEZ    1
##   7703-ZEKEF    1
##   7706-DZNKK    1
##   7706-YLMQA    1
##   7707-PYBBH    1
##   7710-JSYOA    1
##   7711-GQBZC    1
##   7711-YIJWC    1
##   7714-YXSMB    1
##   7716-YTYHG    1
##   7717-BICXI    1
##   7718-RXDGG    1
##   7718-UPSKJ    1
##   7721-DVEKZ    1
##   7721-JXEAW    1
##   7722-CVFXN    1
##   7722-VJRQD    1
##   7727-SHVZV    1
##   7729-JTEEC    1
##   7729-XBTWX    1
##   7730-CLDSV    1
##   7730-IUTDZ    1
##   7733-UDMTP    1
##   7734-DBOAI    1
##   7739-LAXOG    1
##   7740-BTPUX    1
##   7740-KKCXF    1
##   7742-MYPGI    1
##   7743-EXURX    1
##   7746-AWNQW    1
##   7746-QYVCO    1
##   7748-UMTRK    1
##   7750-EYXWZ    1
##   7752-XUSCI    1
##   7753-USQYQ    1
##   7754-IXRMC    1
##   7758-UJWYS    1
##   7758-XKCBS    1
##   7760-OYPDY    1
##   7762-ONLJY    1
##   7762-URZQH    1
##   7764-BDPEE    1
##   7765-LWVVH    1
##   7766-CLTIC    1
##   7767-UXAGJ    1
##   7771-CFQRQ    1
##   7771-ZONAT    1
##   7774-OJSXI    1
##   7776-QGYJC    1
##   7776-QWNFX    1
##   7777-UNYHB    1
##   7779-LGOVN    1
##   7779-ORAEL    1
##   7780-OTDSO    1
##   7781-EWARA    1
##   7781-HVGMK    1
##   7783-YKGDV    1
##   7785-RDVIG    1
##   7786-WBJYI    1
##   7787-BNTZM    1
##   7789-CRUVC    1
##   7789-HKSBS    1
##   7794-JASDG    1
##   7795-CFOCW    1
##   7797-EJMDP    1
##   7798-JVXYM    1
##   7799-DSEWS    1
##   7799-LGRDP    1
##   7801-CEDNV    1
##   7801-KICAO    1
##   7802-EFKNY    1
##   7803-XOCCZ    1
##   7808-DVWEP    1
##   7811-JIVPF    1
##   7812-FZHPE    1
##   7813-TKCVO    1
##   7813-ZGGAW    1
##   7814-LEEVE    1
##   7815-PDTHL    1
##   7816-VGHTO    1
##   7817-BOQPW    1
##   7817-OMJNA    1
##   7820-ZYGNY    1
##   7821-DPRQE    1
##   7823-JSOAG    1
##   7824-PANSQ    1
##   7825-ECJRF    1
##   7825-GKXMW    1
##   7826-VVKWT    1
##   7831-QGOXH    1
##   7833-PKIHD    1
##   7838-LAZFO    1
##   7839-NUIAA    1
##   7839-QRKXN    1
##   7841-FCRQD    1
##   7841-TZDMQ    1
##   7845-URHJN    1
##   7850-THJMU    1
##   7850-VWJUU    1
##   7851-FLGGQ    1
##   7851-WZEKY    1
##   7852-LECYP    1
##   7853-GVUDZ    1
##   7853-OETYL    1
##   7853-WNZSY    1
##   7854-EDSSA    1
##   7854-EKTJL    1
##   7854-FOKSF    1
##   7855-DIWPO    1
##   7856-GANIL    1
##   7858-GTZSP    1
##   7860-KSUGX    1
##   7860-UXCRM    1
##   7861-UVUFT    1
##   7868-BGSZA    1
##   7868-TMWMZ    1
##   7869-ZYDST    1
##   7872-BAAZR    1
##   7872-RDDLZ    1
##   7873-CVMAW    1
##   7874-ECPQJ    1
##   7876-AEHIG    1
##   7876-BEUTG    1
##   7876-DNYAP    1
##   7878-JGDKK    1
##   7878-RTCZG    1
##   7879-CGSFV    1
##   7880-XSOJX    1
##   7881-EVUAD    1
##   7881-INRLC    1
##   7883-ROJOC    1
##   7890-VYYWG    1
##   7892-POOKP    1
##   7892-QVYKW    1
##   7893-IXHRQ    1
##   7895-VONWT    1
##   7898-PDWQE    1
##   7901-HXJVA    1
##   7901-IIDQV    1
##   7901-TBKJX    1
##   7903-CMPEY    1
##   7905-NJMXS    1
##   7905-TVXTA    1
##   7908-QCBCA    1
##   7909-FIOIY    1
##   7912-SYRQT    1
##   7916-VCCPB    1
##   7919-ZODZZ    1
##   7921-BEPCI    1
##   7921-LMDFQ    1
##   7923-IYJWY    1
##   7924-GJZFI    1
##   7925-PNRGI    1
##   7926-IJOOU    1
##   7927-AUXBZ    1
##   7928-VJYAB    1
##   7929-DMBCV    1
##   7929-SKFGK    1
##   7931-PXHFC    1
##   7932-WPTDS    1
##   7938-OUHIO    1
##   7940-UQQUG    1
##   7941-RCJOW    1
##   7943-RQCHR    1
##   7945-HLKEA    1
##   7945-PRBVF    1
##   7950-XWOVN    1
##   7951-QKZPL    1
##   7951-VRDVK    1
##   7952-OBOYL    1
##   7954-MLBUN    1
##   7956-XQWGU    1
##   7957-RYHQD    1
##   7963-GQRMY    1
##   7963-SHNDT    1
##   7964-VEXDG    1
##   7964-YESJC    1
##   7964-ZRKKG    1
##   7966-YOTQW    1
##   7967-HYCDE    1
##   7968-QUXNS    1
##   7969-AULMZ    1
##   7969-FFOWG    1
##   7971-HLVXI    1
##   7973-DZRKH    1
##   7975-JMZNT    1
##   7975-TZMLR    1
##   7976-CICYS    1
##   7977-HXJKU    1
##   7978-DKUQH    1
##   7979-CORPM    1
##   7980-MHFLQ    1
##   7982-VCELR    1
##   7989-AWGEH    1
##   7989-CHGTL    1
##   7989-VCQOH    1
##   7993-NQLJE    1
##   7993-PYKOF    1
##   7994-UYIVZ    1
##   7994-XIRTR    1
##   7995-ZHHNZ    1
##   7996-BPXHY    1
##   7996-MHXLW    1
##   7997-EASSD    1
##   7998-WNZEM    1
##   7998-ZLXWN    1
##   8000-REIQB    1
##   8003-EWNDZ    1
##   8006-PYCSW    1
##   8007-YYPWD    1
##   8008-ESFLK    1
##   8008-HAWED    1
##   8008-OTEZX    1
##   8010-EZLOU    1
##   8012-SOUDQ    1
##   8015-IHCGW    1
##   8016-NCFVO    1
##   8016-ZMGMO    1
##   8017-LXHFA    1
##   8017-UVSZU    1
##   8019-ENHXU    1
##   8020-BWHYL    1
##   8022-BECSI    1
##   8023-QHAIO    1
##   8024-XNAFQ    1
##   8028-PNXHQ    1
##   8029-XYPWT    1
##   8033-ATFAS    1
##   8033-VCZGH    1
##   8034-RYTVV    1
##   8035-BUYVG    1
##   8035-PWSEV    1
##   8039-ACLPL    1
##   8039-EQPIM    1
##   8040-MNRTF    1
##   8041-TMEID    1
##   8042-JVNFH    1
##   8042-RNLKO    1
##   8043-PNYSD    1
##   8044-BGWPI    1
##   8046-DNVTL    1
##   8048-DSDFQ    1
##   8049-WJCLQ    1
##   8050-DVOJX    1
##   8050-WYBND    1
##   8050-XGRVL    1
##   8051-HJRLT    1
##   8053-WWDRO    1
##   8058-DMYRU    1
##   8058-INTPH    1
##   8058-JMEQO    1
##   8059-UDZFY    1
##   8060-HIWJJ    1
##   8062-YBDOE    1
##   8063-GBATB    1
##   8063-RJYNF    1
##   8064-RAVOH    1
##   8065-BVEPF    1
##   8065-QBYTO    1
##   8065-YKXKD    1
##   8066-POXGX    1
##   8067-NIOYM    1
##   8069-RHUXK    1
##   8069-YQQAJ    1
##   8070-AAWZP    1
##   8071-SBTRN    1
##   8073-IJDCM    1
##   8075-GXIUB    1
##   8076-FEZKJ    1
##   8079-XRJRS    1
##   8080-DDEMJ    1
##   8080-POTJR    1
##   8082-GHXOP    1
##   8083-YTZES    1
##   8084-OIVBS    1
##   8085-MSNLK    1
##   8086-OVPWV    1
##   8087-LGYHQ    1
##   8089-UZWLX    1
##   8091-TTVAX    1
##   8092-NLTGF    1
##   8095-WANWK    1
##   8096-LOIST    1
##   8097-OMULG    1
##   8097-VBQTZ    1
##   8098-LLAZX    1
##   8098-TDCBU    1
##   8099-MZPUJ    1
##   8100-HZZLJ    1
##   8100-PNJMH    1
##   8104-OSKWT    1
##   8106-GWQOK    1
##   8107-KNCIM    1
##   8107-RZLNV    1
##   8108-UXRQN    1
##   8109-YUOHE    1
##   8111-BKVDS    1
##   8111-RKSPX    1
##   8111-SLLHI    1
##   8118-LSUEL    1
##   8118-TJAFG    1
##   8120-JDCAM    1
##   8123-QBNAZ    1
##   8124-NZVGJ    1
##   8125-QPFJD    1
##   8128-YVJRG    1
##   8129-GMVGI    1
##   8132-YPVBX    1
##   8133-ANHHJ    1
##   8138-EALND    1
##   8143-ETQTI    1
##   8144-DGHXP    1
##   8146-QQKZH    1
##   8148-BPLZQ    1
##   8148-NLEGT    1
##   8148-WOCMK    1
##   8149-AIQCG    1
##   8149-RSOUN    1
##   8150-QUDFX    1
##   8152-UOBNY    1
##   8152-VETUR    1
##   8155-IBNHG    1
##   8158-WPEZG    1
##   8160-HOWOX    1
##   8161-QYMTT    1
##   8164-OCKUJ    1
##   8165-CBKXO    1
##   8165-ZJRNM    1
##   8166-ORCHU    1
##   8166-ZZTFS    1
##   8167-GJLRN    1
##   8168-UQWWF    1
##   8169-SAEJD    1
##   8173-RXAYP    1
##   8174-LNWMW    1
##   8174-TBVCF    1
##   8178-EYZUO    1
##   8180-AKMJV    1
##   8181-YHCMF    1
##   8182-BJDSI    1
##   8182-PNAGI    1
##   8183-ONMXC    1
##   8184-WMOFI    1
##   8185-UPYBR    1
##   8189-DUKMV    1
##   8189-HBVRW    1
##   8189-XRIKE    1
##   8190-ZTQFB    1
##   8191-XWSZG    1
##   8194-PEEBY    1
##   8197-BFWVU    1
##   8198-RKSZG    1
##   8199-ZLLSA    1
##   8200-KLNYW    1
##   8200-LGKSR    1
##   8201-AAXCB    1
##   8203-XJZRC    1
##   8204-TIFGJ    1
##   8204-YJCLA    1
##   8205-MQUGY    1
##   8205-OTCHB    1
##   8205-VSLRB    1
##   8207-DMRVL    1
##   8207-VVMYB    1
##   8208-EUMTE    1
##   8212-CRQXP    1
##   8212-DJRCH    1
##   8213-TAZPM    1
##   8215-NGSPE    1
##   8216-AZUUZ    1
##   8217-QYOHV    1
##   8218-FFJDS    1
##   8219-VYBVI    1
##   8220-OCUFY    1
##   8221-EQDGL    1
##   8221-HVAYI    1
##   8224-DWCKX    1
##   8224-IVVPA    1
##   8224-KDLKN    1
##   8224-UAXBZ    1
##   8225-BTJAU    1
##   8226-BXGES    1
##   8229-BUJHX    1
##   8229-MYEJZ    1
##   8229-TNIQA    1
##   8231-BSWXX    1
##   8232-CTLKO    1
##   8232-UTFOZ    1
##   8234-GSZYK    1
##   8237-ULIXL    1
##   8241-JUIQO    1
##   8242-JSVBO    1
##   8242-PDSGJ    1
##   8242-SOQUO    1
##   8245-UMPYT    1
##   8246-SHFGA    1
##   8249-THVEC    1
##   8250-ZNGGW    1
##   8257-RZAHR    1
##   8258-GSTJK    1
##   8259-DZLIZ    1
##   8259-NFJTV    1
##   8260-NGFNY    1
##   8261-GWDBQ    1
##   8262-COGGB    1
##   8263-JQAIK    1
##   8263-OKETD    1
##   8263-QMNTJ    1
##   8265-HKSOW    1
##   8266-VBFQL    1
##   8267-KFGYD    1
##   8267-ZNYVZ    1
##   8268-YDIXR    1
##   8270-RKSAP    1
##   8272-ONJLV    1
##   8276-MQBYC    1
##   8277-RVRSV    1
##   8280-MQRQN    1
##   8285-ABVLB    1
##   8286-AFUYI    1
##   8290-YWKHZ    1
##   8292-FRFZQ    1
##   8292-ITGYJ    1
##   8292-TYSPY    1
##   8294-UIMBA    1
##   8295-FHIVV    1
##   8295-KMENE    1
##   8305-VHZBZ    1
##   8309-IEYJD    1
##   8309-PPCED    1
##   8311-UEUAB    1
##   8313-AFGBW    1
##   8313-KTIHG    1
##   8313-NDOIA    1
##   8314-DPQHL    1
##   8314-HTWVE    1
##   8316-BBQAY    1
##   8317-BVKSO    1
##   8318-LCNBW    1
##   8319-QBEHW    1
##   8325-QRPZR    1
##   8327-LZKAS    1
##   8327-WKMIE    1
##   8328-SKJNO    1
##   8329-GWVPJ    1
##   8329-IBCTI    1
##   8329-UTMVM    1
##   8331-ZXFOE    1
##   8332-OSJDW    1
##   8336-TAVKX    1
##   8337-MSSXB    1
##   8337-UPOAQ    1
##   8338-QIUNR    1
##   8344-WFMFH    1
##   8345-MVDYC    1
##   8347-GDTMP    1
##   8348-HFYIV    1
##   8348-JLBUG    1
##   8350-NYMVI    1
##   8356-WUAOJ    1
##   8357-EQXFO    1
##   8361-LBRDI    1
##   8361-LTMKD    1
##   8364-TRMMK    1
##   8372-JUXUI    1
##   8374-UULRV    1
##   8374-XGEJJ    1
##   8375-DKEBR    1
##   8375-KVTHK    1
##   8378-LKJAF    1
##   8380-MQINP    1
##   8380-PEFPE    1
##   8382-SHQEH    1
##   8383-SGHJU    1
##   8384-FZBJK    1
##   8387-MOJJT    1
##   8387-UGUSU    1
##   8388-DMKAE    1
##   8388-FYNPZ    1
##   8390-FESFV    1
##   8393-DLHGA    1
##   8393-JMVMB    1
##   8395-ETZKQ    1
##   8397-MVTAZ    1
##   8398-TBIYD    1
##   8399-YNDCH    1
##   8400-WZICQ    1
##   8401-EMUWF    1
##   8402-EIVQS    1
##   8402-OOOHJ    1
##   8404-FYDIB    1
##   8404-GFGCZ    1
##   8404-VIOMB    1
##   8404-VLQFB    1
##   8405-IGQFX    1
##   8406-LNMHF    1
##   8409-WQJUX    1
##   8410-BGQXN    1
##   8413-VONUO    1
##   8413-YNHNV    1
##   8414-MYSHR    1
##   8414-OOEEL    1
##   8417-FMLZI    1
##   8417-GSODA    1
##   8421-WZOOW    1
##   8429-XIBUM    1
##   8430-TWCBX    1
##   8433-WPJTV    1
##   8433-WXGNA    1
##   8434-PNQZX    1
##   8434-VGEQQ    1
##   8436-BJUMM    1
##   8439-LTUGF    1
##   8441-SHIPE    1
##   8443-WVPSS    1
##   8443-ZRDBZ    1
##   8444-WRIDW    1
##   8445-DNBAE    1
##   8450-JOVAH    1
##   8450-LUGUK    1
##   8450-UYIBU    1
##   8454-AATJP    1
##   8455-HIRAQ    1
##   8456-QDAVC    1
##   8457-XIGKN    1
##   8461-EFQYM    1
##   8464-EETCQ    1
##   8465-SBRXP    1
##   8466-PZBLH    1
##   8467-WYNSR    1
##   8468-EHYJA    1
##   8468-FZTOE    1
##   8469-SNFFH    1
##   8473-VUVJN    1
##   8474-UMLNT    1
##   8480-PPONV    1
##   8481-YYXWG    1
##   8485-GJCDN    1
##   8486-AYEQH    1
##   8490-BXHEO    1
##   8495-LJDFO    1
##   8495-PRWFH    1
##   8496-DMZUK    1
##   8496-EJAUI    1
##   8498-XXGWA    1
##   8499-BRXTD    1
##   8510-AWCXC    1
##   8510-BBWMU    1
##   8510-TMWYB    1
##   8512-WIWYV    1
##   8513-OLYGY    1
##   8514-VZHEB    1
##   8515-OCTJS    1
##   8519-IMDHU    1
##   8519-QJGJD    1
##   8532-UEFWH    1
##   8535-SFUTN    1
##   8540-ZQGEA    1
##   8541-QVFKM    1
##   8543-MSDMF    1
##   8544-GOQSH    1
##   8544-JNBOX    1
##   8547-NSBBO    1
##   8548-AWOFC    1
##   8550-XSXUQ    1
##   8552-OBVRU    1
##   8559-CIZFV    1
##   8559-WNQZS    1
##   8561-NMTBD    1
##   8562-GHPPI    1
##   8563-IIOXK    1
##   8563-OYMQY    1
##   8564-LDKFL    1
##   8565-CLBZW    1
##   8565-HBFNN    1
##   8565-WUXZU    1
##   8566-YPRGL    1
##   8570-KLJYJ    1
##   8571-ZCMCX    1
##   8573-CGOCC    1
##   8573-JGCZW    1
##   8577-QSOCG    1
##   8580-AECUZ    1
##   8580-QVLOC    1
##   8582-KRHPJ    1
##   8584-KMVXD    1
##   8587-XYZSF    1
##   8590-OHDIW    1
##   8590-YFFQO    1
##   8591-NXRCV    1
##   8591-TKMZH    1
##   8592-PLTMQ    1
##   8593-WHYHV    1
##   8595-SIZNC    1
##   8597-CTXVJ    1
##   8597-CWYHH    1
##   8601-QACRS    1
##   8603-IJWDN    1
##   8605-ITULD    1
##   8606-CIQUL    1
##   8606-OEGQZ    1
##   8608-OZTLB    1
##   8610-WFCJF    1
##   8610-ZIKJJ    1
##   8612-GXIDD    1
##   8614-VGMMV    1
##   8617-ENBDS    1
##   8619-IJNDK    1
##   8620-RJPZN    1
##   8621-MNIHH    1
##   8622-ZLFKO    1
##   8623-TMRBY    1
##   8623-ULFNQ    1
##   8624-GIOUT    1
##   8625-AZYZY    1
##   8626-PTQGE    1
##   8626-XHBIE    1
##   8627-EHGIP    1
##   8627-ZYGSZ    1
##   8628-MFKAX    1
##   8630-FJLIB    1
##   8630-QSGXK    1
##   8631-NBHFZ    1
##   8631-WUXGY    1
##   8631-XVRZL    1
##   8634-CILSZ    1
##   8634-MPHTR    1
##   8637-XJIVR    1
##   8639-NHQEI    1
##   8640-SDGKB    1
##   8642-GVWRF    1
##   8644-XLFBW    1
##   8644-XYTSV    1
##   8645-KOMJQ    1
##   8645-KWHJO    1
##   8646-JCOMS    1
##   8647-SDTWQ    1
##   8648-PFRMP    1
##   8650-RHRKE    1
##   8651-ENBZX    1
##   8652-YHIYU    1
##   8654-DHAOW    1
##   8659-HDIYE    1
##   8659-IOOPU    1
##   8660-BUETV    1
##   8661-BOYNW    1
##   8663-UPDGF    1
##   8665-UTDHZ    1
##   8668-KNZTI    1
##   8670-ERCJH    1
##   8670-MEFCP    1
##   8671-KKKOS    1
##   8672-OAUPW    1
##   8676-OOQEJ    1
##   8676-TRMJS    1
##   8677-HDZEE    1
##   8679-JOEVF    1
##   8679-LZBMD    1
##   8680-CGLTP    1
##   8681-ICONS    1
##   8685-WHQPW    1
##   8687-BAFGU    1
##   8690-UPCZI    1
##   8690-ZVLCL    1
##   8695-ARGXZ    1
##   8695-WDYEA    1
##   8696-JKZNU    1
##   8699-ASUFO    1
##   8701-DGLVH    1
##   8705-DWKTI    1
##   8705-WZCYL    1
##   8706-HRADD    1
##   8707-HOEDG    1
##   8707-RMEZH    1
##   8708-XPXHZ    1
##   8709-KRDVL    1
##   8710-YGLWG    1
##   8711-LOBKY    1
##   8713-IGZSO    1
##   8714-CTZJW    1
##   8714-EUHJO    1
##   8715-KKTFG    1
##   8717-VCTXJ    1
##   8718-PTMEZ    1
##   8720-RQSBJ    1
##   8722-NGNBH    1
##   8722-PRFDV    1
##   8725-JEDFD    1
##   8727-JQFHV    1
##   8727-XDPUD    1
##   8728-SKJLR    1
##   8731-WBBMB    1
##   8734-DKSTZ    1
##   8734-FNWVH    1
##   8735-DCXNF    1
##   8735-IJJEG    1
##   8735-NBLWT    1
##   8735-SDUFN    1
##   8738-JOKAR    1
##   8739-QOTTN    1
##   8739-WWKDU    1
##   8739-XNIKG    1
##   8740-CRYFY    1
##   8740-XLHDR    1
##   8741-LQOBK    1
##   8745-PVESG    1
##   8746-BFOAJ    1
##   8746-OQQRW    1
##   8747-UDCOI    1
##   8748-HFWBO    1
##   8749-CLJXC    1
##   8749-JMNKX    1
##   8749-TZYEC    1
##   8750-QWZAJ    1
##   8751-EDEKA    1
##   8752-GHJFU    1
##   8752-IMQOS    1
##   8752-STIVR    1
##   8755-IWJHN    1
##   8755-OGKNA    1
##   8756-RDDLT    1
##   8757-TFHHJ    1
##   8760-ZRHKE    1
##   8761-NSOBC    1
##   8763-KIAFH    1
##   8766-PAFNE    1
##   8769-KKTPH    1
##   8773-HHUOZ    1
##   8774-GSBUN    1
##   8775-CEBBJ    1
##   8775-ERLNB    1
##   8775-LHDJH    1
##   8777-MBMTS    1
##   8777-PVYGU    1
##   8778-LMWTJ    1
##   8779-QRDMV    1
##   8779-YIQQA    1
##   8780-IHCRN    1
##   8780-IXSTS    1
##   8780-RSYYU    1
##   8780-YRMTT    1
##   8782-LKFPK    1
##   8782-NUUOL    1
##   8784-CGILN    1
##   8785-CJSHH    1
##   8785-EPNCG    1
##   8788-DOXSU    1
##   8791-GFXLZ    1
##   8792-AOROI    1
##   8799-OXZMD    1
##   8800-JOOCF    1
##   8800-ZKRFW    1
##   8802-UNOJF    1
##   8805-JNRAZ    1
##   8806-EAGWC    1
##   8807-ARQET    1
##   8807-OPMBM    1
##   8808-ELEHO    1
##   8809-RIHDD    1
##   8809-XKHMD    1
##   8812-ZRHFP    1
##   8815-LMFLX    1
##   8816-VXNZD    1
##   8818-DOPVL    1
##   8818-XYFCQ    1
##   8819-IMISP    1
##   8819-WFGGJ    1
##   8819-ZBYNA    1
##   8821-KVZKQ    1
##   8821-XNHVZ    1
##   8822-KNBHV    1
##   8823-RLPWL    1
##   8824-RWFXJ    1
##   8835-VSDSE    1
##   8837-VVWLQ    1
##   8838-GPHZP    1
##   8840-DQLGN    1
##   8844-TONUD    1
##   8845-LWKGE    1
##   8847-GEOOQ    1
##   8849-AYPTR    1
##   8849-GYOKR    1
##   8849-PRIQJ    1
##   8851-RAGOV    1
##   8853-TZDGH    1
##   8854-CCVSQ    1
##   8857-CUPFQ    1
##   8859-AXJZP    1
##   8859-DZTGQ    1
##   8859-YSTWS    1
##   8861-HGGKB    1
##   8865-TNMNX    1
##   8868-GAGIO    1
##   8868-WOZGU    1
##   8869-LIHMK    1
##   8869-TORSS    1
##   8871-JLMHM    1
##   8873-GLDMH    1
##   8873-TMKGR    1
##   8874-EJNSR    1
##   8875-AKBYH    1
##   8878-HMWBV    1
##   8878-RYUKI    1
##   8879-XUAHX    1
##   8879-ZKJOF    1
##   8882-TLVRW    1
##   8883-ANODQ    1
##   8883-GRDWQ    1
##   8884-ADFVN    1
##   8884-FEEWR    1
##   8884-MRNSU    1
##   8885-QSQBX    1
##   8887-IPQNC    1
##   8894-JVDCV    1
##   8896-BQTTI    1
##   8896-RAZCR    1
##   8898-KASCD    1
##   8901-HJXTF    1
##   8901-UPRHR    1
##   8902-ZEOVF    1
##   8903-WMRNW    1
##   8903-XEBGX    1
##   8904-OPDCK    1
##   8905-IAZPF    1
##   8908-NMQTX    1
##   8908-SLFCJ    1
##   8909-BOLNL    1
##   8910-ICHIU    1
##   8910-LEDAG    1
##   8914-RBTSB    1
##   8915-NNTRC    1
##   8917-FAEMR    1
##   8917-SZTTJ    1
##   8919-FYFQZ    1
##   8920-NAVAY    1
##   8922-LIEGH    1
##   8922-NPKBJ    1
##   8929-KSWIH    1
##   8930-XOTDP    1
##   8931-GJJIQ    1
##   8932-CZHRQ    1
##   8937-RDTHP    1
##   8938-UMKPI    1
##   8942-DBMHZ    1
##   8943-URTMR    1
##   8944-AILEF    1
##   8945-GRKHX    1
##   8945-MUQUF    1
##   8946-BFWSG    1
##   8947-YRTDV    1
##   8949-JTMAY    1
##   8950-MTZNV    1
##   8952-WCVCD    1
##   8957-THMOA    1
##   8958-JPTRR    1
##   8961-QDZZJ    1
##   8963-JLGJT    1
##   8963-MQVYN    1
##   8966-KZXXA    1
##   8966-OIQHG    1
##   8966-SNIZF    1
##   8967-SZQAS    1
##   8969-PRHFK    1
##   8970-ANWXO    1
##   8972-HJWNV    1
##   8974-OVACP    1
##   8975-SKGRX    1
##   8976-OQHGT    1
##   8979-CAMGB    1
##   8980-WQFWL    1
##   8981-FJGLA    1
##   8982-NHAVY    1
##   8984-EYLLL    1
##   8984-HPEMB    1
##   8985-OOPOS    1
##   8988-ECPJR    1
##   8990-YOZLV    1
##   8990-ZXLSU    1
##   8992-CEUEN    1
##   8992-JQYUN    1
##   8992-OBVDG    1
##   8992-VONJD    1
##   8993-IZEUX    1
##   8993-PHFWD    1
##   8996-ZROXE    1
##   8999-BOHSE    1
##   8999-EXMNO    1
##   8999-XXGNS    1
##   8999-YPYBV    1
##   9000-PLFUZ    1
##   9003-CPATH    1
##   9013-AQORL    1
##   9018-PCIOK    1
##   9019-QVLZD    1
##   9025-AOMKI    1
##   9025-ZRPVR    1
##   9026-LHEVG    1
##   9026-RNUJS    1
##   9027-TMATR    1
##   9027-YFHQJ    1
##   9028-LIHRP    1
##   9029-FEGVJ    1
##   9030-QGZNL    1
##   9031-ZVQPT    1
##   9033-EOXWV    1
##   9036-CSKBW    1
##   9039-RBEEE    1
##   9039-ZVJDC    1
##   9040-KZVWO    1
##   9046-DQMTP    1
##   9046-JBFWA    1
##   9048-JVYVF    1
##   9050-IKDZA    1
##   9050-QLROH    1
##   9052-DHNKM    1
##   9052-VKDUW    1
##   9053-EJUNL    1
##   9053-JZFKV    1
##   9054-FOWNV    1
##   9055-MOJJJ    1
##   9057-MSWCO    1
##   9057-SIHCH    1
##   9058-CBREO    1
##   9058-HRZSV    1
##   9058-MJLZC    1
##   9060-HJJRW    1
##   9061-TIHDA    1
##   9063-ZGTUY    1
##   9065-ZCPQX    1
##   9066-QRSDU    1
##   9067-SQTNS    1
##   9067-YGSCA    1
##   9068-FHQHD    1
##   9068-VPWQQ    1
##   9069-LGEUL    1
##   9070-BCKQP    1
##   9073-ZZIAY    1
##   9074-KGVOX    1
##   9076-AXYIK    1
##   9079-LWTFD    1
##   9079-YEXQJ    1
##   9081-WWXKP    1
##   9084-OAYKL    1
##   9086-YJYXS    1
##   9087-EYCPR    1
##   9089-UOWJG    1
##   9090-SGQXL    1
##   9091-WTUUY    1
##   9092-GDZKO    1
##   9093-FPDLG    1
##   9094-AZPHK    1
##   9095-HFAFX    1
##   9097-ZUBYC    1
##   9099-FTUHS    1
##   9101-BWFSS    1
##   9101-NTIXF    1
##   9102-IAYHT    1
##   9102-OXKFY    1
##   9103-CXVOK    1
##   9103-TCIHJ    1
##   9107-UKCKY    1
##   9108-EJFJP    1
##   9108-EQPNQ    1
##   9110-HSGTV    1
##   9112-WSNPU    1
##   9114-AAFQH    1
##   9114-DPSIA    1
##   9114-VEPUF    1
##   9115-YQHGA    1
##   9117-SHLZX    1
##   9121-PHQSR    1
##   9122-UMROB    1
##   9124-LHCJQ    1
##   9127-FHJBZ    1
##   9127-QRZMH    1
##   9128-CPXKI    1
##   9129-UXERG    1
##   9133-AYJZG    1
##   9134-CEQMF    1
##   9134-WYRVP    1
##   9135-HSWOC    1
##   9135-MGVPY    1
##   9136-ALYBR    1
##   9137-NOQKA    1
##   9137-UIYPG    1
##   9138-EFSMO    1
##   9139-TWBAS    1
##   9139-WQQDY    1
##   9140-CZQZZ    1
##   9142-KZXOP    1
##   9142-XMYJH    1
##   9143-CANJF    1
##   9146-JRIOX    1
##   9150-HEPMB    1
##   9150-KPBJQ    1
##   9152-AMKAK    1
##   9153-BTBVV    1
##   9154-QDGTH    1
##   9158-VCTQB    1
##   9163-GHAYE    1
##   9167-APMXZ    1
##   9168-INPSZ    1
##   9169-BSVIN    1
##   9170-ARBTB    1
##   9170-CCKOU    1
##   9170-GYZJC    1
##   9172-ANCRX    1
##   9172-JITSM    1
##   9173-IVZVP    1
##   9174-FKWZE    1
##   9174-IHETN    1
##   9178-JHUVJ    1
##   9184-GALIL    1
##   9185-TQCVP    1
##   9189-JWSHV    1
##   9190-MFJLN    1
##   9191-MYQKX    1
##   9194-GFVOI    1
##   9199-PWQVC    1
##   9200-NLNPD    1
##   9206-GVPEQ    1
##   9207-ZPANB    1
##   9208-OLGAQ    1
##   9209-NWPGU    1
##   9210-IAHGH    1
##   9214-EKVXR    1
##   9220-CXRSC    1
##   9220-ZNKJI    1
##   9221-OTIVJ    1
##   9223-UCPVT    1
##   9224-VTYID    1
##   9225-BZLNZ    1
##   9227-LUNBG    1
##   9227-UAQFT    1
##   9227-YBAXE    1
##   9229-RQABD    1
##   9231-ZJYAM    1
##   9233-PSYHO    1
##   9236-NDUCW    1
##   9237-HQITU    1
##   9239-GZHZE    1
##   9239-ZBZZV    1
##   9242-TKFSV    1
##   9244-ZVAPM    1
##   9248-OJYKK    1
##   9249-FXSCK    1
##   9250-WYPLL    1
##   9251-AWQGT    1
##   9251-WNSOD    1
##   9253-QXKBE    1
##   9253-VIFJQ    1
##   9254-RBFON    1
##   9256-JTBNZ    1
##   9257-AZMTZ    1
##   9258-CNWAC    1
##   9259-PACGQ    1
##   9261-WDCAF    1
##   9269-CQOOL    1
##   9272-LSVYH    1
##   9274-CNFMO    1
##   9274-UARKJ    1
##   9277-JOOMO    1
##   9278-VZKCD    1
##   9279-CJEOJ    1
##   9281-CEDRU    1
##   9281-OFDMF    1
##   9281-PKKZE    1
##   9282-IZGQK    1
##   9283-LZQOH    1
##   9286-BHDQG    1
##   9286-DOJGF    1
##   9289-LBQVU    1
##   9290-SHCMB    1
##   9294-TDIPC    1
##   9297-EONCV    1
##   9297-FVVDH    1
##   9298-WGMRW    1
##   9300-AGZNL    1
##   9300-RENDD    1
##   9305-CDSKC    1
##   9306-CPCBC    1
##   9308-ANMVE    1
##   9309-BZGNT    1
##   9313-CDOGY    1
##   9313-QOLTZ    1
##   9314-IJWSQ    1
##   9314-QDMDW    1
##   9317-WZPGV    1
##   9318-NKNFC    1
##   9323-HGFWY    1
##   9327-QSDED    1
##   9330-DHBFL    1
##   9330-IJWIO    1
##   9330-VOFSZ    1
##   9332-GYWLO    1
##   9334-GWGOW    1
##   9337-SRRNI    1
##   9339-FIIJL    1
##   9342-VNIMQ    1
##   9347-AERRL    1
##   9348-ROUAI    1
##   9348-YVOMK    1
##   9350-VLHMB    1
##   9350-ZXYJC    1
##   9351-HXDMR    1
##   9351-LZYGF    1
##   9355-NPPFS    1
##   9356-AXGMP    1
##   9357-UJRUN    1
##   9359-JANWS    1
##   9359-UGBTK    1
##   9360-AHGNL    1
##   9360-OMDZZ    1
##   9361-YNQWJ    1
##   9362-MWODR    1
##   9364-YKUVW    1
##   9365-CSLBQ    1
##   9365-SRSZE    1
##   9367-OIUXP    1
##   9367-TCUYN    1
##   9367-WXLCH    1
##   9369-XFEHK    1
##   9371-BITHB    1
##   9372-TXXPS    1
##   9373-WSLOY    1
##   9374-YOLBJ    1
##   9375-MHRRS    1
##   9378-FXTIZ    1
##   9381-NDKME    1
##   9385-EHGDO    1
##   9385-NXKDA    1
##   9386-LDCZR    1
##   9388-ZEYVT    1
##   9389-ACWBI    1
##   9391-DXGGG    1
##   9391-EOYLI    1
##   9391-LMANN    1
##   9391-TTOYH    1
##   9391-YZEJW    1
##   9392-XBGTD    1
##   9396-ZSFLL    1
##   9397-TZSHA    1
##   9398-MMQTO    1
##   9399-APLBT    1
##   9402-CXWPL    1
##   9402-ORRAH    1
##   9402-ROUMJ    1
##   9405-GPBBG    1
##   9408-HRXRK    1
##   9408-SSNVZ    1
##   9411-TPQQV    1
##   9412-ARGBX    1
##   9412-GHEEC    1
##   9415-DPEWS    1
##   9415-TPKRV    1
##   9415-ZNBSX    1
##   9418-RUKPH    1
##   9419-IPPBE    1
##   9420-LOJKX    1
##   9424-CMPOG    1
##   9426-SXNHE    1
##   9430-FRQOC    1
##   9430-NKQLY    1
##   9432-RUVSL    1
##   9432-VOFYX    1
##   9435-JMLSX    1
##   9436-ZBZCT    1
##   9441-QHEVC    1
##   9442-JTWDL    1
##   9443-JUBUO    1
##   9444-JTXHZ    1
##   9445-SZLCH    1
##   9445-ZUEQE    1
##   9447-YPTBX    1
##   9448-REEVD    1
##   9450-TRJUU    1
##   9451-LPGOO    1
##   9451-WLYRI    1
##   9453-PATOS    1
##   9462-MJUAW    1
##   9465-RWMXL    1
##   9467-ROOLM    1
##   9469-WEJBT    1
##   9470-RTWDV    1
##   9470-XCCEM    1
##   9470-YFUYI    1
##   9473-CBZOP    1
##   9474-PHLYD    1
##   9475-NNDGC    1
##   9477-LGWQI    1
##   9479-HYNYL    1
##   9480-BQJEI    1
##   9481-IEBZY    1
##   9481-SFCQY    1
##   9481-WHGWY    1
##   9483-GCPWE    1
##   9488-FVZCC    1
##   9488-FYQAU    1
##   9488-HGMJH    1
##   9489-DEDVP    1
##   9489-JMTTN    1
##   9489-UTFKA    1
##   9490-DFPMD    1
##   9492-TOKRI    1
##   9494-BDNNC    1
##   9494-MRNYX    1
##   9495-REDIY    1
##   9495-SKLKD    1
##   9496-IVVRP    1
##   9497-QCMMS    1
##   9498-FIMXL    1
##   9499-XPZXM    1
##   9500-IWPXQ    1
##   9500-LTVBP    1
##   9500-WBGRP    1
##   9501-UKKNL    1
##   9503-XJUME    1
##   9504-DSHWM    1
##   9504-YAZWB    1
##   9505-SQFSW    1
##   9506-UXUSK    1
##   9507-EXLTT    1
##   9507-HSMMZ    1
##   9508-ILZDG    1
##   9509-MPYOD    1
##   9512-PHSMG    1
##   9512-UIBFX    1
##   9513-DXHDA    1
##   9514-JDSKI    1
##   9518-IMLHK    1
##   9518-RWHZL    1
##   9518-XXBXE    1
##   9522-BNTHX    1
##   9522-ZSINC    1
##   9524-EGPJC    1
##   9526-BIHHD    1
##   9526-JAWYF    1
##   9529-OFXHY    1
##   9530-EHPOH    1
##   9530-GRMJG    1
##   9531-NSBMR    1
##   9534-NSXEM    1
##   9537-JALFH    1
##   9537-VHDTA    1
##   9540-JYROE    1
##   9541-PWTWO    1
##   9541-ZPSEA    1
##   9544-PYPSJ    1
##   9546-CQJSU    1
##   9546-KDTRB    1
##   9547-ITEFG    1
##   9548-LERKT    1
##   9548-LIGTA    1
##   9548-ZMVTX    1
##   9552-TGUZV    1
##   9553-DLCLU    1
##   9554-DFKIC    1
##   9555-SAHUZ    1
##   9558-IHEZX    1
##   9560-ARGQJ    1
##   9560-BBZXK    1
##   9564-KCLHR    1
##   9565-AXSMR    1
##   9565-DJPIB    1
##   9565-FLVCG    1
##   9565-JSNFM    1
##   9570-KYEUA    1
##   9571-EDEBV    1
##   9572-MTILT    1
##   9572-WUKSB    1
##   9574-BOSMD    1
##   9574-RKJIF    1
##   9575-IWCAZ    1
##   9576-ANLXO    1
##   9576-SYUHJ    1
##   9577-WJVCQ    1
##   9578-FOMUK    1
##   9578-VRMNM    1
##   9581-GVBXT    1
##   9584-EXCDZ    1
##   9585-KKMFD    1
##   9586-JGQKH    1
##   9588-OZDMQ    1
##   9588-YRFHY    1
##   9589-ABEPT    1
##   9591-YVTEB    1
##   9592-ERDKV    1
##   9593-CVZKR    1
##   9600-NAXZN    1
##   9600-UDOPK    1
##   9601-BRXPO    1
##   9602-WCXPI    1
##   9603-OAIHC    1
##   9605-WGJVW    1
##   9606-PBKBQ    1
##   9609-BENEA    1
##   9610-WCESF    1
##   9611-CTWIH    1
##   9614-RMGHA    1
##   9617-INGJY    1
##   9617-UDPEU    1
##   9618-LFJRU    1
##   9619-GSATL    1
##   9620-ENEJV    1
##   9620-QJREV    1
##   9621-OUPYD    1
##   9624-EGDEQ    1
##   9625-QNLUX    1
##   9625-QSTYE    1
##   9625-RZFUK    1
##   9626-VFRGG    1
##   9626-WEQRM    1
##   9629-NHXFW    1
##   9631-RXVJM    1
##   9631-XEYKE    1
##   9633-DENPU    1
##   9633-XQABV    1
##   9637-CDTKZ    1
##   9637-EIHEQ    1
##   9638-JIQYA    1
##   9639-BUJXT    1
##   9640-ZSLDC    1
##   9643-AVVWI    1
##   9643-YBLUR    1
##   9644-KVCNC    1
##   9644-UMGQA    1
##   9646-NMHXE    1
##   9647-ERGBE    1
##   9648-BCHKM    1
##   9650-VBUOG    1
##   9651-GTSAQ    1
##   9658-WYUFB    1
##   9659-QEQSY    1
##   9659-ZTWSM    1
##   9661-ACXBS    1
##   9661-JALZV    1
##   9661-MHUMO    1
##   9667-EQRXU    1
##   9667-TKTVZ    1
##   9668-PUGNU    1
##   9670-BPNXF    1
##   9674-EHPPG    1
##   9675-ICXCT    1
##   9677-AVKED    1
##   9680-NIAUV    1
##   9681-KYGYB    1
##   9681-OXGVC    1
##   9685-WKZGT    1
##   9688-YGXVR    1
##   9689-PTNPG    1
##   9691-HKOVS    1
##   9692-TUSXH    1
##   9693-XMUOB    1
##   9695-IDRZR    1
##   9696-RMYBA    1
##   9699-UBQFS    1
##   9700-ISPUP    1
##   9700-ZCLOT    1
##   9701-CDXHR    1
##   9702-AIUJO    1
##   9705-IOVQQ    1
##   9705-ZJBCG    1
##   9708-HPXWZ    1
##   9708-KFDBY    1
##   9710-NJERN    1
##   9710-ZUSHQ    1
##   9711-FJTBX    1
##   9714-EDSUC    1
##   9715-SBVSU    1
##   9715-WZCLW    1
##   9717-IOAAF    1
##   9717-QEBGU    1
##   9720-JJJOR    1
##   9722-UJOJR    1
##   9725-SCPZG    1
##   9728-FTTVZ    1
##   9730-DRTMJ    1
##   9732-EQMWY    1
##   9732-KPKBW    1
##   9732-OUYRN    1
##   9734-UYXQI    1
##   9734-YWGEX    1
##   9738-QLWTP    1
##   9739-JLPQJ    1
##   9741-YLNTD    1
##   9742-XOKTS    1
##   9743-DQKQW    1
##   9746-MDMBK    1
##   9746-UGFAC    1
##   9746-YKGXB    1
##   9747-DDZOS    1
##   9750-BOOHV    1
##   9752-ZNQUT    1
##   9753-OYLBX    1
##   9754-CLVZW    1
##   9755-JHNMN    1
##   9758-MFWGD    1
##   9761-XUJWD    1
##   9762-YAQAA    1
##   9763-GRSKD    1
##   9763-PDTKK    1
##   9764-REAFF    1
##   9766-HGEDE    1
##   9767-FFLEM    1
##   9769-TSBZE    1
##   9770-KXGQU    1
##   9770-LXDBK    1
##   9773-PEQBZ    1
##   9774-NRNAU    1
##   9776-CLUJA    1
##   9776-OJUZI    1
##   9777-IQHWP    1
##   9777-WJJPR    1
##   9778-OGKQZ    1
##   9779-DPNEJ    1
##   9780-FKVVF    1
##   9782-LGXMC    1
##   9786-IJYDL    1
##   9786-YWNHU    1
##   9787-XVQIU    1
##   9788-HNGUT    1
##   9788-YTFGE    1
##   9793-WECQC    1
##   9795-NREXC    1
##   9795-SHUHB    1
##   9795-VOWON    1
##   9796-BPKIW    1
##   9796-MVYXX    1
##   9798-DRYDS    1
##   9798-OPFEM    1
##   9799-CAYJJ    1
##   9800-ONTFE    1
##   9800-OUIGR    1
##   9801-GDWGV    1
##   9801-NOSHQ    1
##   9802-CAQUT    1
##   9803-FTJCG    1
##   9804-ICWBG    1
##   9805-FILKB    1
##   9809-IMGCQ    1
##   9812-GHVRI    1
##   9814-AOUDH    1
##   9817-APLHW    1
##   9818-XQCUV    1
##   9819-FBNSV    1
##   9820-RMCQV    1
##   9821-BESNZ    1
##   9821-POOTN    1
##   9822-BIIGN    1
##   9822-OAOVB    1
##   9822-WMWVG    1
##   9823-EALYC    1
##   9824-BEMCV    1
##   9824-QCJPK    1
##   9825-YCXWZ    1
##   9828-AOQLM    1
##   9828-QHFBK    1
##   9830-ECLEN    1
##   9831-BPFRI    1
##   9833-TGFHX    1
##   9835-ZIITK    1
##   9837-BMCLM    1
##   9837-FWLCH    1
##   9838-BFCQT    1
##   9839-ETQOE    1
##   9840-DVNDC    1
##   9840-EFJQB    1
##   9842-EFSYY    1
##   9844-FELAJ    1
##   9845-PEEKO    1
##   9845-QOMAD    1
##   9846-GKXAS    1
##   9847-HNVGP    1
##   9848-JQJTX    1
##   9850-OWRHQ    1
##   9851-KIELU    1
##   9851-QXEEQ    1
##   9853-JFZDU    1
##   9860-LISIZ    1
##   9861-PDSZP    1
##   9862-KJTYK    1
##   9863-JZAIC    1
##   9866-OCCKE    1
##   9866-QEVEE    1
##   9867-JCZSP    1
##   9867-NNXLC    1
##   9867-XOBQA    1
##   9871-ELEYA    1
##   9873-MNDKV    1
##   9874-QLCLH    1
##   9878-TNQGW    1
##   9880-TDQAC    1
##   9881-VCZEP    1
##   9885-AIBVB    1
##   9885-CSMWE    1
##   9885-MFVSU    1
##   9888-ZCUMM    1
##   9889-TMAHG    1
##   9891-NQDBD    1
##   9894-EZEWG    1
##   9894-QMIMJ    1
##   9895-VFOXH    1
##   9896-UYMIE    1
##   9897-KXHCM    1
##   9898-KZQDZ    1
##   9903-LYSAB    1
##   9904-EHEVJ    1
##   9906-NHHVC    1
##   9907-SWKKF    1
##   9909-DFRJA    1
##   9909-IDLEK    1
##   9912-GVSEQ    1
##   9912-OMZDS    1
##   9916-AYHTC    1
##   9917-KWRBE    1
##   9919-FZDED    1
##   9919-KNPOO    1
##   9919-YLNNG    1
##   9921-EZKBY    1
##   9921-QFQUL    1
##   9921-ZVRHG    1
##   9924-JPRMC    1
##   9926-PJHDQ    1
##   9927-DSWDF    1
##   9928-BZVLZ    1
##   9929-PLVPA    1
##   9931-DCEZH    1
##   9931-KGHOA    1
##   9932-WBWIK    1
##   9933-QRGTX    1
##   9938-EKRGF    1
##   9938-PRCVK    1
##   9938-TKDGL    1
##   9938-ZREHM    1
##   9940-HPQPG    1
##   9940-RHLFB    1
##   9943-VSZUV    1
##   9944-AEXBM    1
##   9944-HKVVB    1
##   9945-PSVIP    1
##   9947-OTFQU    1
##   9948-YPTDG    1
##   9950-MTGYX    1
##   9953-ZMKSM    1
##   9955-QOPOY    1
##   9957-YODKZ    1
##   9958-MEKUC    1
##   9959-WOFKT    1
##   9961-JBNMK    1
##   9962-BFPDU    1
##   9964-WBQDJ    1
##   9965-YOKZB    1
##   9967-ATRFS    1
##   9968-FFVVH    1
##   9970-QBCDA    1
##   9971-ZWPBF    1
##   9972-EWRJS    1
##   9972-NKTFD    1
##   9972-VAFJJ    1
##   9974-JFBHQ    1
##   9975-GPKZU    1
##   9975-SKRNR    1
##   9978-HYCIN    1
##   9979-RGMZT    1
##   9985-MWVIX    1
##   9986-BONCE    1
##   9987-LUTYD    1
##   9992-RRAMN    1
##   9992-UJOEL    1
##   9993-LHIEB    1
##   9995-HOTOH    1
## 
## $gender
##         
## variable [,1]
##   Female 3488
##   Male   3555
## 
## $SeniorCitizen
## NULL
## 
## $Partner
##         
## variable [,1]
##      No  3641
##      Yes 3402
## 
## $Dependents
##         
## variable [,1]
##      No  4933
##      Yes 2110
## 
## $tenure
## NULL
## 
## $PhoneService
##         
## variable [,1]
##      No   682
##      Yes 6361
## 
## $MultipleLines
##                   
## variable           [,1]
##   No               3390
##   No phone service  682
##   Yes              2971
## 
## $InternetService
##              
## variable      [,1]
##   DSL         2421
##   Fiber optic 3096
##   No          1526
## 
## $OnlineSecurity
##                      
## variable              [,1]
##   No                  3498
##   No internet service 1526
##   Yes                 2019
## 
## $OnlineBackup
##                      
## variable              [,1]
##   No                  3088
##   No internet service 1526
##   Yes                 2429
## 
## $DeviceProtection
##                      
## variable              [,1]
##   No                  3095
##   No internet service 1526
##   Yes                 2422
## 
## $TechSupport
##                      
## variable              [,1]
##   No                  3473
##   No internet service 1526
##   Yes                 2044
## 
## $StreamingTV
##                      
## variable              [,1]
##   No                  2810
##   No internet service 1526
##   Yes                 2707
## 
## $StreamingMovies
##                      
## variable              [,1]
##   No                  2785
##   No internet service 1526
##   Yes                 2732
## 
## $Contract
##                 
## variable         [,1]
##   Month-to-month 3875
##   One year       1473
##   Two year       1695
## 
## $PaperlessBilling
##         
## variable [,1]
##      No  2872
##      Yes 4171
## 
## $PaymentMethod
##                            
## variable                    [,1]
##   Bank transfer (automatic) 1544
##   Credit card (automatic)   1522
##   Electronic check          2365
##   Mailed check              1612
## 
## $MonthlyCharges
## NULL
## 
## $Churn
##         
## variable [,1]
##      No  5174
##      Yes 1869
## 
## $TotalCharges.mean
## NULL

2.5 - Análisis longitudinal

longi <- df %>% 
  summarise_all(mean) %>% 
  t() %>% 
  as.data.frame() 
## Warning in mean.default(customerID): argument is not numeric or logical:
## returning NA
## Warning in mean.default(gender): argument is not numeric or logical: returning
## NA
## Warning in mean.default(Partner): argument is not numeric or logical: returning
## NA
## Warning in mean.default(Dependents): argument is not numeric or logical:
## returning NA
## Warning in mean.default(PhoneService): argument is not numeric or logical:
## returning NA
## Warning in mean.default(MultipleLines): argument is not numeric or logical:
## returning NA
## Warning in mean.default(InternetService): argument is not numeric or logical:
## returning NA
## Warning in mean.default(OnlineSecurity): argument is not numeric or logical:
## returning NA
## Warning in mean.default(OnlineBackup): argument is not numeric or logical:
## returning NA
## Warning in mean.default(DeviceProtection): argument is not numeric or logical:
## returning NA
## Warning in mean.default(TechSupport): argument is not numeric or logical:
## returning NA
## Warning in mean.default(StreamingTV): argument is not numeric or logical:
## returning NA
## Warning in mean.default(StreamingMovies): argument is not numeric or logical:
## returning NA
## Warning in mean.default(Contract): argument is not numeric or logical: returning
## NA
## Warning in mean.default(PaperlessBilling): argument is not numeric or logical:
## returning NA
## Warning in mean.default(PaymentMethod): argument is not numeric or logical:
## returning NA
## Warning in mean.default(Churn): argument is not numeric or logical: returning NA
data.frame(variable = rownames(longi), media = longi$V1) %>% 
  arrange(desc(variable)) 
##             variable        media
## 1  TotalCharges.mean 2283.3004408
## 2             tenure   32.3711487
## 3        TechSupport           NA
## 4        StreamingTV           NA
## 5    StreamingMovies           NA
## 6      SeniorCitizen    0.1621468
## 7       PhoneService           NA
## 8      PaymentMethod           NA
## 9            Partner           NA
## 10  PaperlessBilling           NA
## 11    OnlineSecurity           NA
## 12      OnlineBackup           NA
## 13     MultipleLines           NA
## 14    MonthlyCharges   64.7616925
## 15   InternetService           NA
## 16            gender           NA
## 17  DeviceProtection           NA
## 18        Dependents           NA
## 19        customerID           NA
## 20          Contract           NA
## 21             Churn           NA

Observamos que todos los datos son normales excepto la permanencia que vemos que al principio y al final los datos son mucho más altos que en el resto. Lo analizaremos después con un gráfico

Vemos que hay 1869 clientes que abandonan.

2.6 Otros

2.6.1 Vamos a analizar la variable tenure-permanencia con un gráfico

hist(df$tenure,breaks = 30)

Se observa una frecuencia desproporcionada del número de clientes (613) con una permanencia de 1 mes y 362 clientes con permanencia de 72 meses. Puede ser normal que en las compañías telefónicas al principio el número de clientes sea mayor y que luego se vaya estabilizando. Y el hecho de que exista un número más elevado también al llegar a los 72 meses puede ser debido a que es el máximo que la compañía tiene en cuenta.

Al realizar posteriormente la discretización vamos a dejar esto así

2.7 - Análisis de coherencia

Hay dos variables que son las de MonthlyCharges y TotalCharges donde esta última parece ser que es el resultado de la multiplicación de MontlyChages*tenure, no al 100% de exactitid pero si que se aproxima.

Para comprobarlo vamos a observar los resultados de los 15 primeros registros

df$MonthlyCharges[1:15]*df$tenure[1:15]
##  [1]   29.85 1936.30  107.70 1903.50  141.40  797.20 1960.20  297.50 2934.40
## [10] 3481.30  649.35  303.20 5820.30 5081.30 2637.50
df$TotalCharges.mean[1:15]
##  [1]   29.85 1889.50  108.15 1840.75  151.65  820.50 1949.40  301.90 3046.05
## [10] 3487.95  587.45  326.80 5681.10 5036.30 2686.05

Vamos a comprobar la correlación

cor(df$MonthlyCharges*df$tenure,df$TotalCharges.mean)
## [1] 0.9987673

Vemos efectivamente que estas variables tienen una correlación elevada, del 99,8%, por lo que vamos a optar por elimintar la variable TotalCharges.mean

2.7 - Acciones resultado del analisis de calidad de datos y exploratorio

df <- df %>%
  mutate_at(a_factores,.funs = factor)
df$tenure <- as.numeric(df$tenure)
df <- df %>%
  mutate(Churn = ifelse(Churn == 'Yes', 1, 0))
df$Churn <- as.factor(df$Churn)
df$TotalCharges.mean <- NULL

3 - Transformación de datos

3.1 Creación de la variable target

Ya tenemos nuestra variable target Churn en formato de 1 y 0 y tipo factor

Hacemos un conteo con table para ver cuántos clientes abandonan

table(df$Churn)
## 
##    0    1 
## 5174 1869

Vemos que de nuestro total de clientes hay 1869 que abandonan, lo que supone un 26,5% del total

3.2 Prepaparación de las variables independientes

Nuestro df tiene un total de 20 variables, por lo que no vamos a crear una lista corta de variables independientes, trabajaremos con todas estas variables.

Creamos una lista con todas estas variables

indep <- names(df)

Ahora creamos una lista de variables que no usaremos ya que por definición NO son independientes, código cliente y la target

no_usar<-c ('customerID','Churn')

Ahora quitamos estas variables de nuestra lista indep

indep<-setdiff(indep,no_usar)

3.3 Preselección de las variables independientes

A pesar de que nuestra lista de variables sea corta, vamos a usar 2 algoritmos para trabajar esto: Random Forest e Information Value

3.3.1 Preselección con Random Forest

Identifica relaciones no lineales y le pedimos la importancia de las variables con (importance=T)

pre_rf <- randomForest(formula = reformulate(indep,'Churn'), data=
df,mtry=2,ntree=50, importance = T)
pre_rf
## 
## Call:
##  randomForest(formula = reformulate(indep, "Churn"), data = df,      mtry = 2, ntree = 50, importance = T) 
##                Type of random forest: classification
##                      Number of trees: 50
## No. of variables tried at each split: 2
## 
##         OOB estimate of  error rate: 20.83%
## Confusion matrix:
##      0   1 class.error
## 0 4643 531   0.1026285
## 1  936 933   0.5008026

Como importance devuelve una matriz con varias métricas tenemos que extraer el decrecimiento en Gini que es el que más nos interesa, que está en la posición 4

imp_rf <- importance(pre_rf)[,4]
imp_rf <- data.frame(VARIABLE = names(imp_rf), IMP_RF = imp_rf)
imp_rf <- imp_rf %>% arrange(desc(IMP_RF)) %>% mutate(RANKING_RF = 1:nrow(imp_rf))
imp_rf
##                          VARIABLE     IMP_RF RANKING_RF
## tenure                     tenure 278.509592          1
## MonthlyCharges     MonthlyCharges 169.218986          2
## Contract                 Contract 156.096139          3
## PaymentMethod       PaymentMethod 107.168622          4
## OnlineSecurity     OnlineSecurity 106.320271          5
## TechSupport           TechSupport  82.502691          6
## InternetService   InternetService  62.419169          7
## OnlineBackup         OnlineBackup  56.636529          8
## DeviceProtection DeviceProtection  41.173576          9
## PaperlessBilling PaperlessBilling  39.293654         10
## MultipleLines       MultipleLines  33.656623         11
## StreamingMovies   StreamingMovies  32.981717         12
## Partner                   Partner  28.353988         13
## StreamingTV           StreamingTV  27.502099         14
## Dependents             Dependents  26.857912         15
## SeniorCitizen       SeniorCitizen  25.288472         16
## gender                     gender  24.311514         17
## PhoneService         PhoneService   8.654138         18

Cuanto más alto sea el número que nos da significa que más importante es la variable. En nuestro caso las 3 variables más significativas son tenure, MontlyCharges y Contract

3.3.2 Preselección con Information Value

Usaremos la función smbinning.sumiv y se requiere tener la target en formato numérico

Creamos un df temporal que es exactamente el df y simplemente pasamos la target a formato numérico

temp <- mutate(df,Churn = as.numeric(as.character(Churn))) %>% as.data.frame() 

y ahora vemos el ranking de Information value

imp_iv <- smbinning.sumiv(temp[c(indep,'Churn')],y="Churn")
##  
## 
  |                                                        
  |                                                  |   0%
  |                                                        
  |---                                               |   5%
  |                                                        
  |-----                                             |  11%
  |                                                        
  |--------                                          |  16%
  |                                                        
  |-----------                                       |  21%
  |                                                        
  |-------------                                     |  26%
  |                                                        
  |----------------                                  |  32%
  |                                                        
  |------------------                                |  37%
  |                                                        
  |---------------------                             |  42%
  |                                                        
  |------------------------                          |  47%
  |                                                        
  |--------------------------                        |  53%
  |                                                        
  |-----------------------------                     |  58%
  |                                                        
  |--------------------------------                  |  63%
  |                                                        
  |----------------------------------                |  68%
  |                                                        
  |-------------------------------------             |  74%
  |                                                        
  |---------------------------------------           |  79%
  |                                                        
  |------------------------------------------        |  84%
  |                                                        
  |---------------------------------------------     |  89%
  |                                                        
  |-----------------------------------------------   |  95%
  |                                                        
  |--------------------------------------------------| 100%
## 
imp_iv <- imp_iv %>% mutate(Ranking = 1:nrow(imp_iv), IV = ifelse(is.na(.$IV),0,IV)) %>%select(-Process)
names(imp_iv) <- c('VARIABLE','IMP_IV','RANKING_IV')
imp_iv
##            VARIABLE IMP_IV RANKING_IV
## 15         Contract 1.2386          1
## 5            tenure 0.8659          2
## 9    OnlineSecurity 0.7177          3
## 12      TechSupport 0.6996          4
## 8   InternetService 0.6179          5
## 10     OnlineBackup 0.5286          6
## 11 DeviceProtection 0.4997          7
## 18   MonthlyCharges 0.4842          8
## 17    PaymentMethod 0.4571          9
## 14  StreamingMovies 0.3814         10
## 13      StreamingTV 0.3804         11
## 16 PaperlessBilling 0.2030         12
## 4        Dependents 0.1555         13
## 3           Partner 0.1188         14
## 2     SeniorCitizen 0.1057         15
## 7     MultipleLines 0.0083         16
## 6      PhoneService 0.0008         17
## 1            gender 0.0004         18

En este caso vemos como las 3 variables más predictoras serían Contract, tenure y OnlineSecurity. Según los criterios de IV vemos como las 6 primeras variables tienen un valor mayor que 0,5 por lo que son altamente predictivas

3.3.3 Preselección final

Ahora ya tenemos las variables finalistas de ambos criterios, ahora lo combinamos en un solo criterio para tomar una decisión integrada, por ello creamos un data frame llamado imp_final y con la función inner join nos permitirá unir dos datasets distintos que comparten la misma variable.

Creamos una nueva variable con mutate que es el ranking total, y es la suma de los rankings de los 2 métodos. Como el ranking empieza en 1 (1 es lo mejor) , cuanto menor sea el valor de esta suma significa que la variable ha quedado mejor posicionada en los 2 rankings

imp_final <- inner_join(imp_rf,imp_iv,by='VARIABLE') %>% 
  
select(VARIABLE,IMP_RF,IMP_IV,RANKING_RF,RANKING_IV) %>% 
  
mutate(RANKING_TOT = RANKING_RF + RANKING_IV) %>%  

arrange(RANKING_TOT)

imp_final
##            VARIABLE     IMP_RF IMP_IV RANKING_RF RANKING_IV RANKING_TOT
## 1            tenure 278.509592 0.8659          1          2           3
## 2          Contract 156.096139 1.2386          3          1           4
## 3    OnlineSecurity 106.320271 0.7177          5          3           8
## 4    MonthlyCharges 169.218986 0.4842          2          8          10
## 5       TechSupport  82.502691 0.6996          6          4          10
## 6   InternetService  62.419169 0.6179          7          5          12
## 7     PaymentMethod 107.168622 0.4571          4          9          13
## 8      OnlineBackup  56.636529 0.5286          8          6          14
## 9  DeviceProtection  41.173576 0.4997          9          7          16
## 10 PaperlessBilling  39.293654 0.2030         10         12          22
## 11  StreamingMovies  32.981717 0.3814         12         10          22
## 12      StreamingTV  27.502099 0.3804         14         11          25
## 13    MultipleLines  33.656623 0.0083         11         16          27
## 14          Partner  28.353988 0.1188         13         14          27
## 15       Dependents  26.857912 0.1555         15         13          28
## 16    SeniorCitizen  25.288472 0.1057         16         15          31
## 17           gender  24.311514 0.0004         17         18          35
## 18     PhoneService   8.654138 0.0008         18         17          35

A la vista de los resultados vemos que tenure y Contract son las 2 variables más predictoras.

Para determinar si ambos métodos son fiables calculamos su correlación

cor(imp_final$IMP_RF,imp_final$IMP_IV)
## [1] 0.7270861

Tiene correlación positiva pero no significativa, es decir, no podemos concluir los resultados sean del todo fiables.

Viendo estos datos vamos a descartar aquellas variables que no hayan salido entre las 10 más importantes en el ranking total.

Vamos a seleccionar las 9 más predictoras y las vamos a meter dentro de una variable llamada ind_corta y serán con las que vamos a trabajar.

ind_corta <-c ('tenure','Contract','TechSupport','OnlineSecurity','MonthlyCharges','InternetService','PaymentMethod','OnlineBackup','DeviceProtection')

Por último creamos una lista llamada finales que además de las variables de ind_corta incluirá la target y customerID que antes la habíamos quitado

finales <- union(ind_corta,c('Churn', 'customerID'))

3.4 Fichero final y limpieza del entorno

3.4.1 Fichero final

Vamos a crear un nuevo df que únicamente tenga las variables con las que vamos a trabajar

df <- df %>%
select(one_of(finales))

3.4.2 Limpieza del entorno

Borramos todo menos el df final y nos creamos 2 variables nuevas, la target e indep que contiene todas variables predictoras menos la target

rm(list=setdiff(ls(),'df'))
target <- 'Churn'
indep <- setdiff(names(df),c(target))

4.Variables Sintéticas

Son variables que construimos a partir de las variables originales y que nos ayudan a aprovechar al máximo la información contenida en las originales.

En nuestro df tenemos algunas variables que tienen información que podemos usar para crear una alternativa que nos sea más relevante. Tenemos clientes que se preocupan por la seguridad de sus dispositivos ya que hay 2 variables que nos dan esta información: OnlineBackup y Device Protection.

4.1 Crear Tenencia

Creamos una nueva a partir de esas que se llame “clientes preocupados por la seguridad de su dispositivo” que tendrá como valor 1 si se cumple alguna de las 2 y 0 en caso de que no se cumpla ninguno

Creamos la función para calcular tenencias

tenencia_Seguridad <- function(OnlineBackup,DeviceProtection){
  temp <- as.factor(if_else(OnlineBackup == 'Yes' | DeviceProtection == 'Yes', 1, 0))
  return(temp)
}

Creamos el indicador de tenencia de seguridad para ambas variables

df$Seguridad <- tenencia_Seguridad(df$OnlineBackup,df$DeviceProtection)

Quitamos de nuestro df las 2 variables a partir de la cual hemos creado la sintética para quedarnos únicamente con esta

df$OnlineBackup <- NULL
df$DeviceProtection <- NULL

Hacemos un glimpse para ver que ya tenemos únicamente las variables con las que vamos a trabajar

glimpse(df)
## Rows: 7,043
## Columns: 10
## $ tenure          <dbl> 1, 34, 2, 45, 2, 8, 22, 10, 28, 62, 13, 16, 58, 49,...
## $ Contract        <fct> Month-to-month, One year, Month-to-month, One year,...
## $ TechSupport     <fct> No, No, No, Yes, No, No, No, No, Yes, No, No, No in...
## $ OnlineSecurity  <fct> No, Yes, Yes, Yes, No, No, No, Yes, No, Yes, Yes, N...
## $ MonthlyCharges  <dbl> 29.85, 56.95, 53.85, 42.30, 70.70, 99.65, 89.10, 29...
## $ InternetService <fct> DSL, DSL, DSL, DSL, Fiber optic, Fiber optic, Fiber...
## $ PaymentMethod   <fct> Electronic check, Mailed check, Mailed check, Bank ...
## $ Churn           <fct> 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, ...
## $ customerID      <fct> 7590-VHVEG, 5575-GNVDE, 3668-QPYBK, 7795-CFOCW, 923...
## $ Seguridad       <fct> 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, ...

5.Discretización

En nuestro caso df tenemos 2 variables contínuas (tenure y MonthlyCharges) que discretizaremos manualmente para realizar cortes que puedan tener más sentido desde el punto de vista de negocio

5.1 Discretización Tenure

Vamos a ver su distribución y cómo se comporta la target para ver si se genera un comportamiento monotónico

ggplot(df,aes(tenure)) + geom_density()

ggplot(df,aes(tenure)) + geom_histogram(bins = 10) + scale_x_continuous(limits = c(0, 72))
## Warning: Removed 2 rows containing missing values (geom_bar).

ggplot(df,aes(tenure,fill=Churn)) + geom_histogram(bins = 20,position='fill') + scale_x_continuous(limits = c(0, 72)) 
## Warning: Removed 4 rows containing missing values (geom_bar).

Vemos como a mayor permanencia (tenure) menor es el abandono (churn). Desde el punto de vista de negocio es lógico ya que es más fácil que un cliente abandone la compañía en los primeros meses. En este caso aquellos clientes cuya permanencia es menor a 20 meses tienen un mayor abandono

Sabiendo ambas cosas vamos a apoyarnos en los deciles para ver dónde podemos hacer buenos corte

as.data.frame(quantile(df$tenure,prob = seq(0, 1, length = 11)))
##      quantile(df$tenure, prob = seq(0, 1, length = 11))
## 0%                                                    0
## 10%                                                   2
## 20%                                                   6
## 30%                                                  12
## 40%                                                  20
## 50%                                                  29
## 60%                                                  40
## 70%                                                  50
## 80%                                                  60
## 90%                                                  69
## 100%                                                 72

Procedemos a discretizarla

df <- df %>% mutate(tenure_DISC = as.factor(case_when(
      tenure <= 20 ~ '01_MENOR_20',
      tenure > 20 & tenure <= 40 ~ '02_DE_20_A_40',
      tenure > 40 & tenure <= 60 ~ '03_DE_40_A_60',
      tenure > 60 ~ '05_MAYOR_60',
       TRUE ~ '00_ERROR'))
)

Veamos si la distribución ha quedado similar a la original

ggplot(df,aes(tenure_DISC)) + geom_bar()

Comprobamos si la penetración de la target es monotónica

ggplot(df,aes(tenure_DISC,fill=Churn)) + geom_bar(position='fill')

Efectivamente observamos como a mayor permanencia menor es el abandono, es decir, sigue un comportamiento monotónico

5.1 Discretización MonthlyCharges

Vamos a ver su distribución y cómo se comporta la target para ver si se genera un comportamiento monotónico

ggplot(df,aes(MonthlyCharges)) + geom_density()

ggplot(df,aes(MonthlyCharges)) + geom_histogram(bins = 5) + scale_x_continuous(limits = c(0, 119))
## Warning: Removed 2 rows containing missing values (geom_bar).

ggplot(df,aes(MonthlyCharges,fill=Churn)) + geom_histogram(bins = 10,position='fill') + scale_x_continuous(limits = c(0, 119)) 
## Warning: Removed 4 rows containing missing values (geom_bar).

En este caso vemos que cuanto mayor es el importe de MonthlyCharges mayor es el abandono (churn). Desde el punto de vista de negocio es lógico ya que cuanto más dinero se cobre a un cliente más probabilidad hay de que pueda cambiar de compañía.

Sabiendo ambas cosas vamos a apoyarnos en los deciles para ver dónde podemos hacer buenos corte

as.data.frame(quantile(df$MonthlyCharges,prob = seq(0, 1, length = 11)))
##      quantile(df$MonthlyCharges, prob = seq(0, 1, length = 11))
## 0%                                                        18.25
## 10%                                                       20.05
## 20%                                                       25.05
## 30%                                                       45.85
## 40%                                                       58.83
## 50%                                                       70.35
## 60%                                                       79.10
## 70%                                                       85.50
## 80%                                                       94.25
## 90%                                                      102.60
## 100%                                                     118.75

Procedemos a discretizarla

df <- df %>% mutate(MonthlyCharges_DISC = as.factor(case_when(
      MonthlyCharges <= 30 ~ '01_MENOR_30',
      MonthlyCharges > 30 & MonthlyCharges <= 60 ~ '02_DE_30_A_60',
      MonthlyCharges > 60 & MonthlyCharges<= 90 ~ '03_DE_60_A_90',
      MonthlyCharges > 90 ~'04_MAYOR_90',
      TRUE ~ '00_ERROR'))
)

Veamos si la distribución ha quedado similar a la original

ggplot(df,aes(MonthlyCharges_DISC)) + geom_bar()

Comprobamos si la penetración de la target es monotónica

ggplot(df,aes(MonthlyCharges_DISC,fill=Churn)) + geom_bar(position='fill')

Obervamos que a cuanto más alto es importe mensual mayor es el abandono, sigue un comportamiento monotónico

Gráfico visual de todas las variables

df %>% 
  select_if(is.factor) %>% 
  gather() %>% 
  ggplot(aes(value)) +
    geom_bar() +
    facet_wrap(~ key, scales = "free") +
    theme(axis.text=element_text(size=4))
## Warning: attributes are not identical across measure variables;
## they will be dropped

Antes de pasar a la siguiente fase vamos a eliminar las variables originales sin discretizar y visualizamos nuestro df

df$tenure <- NULL
df$MonthlyCharges <- NULL
glimpse(df)
## Rows: 7,043
## Columns: 10
## $ Contract            <fct> Month-to-month, One year, Month-to-month, One y...
## $ TechSupport         <fct> No, No, No, Yes, No, No, No, No, Yes, No, No, N...
## $ OnlineSecurity      <fct> No, Yes, Yes, Yes, No, No, No, Yes, No, Yes, Ye...
## $ InternetService     <fct> DSL, DSL, DSL, DSL, Fiber optic, Fiber optic, F...
## $ PaymentMethod       <fct> Electronic check, Mailed check, Mailed check, B...
## $ Churn               <fct> 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,...
## $ customerID          <fct> 7590-VHVEG, 5575-GNVDE, 3668-QPYBK, 7795-CFOCW,...
## $ Seguridad           <fct> 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1,...
## $ tenure_DISC         <fct> 01_MENOR_20, 02_DE_20_A_40, 01_MENOR_20, 03_DE_...
## $ MonthlyCharges_DISC <fct> 01_MENOR_30, 02_DE_30_A_60, 02_DE_30_A_60, 02_D...

6.Modelización

Nos encontramos frente a un modelo supervisado y de clasificación. Tenemos 1 variable dicotómica que queremos predecir a partir de otras.

6.1 Vamos a crear una serie de funciones que vamos a necesitar

Función para crear una matriz de confusión

confusion<-function(real,scoring,umbral){ 
  conf<-table(real,scoring>=umbral)
  if(ncol(conf)==2) return(conf) else return(NULL)
}

Funcion para calcular las métricas de los modelos: acierto, precisión, cobertura y F1

metricas<-function(matriz_conf){
  acierto <- (matriz_conf[1,1] + matriz_conf[2,2]) / sum(matriz_conf) *100
  precision <- matriz_conf[2,2] / (matriz_conf[2,2] + matriz_conf[1,2]) *100
  cobertura <- matriz_conf[2,2] / (matriz_conf[2,2] + matriz_conf[2,1]) *100
  F1 <- 2*precision*cobertura/(precision+cobertura)
  salida<-c(acierto,precision,cobertura,F1)
  return(salida)
}

Función para probar distintos umbrales y ver el efecto sobre precisión y cobertura

umbrales<-function(real,scoring){
  umbrales<-data.frame(umbral=rep(0,times=19),acierto=rep(0,times=19),precision=rep(0,times=19),cobertura=rep(0,times=19),F1=rep(0,times=19))
  cont <- 1
  for (cada in seq(0.05,0.95,by = 0.05)){
    datos<-metricas(confusion(real,scoring,cada))
    registro<-c(cada,datos)
    umbrales[cont,]<-registro
    cont <- cont + 1
  }
  return(umbrales)
}

Funciones que calculan la curva ROC y el AUC

roc<-function(prediction){
  r<-performance(prediction,'tpr','fpr')
  plot(r)
}

auc<-function(prediction){
  a<-performance(prediction,'auc')
  return(a@y.values[[1]])
}

6.2 - Creamos las particiones de entrenamiento (70%) y test (30%)

Establecemos una semilla para que nos salgan los mismos resultados

set.seed(12345)

Generamos una variable aleatoria con una distribución 70-30

df$random<-sample(0:1,size = nrow(df),replace = T,prob = c(0.3,0.7)) 

Creamos los dos dataframes y eliminamos la aleatoria de antes

train<-filter(df,random==1)
test<-filter(df,random==0)
df$random <- NULL

6.3 - Creación del modelo de propensión

6.3.1 - Identificamos las variables

Las independientes serán todas menos customerID y la target

independientes <- setdiff(names(df),c('customerID','Churn'))

6.3.2 - Creamos la formula para usar en el modelo

formula <- reformulate(independientes,target)

Vamos a trabajar y observar los resultados con 3 algoritmos: Regresión logística, Árboles de decisión y Random Forest

6.4 Regresión Logística

Vamos a crear primero un modelo con todas las variables

formula_rl <- formula
rl<- glm(formula_rl,train,family=binomial(link='logit'))
summary(rl)
## 
## Call:
## glm(formula = formula_rl, family = binomial(link = "logit"), 
##     data = train)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -1.7335  -0.6810  -0.2746   0.7635   3.0740  
## 
## Coefficients: (2 not defined because of singularities)
##                                       Estimate Std. Error z value
## (Intercept)                          -0.321754   0.247910  -1.298
## ContractOne year                     -0.908085   0.125887  -7.213
## ContractTwo year                     -2.064439   0.228300  -9.043
## TechSupportNo internet service       -1.164922   0.260055  -4.480
## TechSupportYes                       -0.263446   0.102866  -2.561
## OnlineSecurityNo internet service           NA         NA      NA
## OnlineSecurityYes                    -0.453230   0.100961  -4.489
## InternetServiceFiber optic            0.917991   0.178214   5.151
## InternetServiceNo                           NA         NA      NA
## PaymentMethodCredit card (automatic) -0.084870   0.134870  -0.629
## PaymentMethodElectronic check         0.376685   0.111955   3.365
## PaymentMethodMailed check             0.024094   0.133092   0.181
## Seguridad1                           -0.167303   0.091256  -1.833
## tenure_DISC02_DE_20_A_40             -0.973455   0.105902  -9.192
## tenure_DISC03_DE_40_A_60             -0.963225   0.129737  -7.424
## tenure_DISC05_MAYOR_60               -1.184678   0.187955  -6.303
## MonthlyCharges_DISC02_DE_30_A_60      0.005749   0.244220   0.024
## MonthlyCharges_DISC03_DE_60_A_90     -0.176022   0.284425  -0.619
## MonthlyCharges_DISC04_MAYOR_90        0.277817   0.318720   0.872
##                                                  Pr(>|z|)    
## (Intercept)                                      0.194334    
## ContractOne year                        0.000000000000545 ***
## ContractTwo year                     < 0.0000000000000002 ***
## TechSupportNo internet service          0.000007480947050 ***
## TechSupportYes                                   0.010435 *  
## OnlineSecurityNo internet service                      NA    
## OnlineSecurityYes                       0.000007150370471 ***
## InternetServiceFiber optic              0.000000259025354 ***
## InternetServiceNo                                      NA    
## PaymentMethodCredit card (automatic)             0.529170    
## PaymentMethodElectronic check                    0.000766 ***
## PaymentMethodMailed check                        0.856343    
## Seguridad1                                       0.066752 .  
## tenure_DISC02_DE_20_A_40             < 0.0000000000000002 ***
## tenure_DISC03_DE_40_A_60                0.000000000000113 ***
## tenure_DISC05_MAYOR_60                  0.000000000291955 ***
## MonthlyCharges_DISC02_DE_30_A_60                 0.981220    
## MonthlyCharges_DISC03_DE_60_A_90                 0.536001    
## MonthlyCharges_DISC04_MAYOR_90                   0.383391    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 5711.2  on 4940  degrees of freedom
## Residual deviance: 4200.1  on 4924  degrees of freedom
## AIC: 4234.1
## 
## Number of Fisher Scoring iterations: 6

Nos quedaremos con aquellas variables que tengan 3 estrellas en alguna categoría ya que son las más significativas

a_mantener <-c ('Contract','TechSupport','OnlineSecurity','InternetService','PaymentMethod','tenure_DISC')

Ahora volvemos a crear el modelo con estas variables

formula_rl <- reformulate(a_mantener,target)
rl<- glm(formula_rl,train,family=binomial(link='logit'))
summary(rl)
## 
## Call:
## glm(formula = formula_rl, family = binomial(link = "logit"), 
##     data = train)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -1.5698  -0.6736  -0.2852   0.8305   3.0068  
## 
## Coefficients: (2 not defined because of singularities)
##                                      Estimate Std. Error z value
## (Intercept)                          -0.47493    0.12385  -3.835
## ContractOne year                     -0.90101    0.12447  -7.239
## ContractTwo year                     -2.08882    0.22757  -9.179
## TechSupportNo internet service       -1.03254    0.14647  -7.049
## TechSupportYes                       -0.23849    0.09893  -2.411
## OnlineSecurityNo internet service          NA         NA      NA
## OnlineSecurityYes                    -0.44506    0.09959  -4.469
## InternetServiceFiber optic            0.96016    0.09045  10.615
## InternetServiceNo                          NA         NA      NA
## PaymentMethodCredit card (automatic) -0.08079    0.13457  -0.600
## PaymentMethodElectronic check         0.40207    0.11167   3.600
## PaymentMethodMailed check             0.03885    0.13250   0.293
## tenure_DISC02_DE_20_A_40             -0.95191    0.10339  -9.207
## tenure_DISC03_DE_40_A_60             -0.89499    0.12295  -7.279
## tenure_DISC05_MAYOR_60               -1.08000    0.17926  -6.025
##                                                  Pr(>|z|)    
## (Intercept)                                      0.000126 ***
## ContractOne year                        0.000000000000453 ***
## ContractTwo year                     < 0.0000000000000002 ***
## TechSupportNo internet service          0.000000000001796 ***
## TechSupportYes                                   0.015921 *  
## OnlineSecurityNo internet service                      NA    
## OnlineSecurityYes                       0.000007858502367 ***
## InternetServiceFiber optic           < 0.0000000000000002 ***
## InternetServiceNo                                      NA    
## PaymentMethodCredit card (automatic)             0.548257    
## PaymentMethodElectronic check                    0.000318 ***
## PaymentMethodMailed check                        0.769386    
## tenure_DISC02_DE_20_A_40             < 0.0000000000000002 ***
## tenure_DISC03_DE_40_A_60                0.000000000000336 ***
## tenure_DISC05_MAYOR_60                  0.000000001692684 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 5711.2  on 4940  degrees of freedom
## Residual deviance: 4219.5  on 4928  degrees of freedom
## AIC: 4245.5
## 
## Number of Fisher Scoring iterations: 6

A la vista de estos resultados vemos como ahora todas las variables tienen 3 estrellas de significación en al menos una de sus categorías

Vamos a mirar el signo de los coeficientes que nos dice cómo se comporta la variable objetivo cuando sube o baja esa variable que estamos midiendo. Vemos que siguen una lógica de negocio por lo que vamos a comprobar el modelo sobre el conjunto test

Y calculamos el pseudo R cuadrado que es el porcentaje de información de una variable que explica otra variable.

Este valor tomará valores entre -1 y 1. Si nos sale cercano a 0 el modelo es malo, 1 sería perfecto, si su valor es superior de 0.5% diremos que el modelo es bueno.

pr2_rl <- 1 -(rl$deviance / rl$null.deviance)
pr2_rl
## [1] 0.2611816

En este caso nos sale un valor cercano a 0,26. Seguimos adelante para ver los resultados

Aplicamos el modelo al conjunto de test, generando un vector con las probabilidades

rl_predict<-predict(rl,test,type = 'response')
## Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == :
## prediction from a rank-deficient fit may be misleading

Sacamos un gráfico para ver cómo se comporta

plot(rl_predict~test$Churn)

Ahora vamos a transformar la probabilidad en una decisión de si el cliente abandonará o no

Con la función umbrales probamos diferentes cortes

umb_rl<-umbrales(test$Churn,rl_predict)
umb_rl
##    umbral  acierto precision cobertura       F1
## 1    0.05 51.28449  35.15074  97.68271 51.69811
## 2    0.10 60.32350  39.69811  93.76114 55.77943
## 3    0.15 64.46242  42.32673  91.44385 57.86802
## 4    0.20 70.88487  47.46773  85.20499 60.96939
## 5    0.25 72.97812  49.61749  80.92692 61.51762
## 6    0.30 75.21408  52.41546  77.36185 62.49100
## 7    0.35 77.21218  55.38058  75.22282 63.79441
## 8    0.40 79.82873  61.87175  63.63636 62.74165
## 9    0.45 80.44719  64.09774  60.78431 62.39707
## 10   0.50 79.35300  68.09117  42.60250 52.41228
## 11   0.55 79.30542  68.86228  40.99822 51.39665
## 12   0.60 79.06755  69.83607  37.96791 49.19169
## 13   0.65 77.87821  72.42991  27.62923 40.00000
## 14   0.70 78.02093  75.12690  26.38146 39.05013
## 15   0.75  0.75000   0.75000   0.75000  0.75000
## 16   0.80  0.80000   0.80000   0.80000  0.80000
## 17   0.85  0.85000   0.85000   0.85000  0.85000
## 18   0.90  0.90000   0.90000   0.90000  0.90000
## 19   0.95  0.95000   0.95000   0.95000  0.95000

Viendo los datos 0,35 es el umbral que maximiza la F1, a partir de ahí vuelve a bajar su valor, lo seleccionamos

umbral_final_rl<-umb_rl[which.max(umb_rl$F1),1]
umbral_final_rl
## [1] 0.35

Evaluamos la matriz de confusión y las métricas con el umbral optimizado

confusion(test$Churn,rl_predict,umbral_final_rl)
##     
## real FALSE TRUE
##    0  1201  340
##    1   139  422
rl_metricas<-filter(umb_rl,umbral==umbral_final_rl)
rl_metricas
##   umbral  acierto precision cobertura       F1
## 1   0.35 77.21218  55.38058  75.22282 63.79441

Resultado (77% de acierto, 55% de precisión, 75% de cobertura y 63% de F1)

Visutalizamos la curva ROC

Para ello creamos el objeto prediction que vamos a necesitar para que nos devuelva los estadísticos que necesitamos. Se crea con la función prediction en la cual le pasamos el scoring y la target

rl_prediction<-prediction(rl_predict,test$Churn)
roc(rl_prediction)

Vemos que la altura de la curva ROC es buena.

Ahora sacamos las métricas definitivas incluyendo el AUC

rl_metricas<-cbind(rl_metricas,AUC=round(auc(rl_prediction),2)*100)
print(t(rl_metricas))
##               [,1]
## umbral     0.35000
## acierto   77.21218
## precision 55.38058
## cobertura 75.22282
## F1        63.79441
## AUC       84.00000

Este modelo nos da un AUC del 84%, nos confirma es un modelo con una buena capacidad predictiva

6.5 Árboles de decisión

Creamos el primer modelo

formula_ar <- formula
ar<-rpart(formula_ar, train, method = 'class', parms = list(
  split = "information"), 
  control = rpart.control(cp = 0.00001))

Vamos a revisar dónde el error de validación cruzada empieza a crecer

printcp(ar)
## 
## Classification tree:
## rpart(formula = formula_ar, data = train, method = "class", parms = list(split = "information"), 
##     control = rpart.control(cp = 0.00001))
## 
## Variables actually used in tree construction:
## [1] Contract            InternetService     MonthlyCharges_DISC
## [4] OnlineSecurity      PaymentMethod       Seguridad          
## [7] TechSupport         tenure_DISC        
## 
## Root node error: 1308/4941 = 0.26472
## 
## n= 4941 
## 
##            CP nsplit rel error  xerror     xstd
## 1  0.05122324      0   1.00000 1.00000 0.023709
## 2  0.00229358      3   0.79587 0.79587 0.021915
## 3  0.00168196      7   0.78593 0.82875 0.022239
## 4  0.00152905     12   0.77752 0.83333 0.022284
## 5  0.00076453     17   0.76988 0.83333 0.022284
## 6  0.00061162     23   0.76529 0.84633 0.022407
## 7  0.00057339     29   0.76147 0.84862 0.022429
## 8  0.00050968     33   0.75917 0.84862 0.022429
## 9  0.00038226     42   0.75459 0.85321 0.022472
## 10 0.00019113     48   0.75229 0.86162 0.022550
## 11 0.00001000     60   0.75000 0.86315 0.022564
plotcp(ar)

Nos tenemos que fijar en xerror (validación cruzada). Cuanto más alto es el parámetro de complejidad no existe casi diferencia entre el error relativo (en el dato de entrenamiento) y el de la validación cruzada. En el momento en el que el error de la validación cruzada empieza a separarse del de entrenamiento ya sabemos que a partir de ahí se está produciendo un sobreajuste.

Vemos que es estable. Creamos un gráfico de árbol para analizarlo

rpart.plot(ar,type=2,extra = 7, under = TRUE,under.cex = 0.7,fallen.leaves=F,gap = 0,cex=0.2,yesno = 2,box.palette = "GnYlRd",branch.lty = 3)
## Warning: labs do not fit even at cex 0.15, there may be some overplotting

Vamos a sacar las reglas que podrían ser utilizadas para hacer una implantación del árbol

rpart.rules(ar,style = 'tall',cover = T)
## Churn is 0.00 with cover 0% when
##     Contract is Month-to-month
##     tenure_DISC is 02_DE_20_A_40 or 03_DE_40_A_60
##     InternetService is Fiber optic
##     OnlineSecurity is Yes
##     MonthlyCharges_DISC is 03_DE_60_A_90
##     TechSupport is Yes
## 
## Churn is 0.02 with cover 24% when
##     Contract is Two year
## 
## Churn is 0.04 with cover 9% when
##     Contract is One year
##     MonthlyCharges_DISC is 01_MENOR_30 or 02_DE_30_A_60
## 
## Churn is 0.06 with cover 1% when
##     Contract is Month-to-month
##     tenure_DISC is 02_DE_20_A_40 or 03_DE_40_A_60 or 05_MAYOR_60
##     InternetService is DSL or No
##     PaymentMethod is Mailed check
##     MonthlyCharges_DISC is 02_DE_30_A_60
## 
## Churn is 0.07 with cover 3% when
##     Contract is Month-to-month
##     tenure_DISC is 02_DE_20_A_40 or 03_DE_40_A_60 or 05_MAYOR_60
##     InternetService is DSL or No
##     MonthlyCharges_DISC is 01_MENOR_30 or 03_DE_60_A_90
## 
## Churn is 0.11 with cover 0% when
##     Contract is Month-to-month
##     tenure_DISC is 01_MENOR_20
##     InternetService is DSL or No
##     OnlineSecurity is No
##     PaymentMethod is Electronic check
##     MonthlyCharges_DISC is 02_DE_30_A_60
##     TechSupport is Yes
##     Seguridad is 1
## 
## Churn is 0.11 with cover 6% when
##     Contract is One year
##     MonthlyCharges_DISC is 03_DE_60_A_90
## 
## Churn is 0.13 with cover 1% when
##     Contract is Month-to-month
##     tenure_DISC is 02_DE_20_A_40 or 03_DE_40_A_60 or 05_MAYOR_60
##     InternetService is DSL or No
##     PaymentMethod is Bank transfer (automatic) or Credit card (automatic) or Electronic check
##     MonthlyCharges_DISC is 02_DE_30_A_60
##     TechSupport is Yes
## 
## Churn is 0.14 with cover 0% when
##     Contract is Month-to-month
##     tenure_DISC is 05_MAYOR_60
##     InternetService is Fiber optic
##     OnlineSecurity is Yes
## 
## Churn is 0.18 with cover 0% when
##     Contract is Month-to-month
##     tenure_DISC is 02_DE_20_A_40 or 03_DE_40_A_60
##     InternetService is Fiber optic
##     OnlineSecurity is Yes
##     MonthlyCharges_DISC is 03_DE_60_A_90
##     TechSupport is No
##     Seguridad is 1
## 
## Churn is 0.19 with cover 0% when
##     Contract is Month-to-month
##     tenure_DISC is 02_DE_20_A_40
##     InternetService is Fiber optic
##     OnlineSecurity is Yes
##     MonthlyCharges_DISC is 03_DE_60_A_90
##     TechSupport is No
##     Seguridad is 0
## 
## Churn is 0.19 with cover 1% when
##     Contract is Month-to-month
##     tenure_DISC is 02_DE_20_A_40 or 03_DE_40_A_60 or 05_MAYOR_60
##     InternetService is Fiber optic
##     OnlineSecurity is No
##     PaymentMethod is Bank transfer (automatic) or Credit card (automatic) or Mailed check
##     TechSupport is Yes
## 
## Churn is 0.21 with cover 1% when
##     Contract is Month-to-month
##     tenure_DISC is 02_DE_20_A_40
##     InternetService is DSL or No
##     OnlineSecurity is No
##     PaymentMethod is Bank transfer (automatic) or Credit card (automatic) or Electronic check
##     MonthlyCharges_DISC is 02_DE_30_A_60
##     TechSupport is No
## 
## Churn is 0.21 with cover 6% when
##     Contract is One year
##     tenure_DISC is 02_DE_20_A_40 or 03_DE_40_A_60 or 05_MAYOR_60
##     MonthlyCharges_DISC is 04_MAYOR_90
## 
## Churn is 0.22 with cover 8% when
##     Contract is Month-to-month
##     tenure_DISC is 01_MENOR_20
##     InternetService is DSL or No
##     OnlineSecurity is No internet service or Yes
##     PaymentMethod is Bank transfer (automatic) or Credit card (automatic) or Mailed check
## 
## Churn is 0.22 with cover 1% when
##     Contract is Month-to-month
##     tenure_DISC is 03_DE_40_A_60 or 05_MAYOR_60
##     InternetService is DSL or No
##     PaymentMethod is Bank transfer (automatic) or Credit card (automatic) or Electronic check
##     MonthlyCharges_DISC is 02_DE_30_A_60
##     TechSupport is No
## 
## Churn is 0.25 with cover 0% when
##     Contract is Month-to-month
##     tenure_DISC is 02_DE_20_A_40 or 03_DE_40_A_60
##     InternetService is Fiber optic
##     OnlineSecurity is Yes
##     PaymentMethod is Bank transfer (automatic) or Credit card (automatic)
##     MonthlyCharges_DISC is 04_MAYOR_90
##     TechSupport is No
## 
## Churn is 0.25 with cover 1% when
##     Contract is Month-to-month
##     tenure_DISC is 01_MENOR_20
##     InternetService is DSL or No
##     OnlineSecurity is No
##     MonthlyCharges_DISC is 03_DE_60_A_90
## 
## Churn is 0.28 with cover 1% when
##     Contract is Month-to-month
##     tenure_DISC is 01_MENOR_20
##     InternetService is DSL or No
##     OnlineSecurity is No internet service or Yes
##     PaymentMethod is Electronic check
##     MonthlyCharges_DISC is 01_MENOR_30 or 03_DE_60_A_90
## 
## Churn is 0.28 with cover 1% when
##     Contract is Month-to-month
##     tenure_DISC is 02_DE_20_A_40 or 03_DE_40_A_60
##     InternetService is Fiber optic
##     OnlineSecurity is Yes
##     MonthlyCharges_DISC is 04_MAYOR_90
##     TechSupport is Yes
## 
## Churn is 0.31 with cover 0% when
##     Contract is Month-to-month
##     tenure_DISC is 02_DE_20_A_40
##     InternetService is DSL or No
##     OnlineSecurity is Yes
##     PaymentMethod is Bank transfer (automatic) or Credit card (automatic) or Electronic check
##     MonthlyCharges_DISC is 02_DE_30_A_60
##     TechSupport is No
##     Seguridad is 1
## 
## Churn is 0.31 with cover 1% when
##     Contract is Month-to-month
##     tenure_DISC is 01_MENOR_20
##     InternetService is DSL or No
##     OnlineSecurity is No
##     PaymentMethod is Bank transfer (automatic) or Credit card (automatic) or Mailed check
##     MonthlyCharges_DISC is 01_MENOR_30
## 
## Churn is 0.32 with cover 1% when
##     Contract is Month-to-month
##     tenure_DISC is 01_MENOR_20
##     InternetService is DSL or No
##     OnlineSecurity is No
##     PaymentMethod is Bank transfer (automatic)
##     MonthlyCharges_DISC is 02_DE_30_A_60
## 
## Churn is 0.32 with cover 2% when
##     Contract is Month-to-month
##     tenure_DISC is 02_DE_20_A_40 or 03_DE_40_A_60 or 05_MAYOR_60
##     InternetService is Fiber optic
##     OnlineSecurity is No
##     PaymentMethod is Bank transfer (automatic) or Credit card (automatic) or Mailed check
##     TechSupport is No
##     Seguridad is 1
## 
## Churn is 0.38 with cover 0% when
##     Contract is Month-to-month
##     tenure_DISC is 01_MENOR_20
##     InternetService is DSL or No
##     OnlineSecurity is No internet service or Yes
##     PaymentMethod is Electronic check
##     MonthlyCharges_DISC is 02_DE_30_A_60
##     Seguridad is 0
## 
## Churn is 0.38 with cover 0% when
##     Contract is Month-to-month
##     tenure_DISC is 03_DE_40_A_60
##     InternetService is Fiber optic
##     OnlineSecurity is Yes
##     PaymentMethod is Electronic check or Mailed check
##     MonthlyCharges_DISC is 04_MAYOR_90
##     TechSupport is No
## 
## Churn is 0.40 with cover 0% when
##     Contract is Month-to-month
##     tenure_DISC is 01_MENOR_20
##     InternetService is Fiber optic
##     OnlineSecurity is Yes
##     PaymentMethod is Credit card (automatic)
## 
## Churn is 0.40 with cover 0% when
##     Contract is Month-to-month
##     tenure_DISC is 01_MENOR_20
##     InternetService is Fiber optic
##     OnlineSecurity is No
##     PaymentMethod is Bank transfer (automatic)
##     TechSupport is Yes
## 
## Churn is 0.41 with cover 1% when
##     Contract is Month-to-month
##     tenure_DISC is 02_DE_20_A_40 or 03_DE_40_A_60 or 05_MAYOR_60
##     InternetService is Fiber optic
##     OnlineSecurity is No
##     PaymentMethod is Bank transfer (automatic) or Credit card (automatic) or Mailed check
##     MonthlyCharges_DISC is 03_DE_60_A_90
##     TechSupport is No
##     Seguridad is 0
## 
## Churn is 0.42 with cover 3% when
##     Contract is Month-to-month
##     tenure_DISC is 01_MENOR_20
##     InternetService is DSL or No
##     OnlineSecurity is No
##     PaymentMethod is Mailed check
##     MonthlyCharges_DISC is 02_DE_30_A_60
## 
## Churn is 0.43 with cover 0% when
##     Contract is Month-to-month
##     tenure_DISC is 03_DE_40_A_60 or 05_MAYOR_60
##     InternetService is Fiber optic
##     OnlineSecurity is No
##     PaymentMethod is Electronic check
##     MonthlyCharges_DISC is 03_DE_60_A_90
##     TechSupport is No
##     Seguridad is 1
## 
## Churn is 0.43 with cover 1% when
##     Contract is Month-to-month
##     tenure_DISC is 02_DE_20_A_40 or 03_DE_40_A_60 or 05_MAYOR_60
##     InternetService is Fiber optic
##     OnlineSecurity is No
##     PaymentMethod is Electronic check
##     TechSupport is Yes
## 
## Churn is 0.44 with cover 1% when
##     Contract is Month-to-month
##     tenure_DISC is 01_MENOR_20
##     InternetService is DSL or No
##     OnlineSecurity is No
##     PaymentMethod is Credit card (automatic)
##     MonthlyCharges_DISC is 02_DE_30_A_60
##     TechSupport is No
## 
## Churn is 0.44 with cover 0% when
##     Contract is Month-to-month
##     tenure_DISC is 01_MENOR_20
##     InternetService is Fiber optic
##     OnlineSecurity is No
##     PaymentMethod is Credit card (automatic)
##     TechSupport is Yes
## 
## Churn is 0.46 with cover 1% when
##     Contract is Month-to-month
##     tenure_DISC is 02_DE_20_A_40 or 03_DE_40_A_60 or 05_MAYOR_60
##     InternetService is Fiber optic
##     OnlineSecurity is No
##     PaymentMethod is Electronic check
##     MonthlyCharges_DISC is 03_DE_60_A_90
##     TechSupport is No
##     Seguridad is 0
## 
## Churn is 0.47 with cover 1% when
##     Contract is Month-to-month
##     tenure_DISC is 01_MENOR_20
##     InternetService is Fiber optic
##     OnlineSecurity is Yes
##     PaymentMethod is Electronic check
##     MonthlyCharges_DISC is 03_DE_60_A_90
## 
## Churn is 0.47 with cover 1% when
##     Contract is Month-to-month
##     tenure_DISC is 03_DE_40_A_60
##     InternetService is Fiber optic
##     OnlineSecurity is No
##     PaymentMethod is Electronic check
##     MonthlyCharges_DISC is 04_MAYOR_90
##     TechSupport is No
##     Seguridad is 1
## 
## Churn is 0.47 with cover 0% when
##     Contract is Month-to-month
##     tenure_DISC is 01_MENOR_20
##     InternetService is Fiber optic
##     OnlineSecurity is Yes
##     PaymentMethod is Bank transfer (automatic) or Mailed check
##     TechSupport is No
## 
## Churn is 0.47 with cover 2% when
##     Contract is Month-to-month
##     tenure_DISC is 01_MENOR_20
##     InternetService is DSL or No
##     OnlineSecurity is No
##     PaymentMethod is Electronic check
##     MonthlyCharges_DISC is 02_DE_30_A_60
##     TechSupport is No
##     Seguridad is 0
## 
## Churn is 0.48 with cover 0% when
##     Contract is Month-to-month
##     tenure_DISC is 01_MENOR_20
##     InternetService is Fiber optic
##     OnlineSecurity is No
##     PaymentMethod is Credit card (automatic)
##     MonthlyCharges_DISC is 03_DE_60_A_90
##     TechSupport is No
##     Seguridad is 1
## 
## Churn is 0.51 with cover 1% when
##     Contract is Month-to-month
##     tenure_DISC is 01_MENOR_20
##     InternetService is DSL or No
##     OnlineSecurity is No
##     PaymentMethod is Electronic check
##     MonthlyCharges_DISC is 02_DE_30_A_60
##     TechSupport is No
##     Seguridad is 1
## 
## Churn is 0.53 with cover 1% when
##     Contract is Month-to-month
##     tenure_DISC is 02_DE_20_A_40
##     InternetService is Fiber optic
##     OnlineSecurity is No
##     PaymentMethod is Electronic check
##     MonthlyCharges_DISC is 03_DE_60_A_90
##     TechSupport is No
##     Seguridad is 1
## 
## Churn is 0.55 with cover 0% when
##     Contract is Month-to-month
##     tenure_DISC is 03_DE_40_A_60
##     InternetService is Fiber optic
##     OnlineSecurity is Yes
##     MonthlyCharges_DISC is 03_DE_60_A_90
##     TechSupport is No
##     Seguridad is 0
## 
## Churn is 0.55 with cover 0% when
##     Contract is Month-to-month
##     tenure_DISC is 02_DE_20_A_40
##     InternetService is Fiber optic
##     OnlineSecurity is Yes
##     PaymentMethod is Electronic check or Mailed check
##     MonthlyCharges_DISC is 04_MAYOR_90
##     TechSupport is No
## 
## Churn is 0.56 with cover 0% when
##     Contract is One year
##     tenure_DISC is 01_MENOR_20
##     MonthlyCharges_DISC is 04_MAYOR_90
## 
## Churn is 0.57 with cover 1% when
##     Contract is Month-to-month
##     tenure_DISC is 02_DE_20_A_40
##     InternetService is Fiber optic
##     OnlineSecurity is No
##     PaymentMethod is Electronic check
##     MonthlyCharges_DISC is 04_MAYOR_90
##     TechSupport is No
##     Seguridad is 1
## 
## Churn is 0.58 with cover 0% when
##     Contract is Month-to-month
##     tenure_DISC is 01_MENOR_20
##     InternetService is DSL or No
##     OnlineSecurity is No
##     PaymentMethod is Credit card (automatic)
##     MonthlyCharges_DISC is 02_DE_30_A_60
##     TechSupport is Yes
## 
## Churn is 0.59 with cover 1% when
##     Contract is Month-to-month
##     tenure_DISC is 02_DE_20_A_40 or 03_DE_40_A_60
##     InternetService is Fiber optic
##     OnlineSecurity is No
##     PaymentMethod is Electronic check
##     MonthlyCharges_DISC is 04_MAYOR_90
##     TechSupport is No
##     Seguridad is 0
## 
## Churn is 0.60 with cover 0% when
##     Contract is Month-to-month
##     tenure_DISC is 01_MENOR_20
##     InternetService is Fiber optic
##     OnlineSecurity is No
##     PaymentMethod is Credit card (automatic)
##     MonthlyCharges_DISC is 04_MAYOR_90
##     TechSupport is No
##     Seguridad is 1
## 
## Churn is 0.62 with cover 0% when
##     Contract is Month-to-month
##     tenure_DISC is 05_MAYOR_60
##     InternetService is Fiber optic
##     OnlineSecurity is No
##     PaymentMethod is Electronic check
##     MonthlyCharges_DISC is 04_MAYOR_90
##     TechSupport is No
## 
## Churn is 0.62 with cover 1% when
##     Contract is Month-to-month
##     tenure_DISC is 01_MENOR_20
##     InternetService is Fiber optic
##     OnlineSecurity is No
##     PaymentMethod is Credit card (automatic)
##     TechSupport is No
##     Seguridad is 0
## 
## Churn is 0.62 with cover 0% when
##     Contract is Month-to-month
##     tenure_DISC is 01_MENOR_20
##     InternetService is Fiber optic
##     OnlineSecurity is No
##     PaymentMethod is Mailed check
##     TechSupport is Yes
## 
## Churn is 0.64 with cover 0% when
##     Contract is Month-to-month
##     tenure_DISC is 01_MENOR_20
##     InternetService is Fiber optic
##     OnlineSecurity is Yes
##     PaymentMethod is Bank transfer (automatic) or Mailed check
##     TechSupport is Yes
## 
## Churn is 0.66 with cover 3% when
##     Contract is Month-to-month
##     tenure_DISC is 01_MENOR_20
##     InternetService is Fiber optic
##     OnlineSecurity is No
##     PaymentMethod is Bank transfer (automatic) or Mailed check
##     TechSupport is No
## 
## Churn is 0.67 with cover 0% when
##     Contract is Month-to-month
##     tenure_DISC is 01_MENOR_20
##     InternetService is DSL or No
##     OnlineSecurity is No internet service or Yes
##     PaymentMethod is Electronic check
##     MonthlyCharges_DISC is 02_DE_30_A_60
##     Seguridad is 1
## 
## Churn is 0.67 with cover 0% when
##     Contract is Month-to-month
##     tenure_DISC is 01_MENOR_20
##     InternetService is DSL or No
##     OnlineSecurity is No
##     PaymentMethod is Electronic check
##     MonthlyCharges_DISC is 02_DE_30_A_60
##     TechSupport is Yes
##     Seguridad is 0
## 
## Churn is 0.70 with cover 0% when
##     Contract is Month-to-month
##     tenure_DISC is 01_MENOR_20
##     InternetService is Fiber optic
##     OnlineSecurity is Yes
##     PaymentMethod is Electronic check
##     MonthlyCharges_DISC is 04_MAYOR_90
## 
## Churn is 0.70 with cover 10% when
##     Contract is Month-to-month
##     tenure_DISC is 01_MENOR_20
##     InternetService is Fiber optic
##     OnlineSecurity is No
##     PaymentMethod is Electronic check
## 
## Churn is 0.72 with cover 1% when
##     Contract is Month-to-month
##     tenure_DISC is 01_MENOR_20
##     InternetService is DSL or No
##     OnlineSecurity is No
##     PaymentMethod is Electronic check
##     MonthlyCharges_DISC is 01_MENOR_30
## 
## Churn is 0.75 with cover 0% when
##     Contract is Month-to-month
##     tenure_DISC is 02_DE_20_A_40
##     InternetService is DSL or No
##     OnlineSecurity is Yes
##     PaymentMethod is Bank transfer (automatic) or Credit card (automatic) or Electronic check
##     MonthlyCharges_DISC is 02_DE_30_A_60
##     TechSupport is No
##     Seguridad is 0
## 
## Churn is 0.75 with cover 0% when
##     Contract is Month-to-month
##     tenure_DISC is 02_DE_20_A_40 or 03_DE_40_A_60 or 05_MAYOR_60
##     InternetService is Fiber optic
##     OnlineSecurity is No
##     PaymentMethod is Bank transfer (automatic) or Credit card (automatic) or Mailed check
##     MonthlyCharges_DISC is 04_MAYOR_90
##     TechSupport is No
##     Seguridad is 0

Ahora nos llevamos el nodo final de cada cliente a un data.frame para poder hacer una explotacion posterior

ar_numnodos<-rpart.predict(ar,test,nn = T)
head(ar_numnodos)
##           0          1  nn
## 1 0.2800000 0.72000000 223
## 2 0.9597156 0.04028436  10
## 3 0.7815789 0.21842105  52
## 4 0.9597156 0.04028436  10
## 5 0.5660377 0.43396226 118
## 6 0.9597156 0.04028436  10

Procedemos a calcular los scorings y evaluar el modelo, y lo visualizamos con un gráfico

ar_predict<-predict(ar,test,type = 'prob')[,2]
plot(ar_predict~test$Churn)

Probamos diferentes cortes con la función umbrales

umb_ar<-umbrales(test$Churn,ar_predict)
umb_ar
##    umbral  acierto precision cobertura       F1
## 1    0.05 56.99334  37.75874  94.29590 53.92457
## 2    0.10 59.41960  39.08819  93.22638 55.08162
## 3    0.15 64.98573  42.65323  90.55258 57.99087
## 4    0.20 65.36632  42.82029  88.77005 57.77262
## 5    0.25 75.02379  52.14797  77.89661 62.47320
## 6    0.30 77.06946  55.17693  75.04456 63.59517
## 7    0.35 78.21123  57.54026  70.05348 63.18328
## 8    0.40 78.02093  57.46606  67.91444 62.25490
## 9    0.45 79.73359  62.43094  60.42781 61.41304
## 10   0.50 79.06755  63.84439  49.73262 55.91182
## 11   0.55 78.97241  65.13995  45.63280 53.66876
## 12   0.60 78.87726  66.38655  42.24599 51.63399
## 13   0.65 78.97241  68.19572  39.75045 50.22523
## 14   0.70 77.97336  68.99225  31.72906 43.46764
## 15   0.75  0.75000   0.75000   0.75000  0.75000
## 16   0.80  0.80000   0.80000   0.80000  0.80000
## 17   0.85  0.85000   0.85000   0.85000  0.85000
## 18   0.90  0.90000   0.90000   0.90000  0.90000
## 19   0.95  0.95000   0.95000   0.95000  0.95000

Seleccionamos el umbral que maximiza la F1, que es 0,3

umbral_final_ar<-umb_ar[which.max(umb_ar$F1),1]
umbral_final_ar
## [1] 0.3

Evaluamos la matriz de confusión y las métricas con el umbral optimizado

confusion(test$Churn,ar_predict,umbral_final_ar)
##     
## real FALSE TRUE
##    0  1199  342
##    1   140  421
ar_metricas<-filter(umb_ar,umbral==umbral_final_ar)
ar_metricas
##   umbral  acierto precision cobertura       F1
## 1    0.3 77.06946  55.17693  75.04456 63.59517

77% de acierto, 55% de precisión, 75% de cobertura y 63% F1

Evaluamos la curva ROC

ar_prediction<-prediction(ar_predict,test$Churn)
roc(ar_prediction)

Sacamos las métricas definitivas incluyendo el AUC

ar_metricas<-cbind(ar_metricas,AUC=round(auc(ar_prediction),2)*100)
print(t(ar_metricas))
##               [,1]
## umbral     0.30000
## acierto   77.06946
## precision 55.17693
## cobertura 75.04456
## F1        63.59517
## AUC       82.00000

Nos sale un AUC del 82%, es menor que el anterior modelo con Regresión logística que era de un 84%

6.6 Random Forest

Creamos el modelo

formula_rf <- formula
rf<-randomForest(formula_rf,train,importance=T)
rf
## 
## Call:
##  randomForest(formula = formula_rf, data = train, importance = T) 
##                Type of random forest: classification
##                      Number of trees: 500
## No. of variables tried at each split: 2
## 
##         OOB estimate of  error rate: 21.27%
## Confusion matrix:
##      0   1 class.error
## 0 3285 348   0.0957886
## 1  703 605   0.5374618

Visualizamos las variables mas importantes

varImpPlot(rf)

Viendo el gráfico y en concreto, en el decremento medio de Gini las 2 variables más importantes serían Contract y tenure_DISC. Crearemos una única variable agregada

importancia <- importance(rf)[,3:4]
importancia_norm <- as.data.frame(scale(importancia))
importancia_norm <- importancia_norm %>% mutate(
  Variable = rownames(importancia_norm),
  Imp_tot = MeanDecreaseAccuracy + MeanDecreaseGini) %>%
  mutate(Imp_tot = Imp_tot + abs(min(Imp_tot))) %>% 
  arrange(desc(Imp_tot)) %>% 
  select(Variable,Imp_tot,MeanDecreaseAccuracy,MeanDecreaseGini)

La visualizamos con un gráfico para ver su caída

ggplot(importancia_norm, aes(reorder(Variable,-Imp_tot),Imp_tot)) + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle = 90,size = 7))

importancia_norm
##                                Variable   Imp_tot MeanDecreaseAccuracy
## Contract                       Contract 4.6195584            0.8506259
## tenure_DISC                 tenure_DISC 4.2288510            1.6085904
## InternetService         InternetService 2.5102702            0.7643553
## OnlineSecurity           OnlineSecurity 1.8150631           -0.1843256
## TechSupport                 TechSupport 0.8035291           -0.7646661
## MonthlyCharges_DISC MonthlyCharges_DISC 0.4413070           -0.6025834
## Seguridad                     Seguridad 0.2768023           -0.2338975
## PaymentMethod             PaymentMethod 0.0000000           -1.4380990
##                     MeanDecreaseGini
## Contract                  1.93200990
## tenure_DISC               0.78333792
## InternetService          -0.09100771
## OnlineSecurity            0.16246605
## TechSupport              -0.26872745
## MonthlyCharges_DISC      -0.79303221
## Seguridad                -1.32622282
## PaymentMethod            -0.39882369

Vemos que la caída y el corte de la importancia de las variables es claro. Mantenemos hasta InternetService que tiene una importancia total de 2,5 y será con las que vamos a continuar

a_mantener <- importancia_norm %>% 
  filter(Imp_tot > 2) %>% 
  select(Variable)
a_mantener <- as.character((a_mantener$Variable))

Ahora creamos nuevamente el modelo con estas variables

formula_rf <- reformulate(a_mantener,target)
rf<-randomForest(formula_rf,train,importance=T)
rf
## 
## Call:
##  randomForest(formula = formula_rf, data = train, importance = T) 
##                Type of random forest: classification
##                      Number of trees: 500
## No. of variables tried at each split: 1
## 
##         OOB estimate of  error rate: 21.39%
## Confusion matrix:
##      0   1 class.error
## 0 3350 283  0.07789705
## 1  774 534  0.59174312

Generamos un vector con las probabilidades aplicando el modelo al conjunto de test, generando un scoring y lo visualizamos con un gráfico

rf_predict<-predict(rf,test,type = 'prob')[,2]
plot(rf_predict~test$Churn)

Probamos cortes con la función umbrales

umb_rf<-umbrales(test$Churn,rf_predict)
umb_rf
##    umbral  acierto precision cobertura       F1
## 1    0.05 76.07041  54.44785  63.27986 58.53256
## 2    0.10 76.07041  54.44785  63.27986 58.53256
## 3    0.15 79.06755  66.57534  43.31551 52.48380
## 4    0.20 79.25785  67.40947  43.13725 52.60870
## 5    0.25 79.25785  67.40947  43.13725 52.60870
## 6    0.30 79.25785  67.40947  43.13725 52.60870
## 7    0.35 79.25785  67.40947  43.13725 52.60870
## 8    0.40 79.25785  67.40947  43.13725 52.60870
## 9    0.45 79.25785  67.40947  43.13725 52.60870
## 10   0.50 79.25785  67.40947  43.13725 52.60870
## 11   0.55 79.25785  67.40947  43.13725 52.60870
## 12   0.60  0.60000   0.60000   0.60000  0.60000
## 13   0.65  0.65000   0.65000   0.65000  0.65000
## 14   0.70  0.70000   0.70000   0.70000  0.70000
## 15   0.75  0.75000   0.75000   0.75000  0.75000
## 16   0.80  0.80000   0.80000   0.80000  0.80000
## 17   0.85  0.85000   0.85000   0.85000  0.85000
## 18   0.90  0.90000   0.90000   0.90000  0.90000
## 19   0.95  0.95000   0.95000   0.95000  0.95000

El umbral que maximiza la F1 es 0,05 y lo seleccionamos

umbral_final_rf<-umb_rf[which.max(umb_rf$F1),1]
umbral_final_rf
## [1] 0.05

Evaluamos la matriz de confusión y las métricas con el umbral optimizado

confusion(test$Churn,rf_predict,umbral_final_rf)
##     
## real FALSE TRUE
##    0  1244  297
##    1   206  355
rf_metricas<-filter(umb_rf,umbral==umbral_final_rf)
rf_metricas
##   umbral  acierto precision cobertura       F1
## 1   0.05 76.07041  54.44785  63.27986 58.53256

Evaluamos la curva ROC

rf_prediction<-prediction(rf_predict,test$Churn)
roc(rf_prediction)

Sacamos las métricas definitivas incluyendo el AUC

rf_metricas<-cbind(rf_metricas,AUC=round(auc(rf_prediction),2)*100)
print(t(rf_metricas))
##               [,1]
## umbral     0.05000
## acierto   76.07041
## precision 54.44785
## cobertura 63.27986
## F1        58.53256
## AUC       79.00000

Comparamos los resultados de los 3 modelos

comparativa <- rbind(rl_metricas,ar_metricas,rf_metricas)
rownames(comparativa) <- c('Regresion Logistica','Arbol Decision','Random Forest')
t(comparativa)
##           Regresion Logistica Arbol Decision Random Forest
## umbral                0.35000        0.30000       0.05000
## acierto              77.21218       77.06946      76.07041
## precision            55.38058       55.17693      54.44785
## cobertura            75.22282       75.04456      63.27986
## F1                   63.79441       63.59517      58.53256
## AUC                  84.00000       82.00000      79.00000

Conclusión:Los 3 modelos tienen una capacidad de predicción buena. Nos quedaremos con RL que es el que nos ha dado un AUC mayor y además es el modelo más sencillo

6.7 Escribimos el scoring final en el dataset

df$SCORING_Churn <- predict(rl,df,type = 'response')
## Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == :
## prediction from a rank-deficient fit may be misleading

Miramos el scoring de los 30 primeros clientes

head(select(df,customerID,SCORING_Churn),30)
##     customerID SCORING_Churn
##  1: 7590-VHVEG    0.48179363
##  2: 5575-GNVDE    0.06099361
##  3: 3668-QPYBK    0.29294157
##  4: 7795-CFOCW    0.04952573
##  5: 9237-HQITU    0.70833374
##  6: 9305-CDSKC    0.70833374
##  7: 1452-KIOVK    0.36645344
##  8: 6713-OKOMC    0.29294157
##  9: 7892-POOKP    0.42480276
## 10: 6388-TABGU    0.05210428
## 11: 9763-GRSKD    0.29294157
## 12: 7469-LKBCI    0.02467262
## 13: 8091-TTVAX    0.19916012
## 14: 0280-XJGEX    0.39897113
## 15: 5129-JLPIS    0.32122555
## 16: 3655-SNQYZ    0.03083078
## 17: 8191-XWSZG    0.03680514
## 18: 9959-WOFKT    0.04194092
## 19: 4190-MFLUW    0.31126614
## 20: 4183-MYFRB    0.48385547
## 21: 8779-QRDMV    0.48179363
## 22: 1680-VDCWW    0.08252869
## 23: 1066-JKSGK    0.18715208
## 24: 3638-WEABW    0.02235678
## 25: 6322-HRPFA    0.10581198
## 26: 6865-JZNKO    0.13332302
## 27: 6467-CHFZW    0.49807920
## 28: 8665-UTDHZ    0.48179363
## 29: 5248-YGIJN    0.01203191
## 30: 8773-HHUOZ    0.39267475
##     customerID SCORING_Churn

Otra forma de visualizarlo usando Pipe para ver el scoring de los 30 clientes con mayor probabilidad de abandono

df %>% 
select(customerID,SCORING_Churn) %>% 
arrange(desc(SCORING_Churn)) %>% 
slice(1:30)
##     customerID SCORING_Churn
##  1: 9237-HQITU     0.7083337
##  2: 9305-CDSKC     0.7083337
##  3: 6047-YHPVI     0.7083337
##  4: 7760-OYPDY     0.7083337
##  5: 1658-BYGOY     0.7083337
##  6: 5698-BQJOH     0.7083337
##  7: 5919-TMRGD     0.7083337
##  8: 0404-SWRVG     0.7083337
##  9: 2876-GZYZC     0.7083337
## 10: 4482-EWFMI     0.7083337
## 11: 1918-ZBFQJ     0.7083337
## 12: 2472-OVKUP     0.7083337
## 13: 1285-OKIPP     0.7083337
## 14: 9408-SSNVZ     0.7083337
## 15: 9903-LYSAB     0.7083337
## 16: 0094-OIFMO     0.7083337
## 17: 9947-OTFQU     0.7083337
## 18: 4629-NRXKX     0.7083337
## 19: 3606-TWKGI     0.7083337
## 20: 5583-SXDAG     0.7083337
## 21: 3488-PGMQJ     0.7083337
## 22: 4847-TAJYI     0.7083337
## 23: 8098-LLAZX     0.7083337
## 24: 2799-ARNLO     0.7083337
## 25: 7563-BIUPC     0.7083337
## 26: 5804-LEPIM     0.7083337
## 27: 0122-OAHPZ     0.7083337
## 28: 0021-IKXGC     0.7083337
## 29: 2034-GDRCN     0.7083337
## 30: 4115-NZRKS     0.7083337
##     customerID SCORING_Churn

7. Evaluación y análisis de negocio

Vamos a construir un gráfico que más se usa para mostrar que el modelo es bueno y está funcionando bien. Se trata de dividir el scoring por tramos y contrastarlo contra la realidad.

vis <- function(scoring,real) {
vis_df <- data.frame(Scoring = scoring, Perc_Scoring = cut_number(scoring, 10), Real = real)
levels(vis_df$Perc_Scoring) <- seq(from = 100,to = 5,by = -5)
vis_gr <- vis_df %>% group_by(Perc_Scoring) %>% summarise(Tasa_abandono = mean(as.numeric(as.character(Real)))) %>% arrange(Perc_Scoring)
vis_gr$Perc_Scoring <- factor(vis_gr$Perc_Scoring, levels = vis_gr$Perc_Scoring[order(vis_gr$Perc_Scoring, decreasing = T)])
ggplot(vis_gr,aes(Perc_Scoring, Tasa_abandono)) + 
geom_col(fill='black') + 
geom_hline(aes(yintercept =      mean(as.numeric(as.character(vis_df$Real)))), col = 'red') +
      labs(title = 'Abandono real por tramo de scoring', x = 'Tramo de Scoring', y = 'Abandono real')
}
vis(df$SCORING_Churn,df$Churn)

Eje x: nuestros clientes ordenados por scoring, cuanto más a la izquierda mayor probabilidad de abandono, ordenados en tramos de 5%

Eje y: porcentaje de abandono real que existe en cada uno de estos tramos de scoring

línea horizontal: media del abandono de nuestra variable target, en nuestro caso es un 26,5%. El límite a partir del cual los clientes no abandonan es el 70% (eje x)

penetracion_target <- mean(as.numeric(as.character(df$Churn)))

La lógica del modelo ya que cuanto más alto es el scoring mayor es la probabilidad de abandono de estos clientes.

saveRDS(df,'cache4.rds')

Vamos a establecer un caso en el que lanzaremos la campaña a aquellos clientes cuyo scoring esté x2 o x3 por encima de la media de tasa de abandono

scoring_x2 <- penetracion_target * 2
scoring_x3 <- penetracion_target * 3
bote_campaña_x2 <- df %>% 
  filter(Churn==0 & SCORING_Churn > scoring_x2) %>% 
  select(customerID,SCORING_Churn)
#tamaño del bote campaña x2
nrow(bote_campaña_x2)
## [1] 379
bote_campaña_x3 <- df %>% 
  filter(Churn==0 & SCORING_Churn > scoring_x3) %>% 
  select(customerID,SCORING_Churn)
#Tamaño del bote campaña x3
nrow(bote_campaña_x3)
## [1] 0
#Vamos a ver gráficamente si de esta forma estamos aprovechando el potencial de nuestro modelo
df %>% 
  arrange(desc(SCORING_Churn)) %>% 
  ggplot(aes(y = SCORING_Churn, x = seq_along(SCORING_Churn))) +
  geom_line() + 
  geom_hline(yintercept = scoring_x2,col='blue') +
  geom_hline(yintercept = scoring_x3,col='green') +
  geom_hline(yintercept = penetracion_target,col='red') +
  labs(x = 'CLIENTES ORDENADOS POR SCORING', y = 'SCORING')

nrow(bote_campaña_x2)
## [1] 379
nrow(bote_campaña_x3)
## [1] 0

No hay clientes que estén dentro del bote campaña x3, por lo que deberíamos lanzar la campaña de fidelización a los que estén dentro del bote x2, es decir, a un total de 379 clientes