1. PROJECT OBJECTIVE

Insurance provides financing, leverage, cushion against possible eventuality. It is an arrangement by which the Company undertakes to provide a guarantee of compensation for specified loss, damage, illness or death in return by paymnent of a specified premium.

Premium paid by the customer is the major revenue source for insurance companies. Default in premium payments results in significant revenue losses and hence insurance companies would like to know upfront which type of customers would default premium payments. The objective of this project is to predict the probability that a customer will default the premium payment, so that the insurance agent can proactively reach out to the policy holder to follow up for the payment of premium.

Problem Statement: *The project ultimate focus is to predict if the current customer(s) will Default in Future Payments

The Project will include the following: * Visual inspection of data (rows, columns, descriptive details) * Understanding of attributes (variable info, renaming if required) * Univariate analysis (distribution and spread for every continuous attribute, distribution of the data in categories for categorical ones) * Bivariate analysis (relationship between different variables, correlations) * Building a model that can predict the likelihood of a customer defaulting on premium payments (Who is likely to default) * Identifing the factors that drive higher default rate (Are there any characteristics of the customers who are likely to default?) * Propose a strategy for reducing default rates by using the model and other insights from the analysis (What should be done to reduce the default rates?)

2.1 The Data

The dataset contains the following details collected well over ten years on 79, 854 Policy Holders. (The exact number of years will be decided as we gain better understanding of the data) * id: Unique customer ID perc_premium_paid_by_cash_credit: What % of the premium was paid by cash payments? * age_in_days: age of the customer in days  * Income: Income of the customer  * Marital Status: Married/Unmarried, Married (1), unmarried (0) * Veh_owned: Number of vehicles owned (1-3) * Count_3-6_months_late: Number of times premium was paid 3-6 months late  * Count_6-12_months_late: Number of times premium was paid 6-12 months late  * Count_more_than_12_months_late: Number of times premium was paid more than 12 months late  * Risk_score: Risk score of customer (similar to credit score) * No_of_dep: Number of dependents in the family of the customer (1-4) * Accommodation: Owned (1), Rented (0) no_of_premiums_paid: Number of premiums paid till date  * sourcing_channel: Channel through which customer was sourced  * residence_area_type: Residence type of the customer * premium : Total premium amount paid till now * default: Y variable - 0 indicates that customer has defaulted the premium and 1 indicates that customer has not defaulted

3. Install Packages

## Loading required package: carData
## corrplot 0.84 loaded

3. Exploratory Data Analysis

3.1 Import Data

3.1.1 Set Working Directory

3.1.2 Import and Read the Dataset

## # A tibble: 6 x 17
##      id perc_premium_pa~ age_in_days Income `Count_3-6_mont~ `Count_6-12_mon~
##   <dbl>            <dbl>       <dbl>  <dbl>            <dbl>            <dbl>
## 1     1            0.317       11330  90050                0                0
## 2     2            0           30309 156080                0                0
## 3     3            0.015       16069 145020                1                0
## 4     4            0           23733 187560                0                0
## 5     5            0.888       19360 103050                7                3
## 6     6            0.512       16795 113500                0                0
## # ... with 11 more variables: Count_more_than_12_months_late <dbl>, `Marital
## #   Status` <dbl>, Veh_Owned <dbl>, No_of_dep <dbl>, Accomodation <dbl>,
## #   risk_score <dbl>, no_of_premiums_paid <dbl>, sourcing_channel <chr>,
## #   residence_area_type <chr>, premium <dbl>, default <dbl>
## # A tibble: 6 x 17
##      id perc_premium_pa~ age_in_days Income `Count_3-6_mont~ `Count_6-12_mon~
##   <dbl>            <dbl>       <dbl>  <dbl>            <dbl>            <dbl>
## 1 79848            0.009       21545 133140                0                0
## 2 79849            0.249       25555  64420                0                0
## 3 79850            0.003       16797 660040                1                0
## 4 79851            0.012       24835 227760                0                0
## 5 79852            0.19        10959 153060                1                0
## 6 79853            0           19720 324030                0                0
## # ... with 11 more variables: Count_more_than_12_months_late <dbl>, `Marital
## #   Status` <dbl>, Veh_Owned <dbl>, No_of_dep <dbl>, Accomodation <dbl>,
## #   risk_score <dbl>, no_of_premiums_paid <dbl>, sourcing_channel <chr>,
## #   residence_area_type <chr>, premium <dbl>, default <dbl>
## tibble [79,853 x 17] (S3: tbl_df/tbl/data.frame)
##  $ id                              : num [1:79853] 1 2 3 4 5 6 7 8 9 10 ...
##  $ perc_premium_paid_by_cash_credit: num [1:79853] 0.317 0 0.015 0 0.888 0.512 0 0.994 0.019 0.018 ...
##  $ age_in_days                     : num [1:79853] 11330 30309 16069 23733 19360 ...
##  $ Income                          : num [1:79853] 90050 156080 145020 187560 103050 ...
##  $ Count_3-6_months_late           : num [1:79853] 0 0 1 0 7 0 0 0 0 0 ...
##  $ Count_6-12_months_late          : num [1:79853] 0 0 0 0 3 0 0 0 0 0 ...
##  $ Count_more_than_12_months_late  : num [1:79853] 0 0 0 0 4 0 0 0 0 0 ...
##  $ Marital Status                  : num [1:79853] 0 1 0 1 0 0 0 0 1 1 ...
##  $ Veh_Owned                       : num [1:79853] 3 3 1 1 2 1 3 3 2 3 ...
##  $ No_of_dep                       : num [1:79853] 3 1 1 1 1 4 4 2 4 3 ...
##  $ Accomodation                    : num [1:79853] 1 1 1 0 0 0 1 0 1 1 ...
##  $ risk_score                      : num [1:79853] 98.8 99.1 99.2 99.4 98.8 ...
##  $ no_of_premiums_paid             : num [1:79853] 8 3 14 13 15 4 8 4 8 8 ...
##  $ sourcing_channel                : chr [1:79853] "A" "A" "C" "A" ...
##  $ residence_area_type             : chr [1:79853] "Rural" "Urban" "Urban" "Urban" ...
##  $ premium                         : num [1:79853] 5400 11700 18000 13800 7500 3300 20100 3300 5400 9600 ...
##  $ default                         : num [1:79853] 1 1 1 1 0 1 1 1 1 1 ...

3.2 Lets Rename Columns with dplyr::rename ()

  • We will rename the columns to shorter names we can easiy work with
  • Lets first get the Column Names
##  [1] "id"                               "perc_premium_paid_by_cash_credit"
##  [3] "age_in_days"                      "Income"                          
##  [5] "Count_3-6_months_late"            "Count_6-12_months_late"          
##  [7] "Count_more_than_12_months_late"   "Marital Status"                  
##  [9] "Veh_Owned"                        "No_of_dep"                       
## [11] "Accomodation"                     "risk_score"                      
## [13] "no_of_premiums_paid"              "sourcing_channel"                
## [15] "residence_area_type"              "premium"                         
## [17] "default"
  • Let’s rename the column names

  • Having changed the column names, lets check them

##  [1] "id"               "Perc_Premiumcash" "Age"              "Income"          
##  [5] "Count3-6"         "Count6_12"        "Count12andmore"   "Marital_Status"  
##  [9] "Veh_Owned"        "Dependents"       "Accomodation"     "Risk_Score"      
## [13] "Premiums_Paid"    "Sourcing_Channel" "Residence"        "Premium"         
## [17] "Default"

3.3 Missing Value Treatment

  • Lets check if there is any missing value in the dataset
##               id Perc_Premiumcash              Age           Income 
##                0                0                0                0 
##         Count3-6        Count6_12   Count12andmore   Marital_Status 
##                0                0                0                0 
##        Veh_Owned       Dependents     Accomodation       Risk_Score 
##                0                0                0                0 
##    Premiums_Paid Sourcing_Channel        Residence          Premium 
##                0                0                0                0 
##          Default 
##                0
  • There are no missing values

3.4 Lets check the summary of the dataset so, we can understand the type of transformation we need to make in our dataset

##        id        Perc_Premiumcash      Age            Income        
##  Min.   :    1   Min.   :0.0000   Min.   : 7670   Min.   :   24030  
##  1st Qu.:19964   1st Qu.:0.0340   1st Qu.:14974   1st Qu.:  108010  
##  Median :39927   Median :0.1670   Median :18625   Median :  166560  
##  Mean   :39927   Mean   :0.3143   Mean   :18847   Mean   :  208847  
##  3rd Qu.:59890   3rd Qu.:0.5380   3rd Qu.:22636   3rd Qu.:  252090  
##  Max.   :79853   Max.   :1.0000   Max.   :37602   Max.   :90262600  
##     Count3-6         Count6_12        Count12andmore     Marital_Status  
##  Min.   : 0.0000   Min.   : 0.00000   Min.   : 0.00000   Min.   :0.0000  
##  1st Qu.: 0.0000   1st Qu.: 0.00000   1st Qu.: 0.00000   1st Qu.:0.0000  
##  Median : 0.0000   Median : 0.00000   Median : 0.00000   Median :0.0000  
##  Mean   : 0.2484   Mean   : 0.07809   Mean   : 0.05994   Mean   :0.4987  
##  3rd Qu.: 0.0000   3rd Qu.: 0.00000   3rd Qu.: 0.00000   3rd Qu.:1.0000  
##  Max.   :13.0000   Max.   :17.00000   Max.   :11.00000   Max.   :1.0000  
##    Veh_Owned       Dependents     Accomodation      Risk_Score   
##  Min.   :1.000   Min.   :1.000   Min.   :0.0000   Min.   :91.90  
##  1st Qu.:1.000   1st Qu.:2.000   1st Qu.:0.0000   1st Qu.:98.83  
##  Median :2.000   Median :3.000   Median :1.0000   Median :99.18  
##  Mean   :1.998   Mean   :2.503   Mean   :0.5013   Mean   :99.07  
##  3rd Qu.:3.000   3rd Qu.:3.000   3rd Qu.:1.0000   3rd Qu.:99.52  
##  Max.   :3.000   Max.   :4.000   Max.   :1.0000   Max.   :99.89  
##  Premiums_Paid   Sourcing_Channel    Residence            Premium     
##  Min.   : 2.00   Length:79853       Length:79853       Min.   : 1200  
##  1st Qu.: 7.00   Class :character   Class :character   1st Qu.: 5400  
##  Median :10.00   Mode  :character   Mode  :character   Median : 7500  
##  Mean   :10.86                                         Mean   :10925  
##  3rd Qu.:14.00                                         3rd Qu.:13800  
##  Max.   :60.00                                         Max.   :60000  
##     Default      
##  Min.   :0.0000  
##  1st Qu.:1.0000  
##  Median :1.0000  
##  Mean   :0.9374  
##  3rd Qu.:1.0000  
##  Max.   :1.0000
  • The id is just the serial number of each policy holder, from no 1 (min) to number 79,853 (Max)
  • Perc_Premiumcash, this is the % of the premium made by cash payment; the 1st Quartile is 3.4%, the Median is 16.7%, the mean is 31.4% and the 3rd Quartile is 58.3%, hence 75% of the policy holders are less than 58.3%, meaning lesser policy holders make their premium by cash.
  • Age in days, seems we can’t make meaning of it yet, until we convert it to age in years
  • The min income is 24,030 USD, median is 166,560 USD, and the max is 90,262,600 USD.
  • Count3-6; the number of times premium was paid 3-6 months late; 3rd Quartile is 0.000, meaning most policy holders pay up in time, but a few of them do delay, with max up to 13 times
  • Count6_12 ; the number of times premium was paid 6-12 months late; although 3rd Quartile is 0.000, yet max is 17, meaning most policy holders pays their premium on time, but few outliers still delay up to 6-12 months
  • Count12andmore; number of times premium was paid, more than 12 months is maximally 11 times.
  • Marital_Status; this will be changed to factor for us to make more sense of the data
  • Dependents; the media number of dependents per policy holder is 3 and the max is 4
  • Risk_Score is high for most clients, the min is 91.9, the median is 99.18, meaning most clients are nearer to the max than the minimum, as the mas is 99.89
  • Sourcing_Channel; channel through which the customer was sourced will be converted to factor so that we can make more sense of the data
  • Veh_Owned; max is 3 and minimum is 1, hence this is likely to be Vehicle insurance, since all policy vehicle own at least 1 vehicle#
  • Accommodation: this will be converted to factor, so we can make more sense of the data
  • Premiums_Paid; no of premium paid till date; min is 2, median is 10 and max is 60. This may help understand the duration of this data collection, It means it will definitely be over 5 years, if it is monthly premium
  • Residence: we will change this to factor to help us understand the data better
  • Premium; total premium paid till date, min is 1,200, mean is 7,500 and max is 60,000
  • Default: this is the variable of interest and it will be changed to factor to help gain better insight into the data.

3.5 Lets now Transform the Age Column Values from days to years

  • We will create a new column of Age in Years from the original Age in Days column

  • Having created another column called AgeinYears, we can see in the Global Environment that the variables have increased from 17 to 18.

  • We will go ahead to remove the “Age” column (Column 3) later on.

3.6. Lets also transform the Income Variable, by creating a new variable called Income Class

  • We will create the income class column using the cut function on the current Income Variable.

  • We have created 3 income class (low, middle and high) within a new variable called IncomeClass

  • We now have 19 variables up from 18.

  • Lets check the dimension of the new dataset

## [1] 79853    19
##        id        Perc_Premiumcash      Age            Income        
##  Min.   :    1   Min.   :0.0000   Min.   : 7670   Min.   :   24030  
##  1st Qu.:19964   1st Qu.:0.0340   1st Qu.:14974   1st Qu.:  108010  
##  Median :39927   Median :0.1670   Median :18625   Median :  166560  
##  Mean   :39927   Mean   :0.3143   Mean   :18847   Mean   :  208847  
##  3rd Qu.:59890   3rd Qu.:0.5380   3rd Qu.:22636   3rd Qu.:  252090  
##  Max.   :79853   Max.   :1.0000   Max.   :37602   Max.   :90262600  
##     Count3-6         Count6_12        Count12andmore     Marital_Status  
##  Min.   : 0.0000   Min.   : 0.00000   Min.   : 0.00000   Min.   :0.0000  
##  1st Qu.: 0.0000   1st Qu.: 0.00000   1st Qu.: 0.00000   1st Qu.:0.0000  
##  Median : 0.0000   Median : 0.00000   Median : 0.00000   Median :0.0000  
##  Mean   : 0.2484   Mean   : 0.07809   Mean   : 0.05994   Mean   :0.4987  
##  3rd Qu.: 0.0000   3rd Qu.: 0.00000   3rd Qu.: 0.00000   3rd Qu.:1.0000  
##  Max.   :13.0000   Max.   :17.00000   Max.   :11.00000   Max.   :1.0000  
##    Veh_Owned       Dependents     Accomodation      Risk_Score   
##  Min.   :1.000   Min.   :1.000   Min.   :0.0000   Min.   :91.90  
##  1st Qu.:1.000   1st Qu.:2.000   1st Qu.:0.0000   1st Qu.:98.83  
##  Median :2.000   Median :3.000   Median :1.0000   Median :99.18  
##  Mean   :1.998   Mean   :2.503   Mean   :0.5013   Mean   :99.07  
##  3rd Qu.:3.000   3rd Qu.:3.000   3rd Qu.:1.0000   3rd Qu.:99.52  
##  Max.   :3.000   Max.   :4.000   Max.   :1.0000   Max.   :99.89  
##  Premiums_Paid   Sourcing_Channel    Residence            Premium     
##  Min.   : 2.00   Length:79853       Length:79853       Min.   : 1200  
##  1st Qu.: 7.00   Class :character   Class :character   1st Qu.: 5400  
##  Median :10.00   Mode  :character   Mode  :character   Median : 7500  
##  Mean   :10.86                                         Mean   :10925  
##  3rd Qu.:14.00                                         3rd Qu.:13800  
##  Max.   :60.00                                         Max.   :60000  
##     Default         AgeinYears     IncomeClass   
##  Min.   :0.0000   Min.   : 21.01   low   :33495  
##  1st Qu.:1.0000   1st Qu.: 41.02   middle:25779  
##  Median :1.0000   Median : 51.03   high  :20579  
##  Mean   :0.9374   Mean   : 51.63                 
##  3rd Qu.:1.0000   3rd Qu.: 62.02                 
##  Max.   :1.0000   Max.   :103.02
  • We now have 19 variables and the Income Class variable is clearly seen
  • About 42% of the policy holders are within the low income bracket, 32% within the middle income class and 26% within the high income class

3.7 Lets convert IncomeClass, Marital Status, Accomodation, SourcingChannel, Residence and Default to Factor

  • Having converted these variables to factor, lets now check the structure and the summary of our dataset again, so we that we can make more sense of the data
## tibble [79,853 x 19] (S3: tbl_df/tbl/data.frame)
##  $ id              : num [1:79853] 1 2 3 4 5 6 7 8 9 10 ...
##  $ Perc_Premiumcash: num [1:79853] 0.317 0 0.015 0 0.888 0.512 0 0.994 0.019 0.018 ...
##  $ Age             : num [1:79853] 11330 30309 16069 23733 19360 ...
##  $ Income          : num [1:79853] 90050 156080 145020 187560 103050 ...
##  $ Count3-6        : num [1:79853] 0 0 1 0 7 0 0 0 0 0 ...
##  $ Count6_12       : num [1:79853] 0 0 0 0 3 0 0 0 0 0 ...
##  $ Count12andmore  : num [1:79853] 0 0 0 0 4 0 0 0 0 0 ...
##  $ Marital_Status  : Factor w/ 2 levels "0","1": 1 2 1 2 1 1 1 1 2 2 ...
##  $ Veh_Owned       : num [1:79853] 3 3 1 1 2 1 3 3 2 3 ...
##  $ Dependents      : num [1:79853] 3 1 1 1 1 4 4 2 4 3 ...
##  $ Accomodation    : Factor w/ 2 levels "0","1": 2 2 2 1 1 1 2 1 2 2 ...
##  $ Risk_Score      : num [1:79853] 98.8 99.1 99.2 99.4 98.8 ...
##  $ Premiums_Paid   : num [1:79853] 8 3 14 13 15 4 8 4 8 8 ...
##  $ Sourcing_Channel: Factor w/ 5 levels "A","B","C","D",..: 1 1 3 1 1 2 3 1 1 1 ...
##  $ Residence       : Factor w/ 2 levels "Rural","Urban": 1 2 2 2 2 1 1 2 2 1 ...
##  $ Premium         : num [1:79853] 5400 11700 18000 13800 7500 3300 20100 3300 5400 9600 ...
##  $ Default         : Factor w/ 2 levels "0","1": 2 2 2 2 1 2 2 2 2 2 ...
##  $ AgeinYears      : num [1:79853] 31 83 44 65 53 ...
##  $ IncomeClass     : Factor w/ 3 levels "low","middle",..: 1 2 1 2 1 1 3 1 1 2 ...
##        id        Perc_Premiumcash      Age            Income        
##  Min.   :    1   Min.   :0.0000   Min.   : 7670   Min.   :   24030  
##  1st Qu.:19964   1st Qu.:0.0340   1st Qu.:14974   1st Qu.:  108010  
##  Median :39927   Median :0.1670   Median :18625   Median :  166560  
##  Mean   :39927   Mean   :0.3143   Mean   :18847   Mean   :  208847  
##  3rd Qu.:59890   3rd Qu.:0.5380   3rd Qu.:22636   3rd Qu.:  252090  
##  Max.   :79853   Max.   :1.0000   Max.   :37602   Max.   :90262600  
##     Count3-6         Count6_12        Count12andmore     Marital_Status
##  Min.   : 0.0000   Min.   : 0.00000   Min.   : 0.00000   0:40032       
##  1st Qu.: 0.0000   1st Qu.: 0.00000   1st Qu.: 0.00000   1:39821       
##  Median : 0.0000   Median : 0.00000   Median : 0.00000                 
##  Mean   : 0.2484   Mean   : 0.07809   Mean   : 0.05994                 
##  3rd Qu.: 0.0000   3rd Qu.: 0.00000   3rd Qu.: 0.00000                 
##  Max.   :13.0000   Max.   :17.00000   Max.   :11.00000                 
##    Veh_Owned       Dependents    Accomodation   Risk_Score    Premiums_Paid  
##  Min.   :1.000   Min.   :1.000   0:39823      Min.   :91.90   Min.   : 2.00  
##  1st Qu.:1.000   1st Qu.:2.000   1:40030      1st Qu.:98.83   1st Qu.: 7.00  
##  Median :2.000   Median :3.000                Median :99.18   Median :10.00  
##  Mean   :1.998   Mean   :2.503                Mean   :99.07   Mean   :10.86  
##  3rd Qu.:3.000   3rd Qu.:3.000                3rd Qu.:99.52   3rd Qu.:14.00  
##  Max.   :3.000   Max.   :4.000                Max.   :99.89   Max.   :60.00  
##  Sourcing_Channel Residence        Premium      Default     AgeinYears    
##  A:43134          Rural:31670   Min.   : 1200   0: 4998   Min.   : 21.01  
##  B:16512          Urban:48183   1st Qu.: 5400   1:74855   1st Qu.: 41.02  
##  C:12039                        Median : 7500             Median : 51.03  
##  D: 7559                        Mean   :10925             Mean   : 51.63  
##  E:  609                        3rd Qu.:13800             3rd Qu.: 62.02  
##                                 Max.   :60000             Max.   :103.02  
##  IncomeClass   
##  low   :33495  
##  middle:25779  
##  high  :20579  
##                
##                
## 
  • IncomeClass, Marital Status, Accomodation, SourcingChannel, Residence and Default have now been converted to factors, all with levels 2 or 3, except SourcingChannel that has 5 levels
  • 50.1% of policy holders are unmarried
  • 50.1% of the policy holders own their accomodation ^ The predominant sourcing channel is A, accounting for 54% of the policy holders, while the least is E, accounting for <1% (0.8%) of all policy holders
  • 60.3% of policy holders have their residences in Urban areas
  • 6.3% of policy holders have defaulted their premium

3.8 Lets remove insignificant columns (Age in Days)

  • Having removed the Age in Days, lets see the new dimensions
## [1] 79853    18

4. Exploratory Data Analysis

4.1 Univariate Analysis of all Numetrical Variables

4.1.1 Univariate Analysis of Numerical variables with histogram

4.2 Lets draw histogram and boxplot of numerical variables using ggplot

4.2.1 Observation on Percentage ofo Premium Paid with Cash

  • Most of the policy holders don’t pay with cash
  • The Median proportion that pays with cash is 17%

4.2.1 Observation on Age

  • Age is normally distributed
  • The Median Age is 51 years
  • Age is skewed to the left but there are right Outliers

4.2.2 Observation on Income

4.2.3 Observation on ‘Count3-6’; the number of times premium was paid 3-6 months late

  • Majority of policy holders pay their premium on time, just a few pay 3-6 months late

4.2.4 Observation on Count6_12; Number of times premium was paid 6-12 months late

  • Most times, premiums were paid on time by policy holders, only on few occasions were there delays of up to 6-12 months.
  • Most delays were 1 day, though could extend to 3 on fewer occasions, while there are very few extreme cases were delays extended

4.2.5 Observation on Count12andmore; Number of times premium were paid more than 12 months late.

  • Premiums were rarely paid more than 12 months late.
  • The highest form of delay is 3-6 months late, while the least is a delay of 12 months and more.

4.2.6 Observation on Number of Vehicle Owned by Customers

  • The distribution of number of vehicle of owned by customers is evenly distributed between 1 to 3 vehicles
  • The proportion of customers that own 1,2 and 3 cars each are the same as seen in the chart above

4.2.7 Observation on Dependents; Number of Dependents in the family of customers

  • The distribution of Dependents in family is also evenly distributed
  • Most of the customers have 2-3 dependents
  • The proportion of customers with 1,2,3 & 4 dependents is the same.

4.2.8 Observation on No of Premium Paid till date

  • The distribution on the Number of Premium Paid till date is a Normal Distribution
  • The Median no is 10, while the distribution is skewed to the left, but there are right outliers, that is extreme values to the right

4.2.9 Observation on the Total Premium Amount Paid till now

  • The Median Total Premium Paid is 7500, the minimum is 1200 and the maximum is 60,000
  • The first Quartile and third Quartile of the total Premium Paid is between 5,400 and 13,800
  • The distribution is skewed to the left, with extreme values on the right
  • The modal Total Premium Paid is 10,000
  • The least total Premium Paid per individual policy holder is between 35,000 and 60,000

4.2.10 Obervation on Risk Score

  • The Risk Score is skwed to the right, with left outliers
  • The Median Risk Score is 99
  • Majority of the Clients have very high risk score, with the higher proportion having 99% risk score

5. Bivariate Analysis

5.1 Let’s plot percent stacked barchart to see the effect of independents variables on Default, which is the variable of interest

5.1.1 Default versus Marital Status

* Marital Status doesn’t seem to have any impact on the Default on Premium as the similar proportion of Default exists between the Married and the Non Married. * Most of the customers don’t Default on their Premiums

5.1.2 Default versus Accomodation

  • Accomodation doesn’t seem to have much impact on Default
  • Thus who own their accomodation may seem to have a light higher chance of Defaulting on their premiums

5.1.3 Default versus Sourcing Channel

  • Sourcing Channels tends to have varying impact on Default
  • Customers sourced from Channel A have the lowest chance of Defaulting
  • Customers sourced from Channel D and E have the higher Chance of Defaulting as compared to Channel A
  • Customers sourced from D Channel have the highest chance of Defaulting, followed by those from channels C & E, whose risk of Defaulting seems to be the same, followed by those from B, while Customers from A have the lowest risk of Defaulting

5.1.4 Default versus Residence

  • Residence doesn’t seem to have any impact on Default
  • Those from Rural areas tends to have a slightly higher chance of Defaulting

5.1.5 Defualt versus Income Class

  • The Income Class of the customer tend to have a significant impact on Default
  • Those Customers from lower income groups have a higher chance of Defaulting than those from Middle Income Class, while the High Income Class Customers have the least likelihood of Defaulting as expected

5.1.6 Age versus Late Premium 3-6 months using boxplot

  • The concentration of late payment, 3-6 month late is higher around the middle age segment of 40-60 years, median peak ranging around 50 years

5.1.7 Age versus Late Premium after 6-12 months

  • This is similar to above 3-6 months, but it has more varying peaks per age

5.1.8 Age Versus Late Premium After 12 MOnths

  • This is similar to 3-6 months
  • There are Outliers

5.1.9 No of Dependents versus Late Premium in 3- 6 months

  • The higher the number of Dependents the higher the chances of late payment in 3- 6 months

5.1.10 No of Dependents versus Late Payment in 6-12 Months

  • Payment of 6-12 months is more prevalent among the customers with higher number of Dependents

5.1.11 Income versus Late Premium After 12 months

  • The higher the income the lower the chances of delay in payment of Premiums

5.2 Bivariate Analysis: Plotting the Relationship between the Dependent Factor variable and Numerical Variables

  • Lets see the relationship between Default and the Numeric Variables (Age in Years, Percentage Premium Paid in Cash, Vehicle Owned, Count 3-6 Months Late, Count 6-12 Months Late, Count More than 12 Months, Risk Score, No of Dependents, No of Premium Paid till date and Total Premium Paid)

5.2.1 Relationship between Age in Years and Defualt

  • The lower the age the more the chances of Default on Premiums

5.2.2 Relationship between Percentage Premium Paid in Cash and Default

  • The more the percentage premium paid in cash the more the likelihood of Default

5.2.3 Relationship between Vehicle Owned and Default

  • No of Vehicle Owned doesn’t have any effect on Defualt on Payment of Premium

5.2.3 Relationship between Count 3-6 months Late and Default

  • According to the data available, the lower the number of times premium was paid below 6 months, the more the likelihood of Default
  • THis doesn’t sound logical and we will still check the dat

5.2.3 Relationship between Count more than 6 months Late and Default

  • The proportion of Customers that pay their premium more than 12 months late and those who Default on Premium is propotional to increasing delays in payment

5.2.4 Relationship between Risk Score and Default

  • The more the Risk Score the higher the chance of Default

5.2.5 Relationship between No of Dependents and Default

  • No of Dependents have only a slight impact on Default; although the higher the number of Dependents the higher the chance of Default

5.2.6 Relationship between No of Premium Paid till date and Default

  • The lower the No of Premium Paid till date the higher the chance of Default as expected

5.2.7 Relationship between Total Premium and Default

  • The lower the Total Premium Paid till date the higher the chance of Default

5.3 Correlation Plot Between the Entire Variables in the Data Set

5.3.1 Install Corrplot Package

5.3.2 In order to do the correlation plot, we convert all Factor variables to Numeric

5.3.3 Use the Corrplot on the dataset already changed to Numeric

  • There is a negative correlation between Percentage of Premium Paid in Cash Credit and Defaulting on Premium *There is a negative correlation between late payments of Premium in 3-6 months, 6-12 months and after 12 months. The delay of payment of 6-12 months has a higher negative correlation
  • There is a positive correlation between age and Default
  • No of Premium Paid to date is positively correlated with Risk Score

6 Data Pre Processing

6.1 Removal of Unwanted Variable

  • The two variables to be removed are the ID variable and the Age in Days variable

6.1.1 Removal of Age in Days Column

*Done in sub-Section 3.8, where we removed “Age in Days” Column

6.1.2 Removal of ID Variable

  • Having removed the ID variable, lets check the Data structure to see the no of variables we have left
## tibble [79,853 x 17] (S3: tbl_df/tbl/data.frame)
##  $ Perc_Premiumcash: num [1:79853] 0.317 0 0.015 0 0.888 0.512 0 0.994 0.019 0.018 ...
##  $ Income          : num [1:79853] 90050 156080 145020 187560 103050 ...
##  $ Count3-6        : num [1:79853] 0 0 1 0 7 0 0 0 0 0 ...
##  $ Count6_12       : num [1:79853] 0 0 0 0 3 0 0 0 0 0 ...
##  $ Count12andmore  : num [1:79853] 0 0 0 0 4 0 0 0 0 0 ...
##  $ Marital_Status  : num [1:79853] 1 2 1 2 1 1 1 1 2 2 ...
##  $ Veh_Owned       : num [1:79853] 3 3 1 1 2 1 3 3 2 3 ...
##  $ Dependents      : num [1:79853] 3 1 1 1 1 4 4 2 4 3 ...
##  $ Accomodation    : num [1:79853] 2 2 2 1 1 1 2 1 2 2 ...
##  $ Risk_Score      : num [1:79853] 98.8 99.1 99.2 99.4 98.8 ...
##  $ Premiums_Paid   : num [1:79853] 8 3 14 13 15 4 8 4 8 8 ...
##  $ Sourcing_Channel: num [1:79853] 1 1 3 1 1 2 3 1 1 1 ...
##  $ Residence       : num [1:79853] 1 2 2 2 2 1 1 2 2 1 ...
##  $ Premium         : num [1:79853] 5400 11700 18000 13800 7500 3300 20100 3300 5400 9600 ...
##  $ Default         : num [1:79853] 2 2 2 2 1 2 2 2 2 2 ...
##  $ AgeinYears      : num [1:79853] 31 83 44 65 53 ...
##  $ IncomeClass     : num [1:79853] 1 2 1 2 1 1 3 1 1 2 ...
  • We are now left with 17 variables down from 18 after removing the Age in Days variable
  • All our variables are Numeric
  • We still have 79,853 Observations
  • We will have to convert the variable of interest to Factor later on.

6.2 Missing Value Treatment

  • This was already handled in subsection 3.3
  • We found that there were no mising values

6.3 Convert Variable of Interest (Default) to Factor

  • The variable of interest as per problem statement is Default
## 
##     0     1 
##  4998 74855
  • We have transformed the variable from 2 and 1 to 1 and 0, 1 standing for those who have not defaulted and 0 stranding for those who have defaulted
  • We can see from the Default Table that the Variable is not balanced; only 6.7% Defaulted (Those with “0” )

6.4 Lets convert the variable of interest to Factor again since we did earlier but reconverted to binary

## tibble [79,853 x 17] (S3: tbl_df/tbl/data.frame)
##  $ Perc_Premiumcash: num [1:79853] 0.317 0 0.015 0 0.888 0.512 0 0.994 0.019 0.018 ...
##  $ Income          : num [1:79853] 90050 156080 145020 187560 103050 ...
##  $ Count3-6        : num [1:79853] 0 0 1 0 7 0 0 0 0 0 ...
##  $ Count6_12       : num [1:79853] 0 0 0 0 3 0 0 0 0 0 ...
##  $ Count12andmore  : num [1:79853] 0 0 0 0 4 0 0 0 0 0 ...
##  $ Marital_Status  : num [1:79853] 1 2 1 2 1 1 1 1 2 2 ...
##  $ Veh_Owned       : num [1:79853] 3 3 1 1 2 1 3 3 2 3 ...
##  $ Dependents      : num [1:79853] 3 1 1 1 1 4 4 2 4 3 ...
##  $ Accomodation    : num [1:79853] 2 2 2 1 1 1 2 1 2 2 ...
##  $ Risk_Score      : num [1:79853] 98.8 99.1 99.2 99.4 98.8 ...
##  $ Premiums_Paid   : num [1:79853] 8 3 14 13 15 4 8 4 8 8 ...
##  $ Sourcing_Channel: num [1:79853] 1 1 3 1 1 2 3 1 1 1 ...
##  $ Residence       : num [1:79853] 1 2 2 2 2 1 1 2 2 1 ...
##  $ Premium         : num [1:79853] 5400 11700 18000 13800 7500 3300 20100 3300 5400 9600 ...
##  $ Default         : num [1:79853] 1 1 1 1 0 1 1 1 1 1 ...
##  $ AgeinYears      : num [1:79853] 31 83 44 65 53 ...
##  $ IncomeClass     : num [1:79853] 1 2 1 2 1 1 3 1 1 2 ...

6.5 Lets again check the summary of the Dataframe

##  Perc_Premiumcash     Income            Count3-6         Count6_12       
##  Min.   :0.0000   Min.   :   24030   Min.   : 0.0000   Min.   : 0.00000  
##  1st Qu.:0.0340   1st Qu.:  108010   1st Qu.: 0.0000   1st Qu.: 0.00000  
##  Median :0.1670   Median :  166560   Median : 0.0000   Median : 0.00000  
##  Mean   :0.3143   Mean   :  208847   Mean   : 0.2484   Mean   : 0.07809  
##  3rd Qu.:0.5380   3rd Qu.:  252090   3rd Qu.: 0.0000   3rd Qu.: 0.00000  
##  Max.   :1.0000   Max.   :90262600   Max.   :13.0000   Max.   :17.00000  
##  Count12andmore     Marital_Status    Veh_Owned       Dependents   
##  Min.   : 0.00000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.: 0.00000   1st Qu.:1.000   1st Qu.:1.000   1st Qu.:2.000  
##  Median : 0.00000   Median :1.000   Median :2.000   Median :3.000  
##  Mean   : 0.05994   Mean   :1.499   Mean   :1.998   Mean   :2.503  
##  3rd Qu.: 0.00000   3rd Qu.:2.000   3rd Qu.:3.000   3rd Qu.:3.000  
##  Max.   :11.00000   Max.   :2.000   Max.   :3.000   Max.   :4.000  
##   Accomodation     Risk_Score    Premiums_Paid   Sourcing_Channel
##  Min.   :1.000   Min.   :91.90   Min.   : 2.00   Min.   :1.000   
##  1st Qu.:1.000   1st Qu.:98.83   1st Qu.: 7.00   1st Qu.:1.000   
##  Median :2.000   Median :99.18   Median :10.00   Median :1.000   
##  Mean   :1.501   Mean   :99.07   Mean   :10.86   Mean   :1.823   
##  3rd Qu.:2.000   3rd Qu.:99.52   3rd Qu.:14.00   3rd Qu.:3.000   
##  Max.   :2.000   Max.   :99.89   Max.   :60.00   Max.   :5.000   
##    Residence        Premium         Default         AgeinYears    
##  Min.   :1.000   Min.   : 1200   Min.   :0.0000   Min.   : 21.01  
##  1st Qu.:1.000   1st Qu.: 5400   1st Qu.:1.0000   1st Qu.: 41.02  
##  Median :2.000   Median : 7500   Median :1.0000   Median : 51.03  
##  Mean   :1.603   Mean   :10925   Mean   :0.9374   Mean   : 51.63  
##  3rd Qu.:2.000   3rd Qu.:13800   3rd Qu.:1.0000   3rd Qu.: 62.02  
##  Max.   :2.000   Max.   :60000   Max.   :1.0000   Max.   :103.02  
##   IncomeClass   
##  Min.   :1.000  
##  1st Qu.:1.000  
##  Median :2.000  
##  Mean   :1.838  
##  3rd Qu.:3.000  
##  Max.   :3.000
## tibble [79,853 x 17] (S3: tbl_df/tbl/data.frame)
##  $ Perc_Premiumcash: num [1:79853] 0.317 0 0.015 0 0.888 0.512 0 0.994 0.019 0.018 ...
##  $ Income          : num [1:79853] 90050 156080 145020 187560 103050 ...
##  $ Count3-6        : num [1:79853] 0 0 1 0 7 0 0 0 0 0 ...
##  $ Count6_12       : num [1:79853] 0 0 0 0 3 0 0 0 0 0 ...
##  $ Count12andmore  : num [1:79853] 0 0 0 0 4 0 0 0 0 0 ...
##  $ Marital_Status  : num [1:79853] 1 2 1 2 1 1 1 1 2 2 ...
##  $ Veh_Owned       : num [1:79853] 3 3 1 1 2 1 3 3 2 3 ...
##  $ Dependents      : num [1:79853] 3 1 1 1 1 4 4 2 4 3 ...
##  $ Accomodation    : num [1:79853] 2 2 2 1 1 1 2 1 2 2 ...
##  $ Risk_Score      : num [1:79853] 98.8 99.1 99.2 99.4 98.8 ...
##  $ Premiums_Paid   : num [1:79853] 8 3 14 13 15 4 8 4 8 8 ...
##  $ Sourcing_Channel: num [1:79853] 1 1 3 1 1 2 3 1 1 1 ...
##  $ Residence       : num [1:79853] 1 2 2 2 2 1 1 2 2 1 ...
##  $ Premium         : num [1:79853] 5400 11700 18000 13800 7500 3300 20100 3300 5400 9600 ...
##  $ Default         : num [1:79853] 1 1 1 1 0 1 1 1 1 1 ...
##  $ AgeinYears      : num [1:79853] 31 83 44 65 53 ...
##  $ IncomeClass     : num [1:79853] 1 2 1 2 1 1 3 1 1 2 ...
  • All variables are numeric except our variable of interest which is what is desired for building our model

6.6 Lets Check or Multicollinearity between the variables

## Loading required package: sp
## Loading required package: raster
## 
## Attaching package: 'raster'
## The following object is masked from 'package:e1071':
## 
##     interpolate
## The following objects are masked from 'package:MASS':
## 
##     area, select
## 
## Attaching package: 'usdm'
## The following object is masked from 'package:car':
## 
##     vif
## 
## Attaching package: 'VIF'
## The following object is masked from 'package:usdm':
## 
##     vif
## The following object is masked from 'package:car':
## 
##     vif
## Type 'citation("pROC")' for a citation.
## 
## Attaching package: 'pROC'
## The following objects are masked from 'package:stats':
## 
##     cov, smooth, var
## Loading required package: Hmisc
## Loading required package: lattice
## Loading required package: survival
## Loading required package: Formula
## 
## Attaching package: 'Hmisc'
## The following objects are masked from 'package:raster':
## 
##     mask, zoom
## The following object is masked from 'package:e1071':
## 
##     impute
## The following objects are masked from 'package:base':
## 
##     format.pval, units
## Loading required package: SparseM
## 
## Attaching package: 'SparseM'
## The following object is masked from 'package:base':
## 
##     backsolve
## 
## Attaching package: 'rms'
## The following object is masked from 'package:VIF':
## 
##     vif
## The following object is masked from 'package:usdm':
## 
##     vif
## The following objects are masked from 'package:car':
## 
##     Predict, vif
## 
## Call:
## lm(formula = IncomeClass ~ ., data = r)
## 
## Coefficients:
##      (Intercept)  Perc_Premiumcash            Income        `Count3-6`  
##       -1.440e+01        -5.866e-02         9.951e-08         1.336e-04  
##        Count6_12    Count12andmore    Marital_Status         Veh_Owned  
##       -3.623e-02        -3.291e-02         4.273e-03         3.189e-03  
##       Dependents      Accomodation        Risk_Score     Premiums_Paid  
##        1.236e-03         2.301e-03         1.535e-01         2.721e-02  
## Sourcing_Channel         Residence           Premium        AgeinYears  
##        9.240e-02        -2.392e-02         4.442e-05         1.979e-03
## Perc_Premiumcash           Income       `Count3-6`        Count6_12 
##         1.206060         1.103221         1.163545         1.133204 
##   Count12andmore   Marital_Status        Veh_Owned       Dependents 
##         1.159067         1.000112         1.000243         1.000402 
##     Accomodation       Risk_Score    Premiums_Paid Sourcing_Channel 
##         1.000115         1.161790         1.227097         1.086352 
##        Residence          Premium       AgeinYears 
##         1.001129         1.199955         1.154599
  • According to the correlation coefficients the minimum correlation Perc_Premiumcash which has a linear correlation coefficient value of -5.866e-02. That is Income Class~Perc_PremiumCash have the least correlation together.
  • The maximum correlation is 1.535e-01, which represent correlation between Income Class and Risk_Score
  • The most correlated variable to to Income Class is Premiums_Paid (1.227) followed by Perc_Premiumcash (1.206), the third most correlated is Premium (1.2)
  • Non of the variables have Multicollinearity problem, hence no significant correlation between income class and other variables
  • Since non of the VIF is above 5, we may not necessarily have to remove any variable based on Multicollinearity

* The Residual vs. Fitted graph determines if we should add a new predictor to the model already containing other predictors. * Since the plot showed did not show a non random pattern, there is no need to add a new predictor to the model# * There is no non-linearity in the relationship between predictor variables and other variables * All the plots - Residual vs. Fitted, Normal Q-Q, Scale-Location and Residual vs. Leverage have all their points close to regressed diagonal line, this showed that the model has a high R Square * Cook’s Distance is used to detect observations that strongly influence fitted values of the model: It is used to identify influential data points; hence data point at “75339” will strongly influence the fitted values of the model because of its large Cook’s Distance. Hence the Removing Outliers in the Income Class Variable will help the fitness of the model.

  • There is a positive correlation between Premium and Income, no of Premium Paid, Risk Score and Sourcing Channel
  • There is a negative correlation between Premium Paid via Cash Credit and Sourcing Channel, Accomodation, Risk Score
  • There is a positive correlation betweem Percentage of Premium by Cash Credit and Count 3-6 months, Count 6-12 months

6.7 Outlier Treatment

6.7.1 Lets first check for Outliers

* There are Outliers that is extreme values in Income, Count 3-6 months, Count 6-12 months, Count 12andmore, Risk Score, Premium Paid, Premium and Age in Years

6.7.2 Removing the Outliers

##    95% 
## 450050
## 95% 
##  20
##   95% 
## 28500
##      95% 
## 76.03836
  • All income above 450,050 are being removed
  • All No of Premium-Paid above 20 will be removed
  • All Premium (Total Amount of Premium Paid) above 28,500 will be removed
  • All ages above 76 years will be removed

7 Unbalanced Nature of the Variable of Interest

7.1 Lets check the data in the Default Variable

## 
##     0     1 
##  4998 74855

7.2 Lets check for the probability of the Default Variable

## 
##          0          1 
## 0.06259001 0.93740999
  • As we can see only 6.2% of the Customers default on their premium payment
  • The data is not balanced
  • We therefore need to handle the problem of data imbalance

7.3 Lets fix class imbalance by SMOTEing

7.3.1 Generate Synthetic Data using SMOTE

  • Lets load the libraries
## Loading required package: grid
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
## 
## Attaching package: 'caret'
## The following object is masked from 'package:survival':
## 
##     cluster
## The following objects are masked from 'package:InformationValue':
## 
##     confusionMatrix, precision, sensitivity, specificity
## 
## Attaching package: 'smotefamily'
## The following object is masked from 'package:DMwR':
## 
##     SMOTE
  • Lets now use the SMOTE function
## tibble [79,853 x 17] (S3: tbl_df/tbl/data.frame)
##  $ Perc_Premiumcash: num [1:79853] 0.317 0 0.015 0 0.888 0.512 0 0.994 0.019 0.018 ...
##  $ Income          : num [1:79853] 90050 156080 145020 187560 103050 ...
##  $ Count3-6        : num [1:79853] 0 0 1 0 7 0 0 0 0 0 ...
##  $ Count6_12       : num [1:79853] 0 0 0 0 3 0 0 0 0 0 ...
##  $ Count12andmore  : num [1:79853] 0 0 0 0 4 0 0 0 0 0 ...
##  $ Marital_Status  : num [1:79853] 1 2 1 2 1 1 1 1 2 2 ...
##  $ Veh_Owned       : num [1:79853] 3 3 1 1 2 1 3 3 2 3 ...
##  $ Dependents      : num [1:79853] 3 1 1 1 1 4 4 2 4 3 ...
##  $ Accomodation    : num [1:79853] 2 2 2 1 1 1 2 1 2 2 ...
##  $ Risk_Score      : num [1:79853] 98.8 99.1 99.2 99.4 98.8 ...
##  $ Premiums_Paid   : num [1:79853] 8 3 14 13 15 4 8 4 8 8 ...
##  $ Sourcing_Channel: num [1:79853] 1 1 3 1 1 2 3 1 1 1 ...
##  $ Residence       : num [1:79853] 1 2 2 2 2 1 1 2 2 1 ...
##  $ Premium         : num [1:79853] 5400 11700 18000 13800 7500 3300 20100 3300 5400 9600 ...
##  $ Default         : num [1:79853] 1 1 1 1 0 1 1 1 1 1 ...
##  $ AgeinYears      : num [1:79853] 31 83 44 65 53 ...
##  $ IncomeClass     : num [1:79853] 1 2 1 2 1 1 3 1 1 2 ...
## 
##     0     1 
##  4998 74855
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:Hmisc':
## 
##     src, summarize
## The following objects are masked from 'package:raster':
## 
##     intersect, select, union
## The following object is masked from 'package:gridExtra':
## 
##     combine
## The following object is masked from 'package:MASS':
## 
##     select
## The following object is masked from 'package:car':
## 
##     recode
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
## Loaded ROSE 0.0-3
  • We will use the SMOTE Function or other Oversampling or undersMpling method to balance the data before commencing Model building later on
  • We will use this function to handle unbalanced classification problems using the SMOTE method. We will generate a new “SMOTEd” data set that addresses the class unbalance problem
## 
##     0     1 
##  4998 74855
## 
##          0          1 
## 0.06259001 0.93740999
## 
##     0     1 
## 54978 74855
## 
##         0         1 
## 0.4234517 0.5765483
  • Having used SMOTE function, we have improved the balance of the dataset significantly from 6.2% at Default to 42.3% Default
  • The oversampled data has been almost doubled from 79853 observations and 17 variables to 129833 observations with 18 variables
  • This will help significantly improve the outcome and performance of our models
## tibble [129,833 x 18] (S3: tbl_df/tbl/data.frame)
##  $ Perc_Premiumcash: num [1:129833] 0.337 1 0.457 1 0.033 0.065 0.163 0.003 0.96 0.614 ...
##  $ Income          : num [1:129833] 36080 28830 192130 48100 225060 ...
##  $ Count3-6        : num [1:129833] 0 1 0 1 1 1 0 2 1 0 ...
##  $ Count6_12       : num [1:129833] 0 2 0 0 0 0 0 1 1 0 ...
##  $ Count12andmore  : num [1:129833] 2 1 0 0 0 1 0 0 0 1 ...
##  $ Marital_Status  : num [1:129833] 2 2 2 2 2 2 1 1 2 1 ...
##  $ Veh_Owned       : num [1:129833] 3 2 2 2 2 2 1 3 1 1 ...
##  $ Dependents      : num [1:129833] 1 1 4 4 4 1 1 3 2 4 ...
##  $ Accomodation    : num [1:129833] 1 1 1 2 2 1 2 1 2 1 ...
##  $ Risk_Score      : num [1:129833] 99.6 98.5 98.6 99.3 99.3 ...
##  $ Premiums_Paid   : num [1:129833] 4 8 9 3 8 11 12 7 8 5 ...
##  $ Sourcing_Channel: num [1:129833] 3 1 2 1 1 2 3 1 4 1 ...
##  $ Residence       : num [1:129833] 1 2 1 1 2 1 1 1 2 2 ...
##  $ Premium         : num [1:129833] 1200 5700 1200 1200 15900 5400 3300 3300 5400 13800 ...
##  $ Default         : num [1:129833] 0 0 0 0 0 0 0 0 0 0 ...
##  $ AgeinYears      : num [1:129833] 37 24 48 48 40 ...
##  $ IncomeClass     : num [1:129833] 1 1 2 1 2 1 1 1 1 2 ...
##  $ class           : chr [1:129833] "0" "0" "0" "0" ...
  • We need to remove unwanted variable “class”
## tibble [129,833 x 17] (S3: tbl_df/tbl/data.frame)
##  $ Perc_Premiumcash: num [1:129833] 0.337 1 0.457 1 0.033 0.065 0.163 0.003 0.96 0.614 ...
##  $ Income          : num [1:129833] 36080 28830 192130 48100 225060 ...
##  $ Count3-6        : num [1:129833] 0 1 0 1 1 1 0 2 1 0 ...
##  $ Count6_12       : num [1:129833] 0 2 0 0 0 0 0 1 1 0 ...
##  $ Count12andmore  : num [1:129833] 2 1 0 0 0 1 0 0 0 1 ...
##  $ Marital_Status  : num [1:129833] 2 2 2 2 2 2 1 1 2 1 ...
##  $ Veh_Owned       : num [1:129833] 3 2 2 2 2 2 1 3 1 1 ...
##  $ Dependents      : num [1:129833] 1 1 4 4 4 1 1 3 2 4 ...
##  $ Accomodation    : num [1:129833] 1 1 1 2 2 1 2 1 2 1 ...
##  $ Risk_Score      : num [1:129833] 99.6 98.5 98.6 99.3 99.3 ...
##  $ Premiums_Paid   : num [1:129833] 4 8 9 3 8 11 12 7 8 5 ...
##  $ Sourcing_Channel: num [1:129833] 3 1 2 1 1 2 3 1 4 1 ...
##  $ Residence       : num [1:129833] 1 2 1 1 2 1 1 1 2 2 ...
##  $ Premium         : num [1:129833] 1200 5700 1200 1200 15900 5400 3300 3300 5400 13800 ...
##  $ Default         : num [1:129833] 0 0 0 0 0 0 0 0 0 0 ...
##  $ AgeinYears      : num [1:129833] 37 24 48 48 40 ...
##  $ IncomeClass     : num [1:129833] 1 1 2 1 2 1 1 1 1 2 ...

7.3.2 Combine the d dataset (both the Smoted data and the original data)

## 
##         0         1 
## 0.2860277 0.7139723
## 
##      0      1 
##  59976 149710
  • The data is now more balanced as compared with the previous data, as the variable of interest now have higher proportion.
  • Having combined the SMOTE data with the original data, the variable of interest is 28.6% of the observations up from the 6% in the earlier data set

7.3.3 Let’s Split the combined Data into two

  • Becuase of the size of the new data “SInsuranceDataset” with 209,686 observations, it is already too large for models we want to build when compared with the original dataset of 79853 observations
  • We will therefore split the data into 40% and 60%, the 40% part will be jsut around the same size with the original data set.
  • We will still be able to maintain the distribution proportions of ur new dataset.
## 
##         0         1 
## 0.2860299 0.7139701
## 
##         0         1 
## 0.2860243 0.7139757
  • The Newdata Set has the same proportion of Default like the Smoted data, 28.6% as Default up from 6% i nthe original data
  • Lets check the size of the two new data set splits
## 
##     0     1 
## 35986 89826
## 
##     0     1 
## 23990 59884
  • The NewInsuranceDataset1 has 35986 Defaults and 89826 Non Defaulters
  • The NewInsuranceDataset has 23990 Defaults and 59884 Non Defaulters
## tibble [83,874 x 17] (S3: tbl_df/tbl/data.frame)
##  $ Perc_Premiumcash: num [1:83874] 0.317 0.015 0.888 0.994 0.5 0.015 0.635 0.443 0.13 1 ...
##  $ Income          : num [1:83874] 90050 145020 103050 84090 198030 ...
##  $ Count3-6        : num [1:83874] 0 1 7 0 0 0 0 0 0 0 ...
##  $ Count6_12       : num [1:83874] 0 0 3 0 0 0 0 0 0 0 ...
##  $ Count12andmore  : num [1:83874] 0 0 4 0 0 0 0 0 0 1 ...
##  $ Marital_Status  : num [1:83874] 1 1 1 1 2 2 2 2 1 1 ...
##  $ Veh_Owned       : num [1:83874] 3 1 2 3 3 3 3 2 3 3 ...
##  $ Dependents      : num [1:83874] 3 1 1 2 1 1 4 2 3 4 ...
##  $ Accomodation    : num [1:83874] 2 2 1 1 2 1 1 2 1 2 ...
##  $ Risk_Score      : num [1:83874] 98.8 99.2 98.8 99 98.8 ...
##  $ Premiums_Paid   : num [1:83874] 8 14 15 4 16 6 11 5 17 4 ...
##  $ Sourcing_Channel: num [1:83874] 1 3 1 1 1 4 2 1 1 3 ...
##  $ Residence       : num [1:83874] 1 2 2 2 1 1 2 2 2 2 ...
##  $ Premium         : num [1:83874] 5400 18000 7500 3300 13800 13800 5400 5400 5700 11700 ...
##  $ Default         : num [1:83874] 1 1 0 1 1 1 1 1 1 1 ...
##  $ AgeinYears      : num [1:83874] 31 44 53 39 28 ...
##  $ IncomeClass     : num [1:83874] 1 1 1 1 2 2 1 1 1 2 ...
  • We now have a New and balanced dataset, with 83,874 observations and 17 variables, which in terms of size is not far from our original data.
  • We will now use this for our model building efforts

8 MODEL BUILDING- Approach

8.1.1 Set the Seed and Divide the Dataset into Test and Train

## 
##         0         1 
## 0.2860233 0.7139767
## 
##         0         1 
## 0.2860265 0.7139735

The train and test data have the same proportion of distribution The proportion of defaulting customers is 28.6% for both the Test and Train Data

8.1.2 Lets check the actual data table

## 
##     0     1 
## 16793 41919
## 
##     0     1 
##  7197 17965
  • 70% of the data are in the traindata with 58712 observations and 17 variable
  • 30% of the smoted data are in the testdata with 25162 observations and 17 variables

9. Logistic Regression Model

9.1.1 Build the Logistic Regression Model

## 
## Call:
## glm(formula = Default ~ ., family = binomial, data = traindata)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -2.6769  -0.3818   0.4117   0.6163   6.0552  
## 
## Coefficients:
##                    Estimate Std. Error z value Pr(>|z|)    
## (Intercept)      -1.640e+01  1.581e+00 -10.378  < 2e-16 ***
## Perc_Premiumcash -1.978e+00  3.511e-02 -56.351  < 2e-16 ***
## Income            2.614e-08  5.260e-08   0.497 0.619239    
## `Count3-6`       -5.974e-01  1.509e-02 -39.575  < 2e-16 ***
## Count6_12        -1.209e+00  3.006e-02 -40.215  < 2e-16 ***
## Count12andmore   -1.025e+00  3.477e-02 -29.488  < 2e-16 ***
## Marital_Status    2.376e-03  2.372e-02   0.100 0.920222    
## Veh_Owned         7.508e-04  1.450e-02   0.052 0.958697    
## Dependents       -8.566e-03  1.067e-02  -0.803 0.422141    
## Accomodation     -4.877e-02  2.372e-02  -2.056 0.039792 *  
## Risk_Score        1.849e-01  1.587e-02  11.651  < 2e-16 ***
## Premiums_Paid    -3.572e-02  2.521e-03 -14.166  < 2e-16 ***
## Sourcing_Channel -3.990e-02  1.123e-02  -3.553 0.000381 ***
## Residence         1.038e-02  2.419e-02   0.429 0.667910    
## Premium          -1.704e-06  1.703e-06  -1.000 0.317254    
## AgeinYears        1.792e-02  9.544e-04  18.780  < 2e-16 ***
## IncomeClass       1.272e-01  1.977e-02   6.434 1.24e-10 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 70284  on 58711  degrees of freedom
## Residual deviance: 49988  on 58695  degrees of freedom
## AIC: 50022
## 
## Number of Fisher Scoring iterations: 5
  • The output above shows the estimate of the regression beta coefficients and their significance levels
  • Based om their p-values (the lower the p-value the more significant the difference), 9 of the 17 variables are most significant variables in impacting on the odds of Default and they are Perc_Premiumcash, Count3-6, Count6-12, Count12andmore, Risk_Score, Premiums_Paid, Sourcing_Channel, AgeinYears and IncomeClass
  • The intercept = -1.658e+01 which is interpreted as the average log odds between all the variables and the variable of interest, which is Default
  • The Coefficient for Perc_Premiumcash is -2.007e+00, which means for every 1 unit increase in Perc_Premiumcash, the odds of Default will reduce by 2.007
  • Apart from Perc_Premiumcash with whose 1 unit increase will reduce the odds of Default, Count3-6, Count6-12, Count12andmore, Veh_Owned,Dependents, Accommodation, Premium Paid, Sourcing Channel, Residence and Premium all will reduce the odds of Default per unit increase.
  • Risk_Score followed by Income_Class have the highest positive impact on odds of Default
##            1            2            3            4            5 
## 0.8161592766 0.0000118201 0.7131933120 0.9417423230 0.8578121567
##         1         2         3         4         5 
## 0.8144683 0.6296101 0.7477110 0.8194214 0.4053168
  • The predictions on both the train and test data are different, which may mean that the model is not stable
  • We will now check the performance of the Regression Model

9.2 Regression Model Performance on Train and Test Data

9.2.1 Lets check the confusion Matrix on Train Data and Test Data

## [1] 0.8095619
##    
##     FALSE  TRUE
##   0  8299  8494
##   1  2687 39232
  • From the Confusion Matrix on the train data, the accuracy of the Logistic Regression is 81.43%
  • The Sensitivity is 50.8%
  • The Specificity is 93.69%
  • The Precision Rate is 73.34%
## [1] 0.8107464
##    
##     FALSE  TRUE
##   0  3598  3599
##   1  1163 16802
  • From the Confusion Matrix of the Test Data, the Accuracy of the Logistic Regression Model is 80.95%

  • The sensitivity is 49.6%

  • The Specificity is: 93.5%

  • The Precision is: 75.36%

  • From the Confusion Matrix we can clearly see that our Train Data is 81.43% accurate in predicting the Default on Payment of Premium by Customers

  • The Test Data confirmed the same by predicting at 80.94% accurate

  • The accuracy is almost the same, hence, we can confirm that our model is stable

9.2.2 ROC of the Regression Model

  • The ROC curve is the plot between sensitivity and True Positive Rate (1-specificity)
  • Validating the Regression Model using ROC on Train Data

## [1] 0.8627933
  • Validating the Regression Model using ROC on Test Data

## [1] 0.8644969
  • According to the ROC Output, the True Positive Rate using the Train Data is 86.78%
  • True Positive on the Test Data it is 86.51%
  • There is no major difference between the Test and Train Data
  • Hence our model is stable
  • From the ROC Curve, the True Positive Rate is 86.78% (1-Specificity)
  • Hence, the Sensitivity is 86.78%
  • The Specificity is 13.5%
  • Accuracy of the Regression Model is 80.95%

9.2.3 K-S Chart of the Regression Model

  • K-S will measure the degree of separation between Defaulters on Premium Payment and non Defaulters
  • K-S on Train Data
## [1] 0.5650974
  • K-S on Test Data
## [1] 0.5661406
  • The K-S Ouput on the Train Data is 57.29%, while that on the Train Data is 56.46%
  • From the K-S Output of the Logistic Regression, we see that our Train data can make distinction between Default and Non Default of Premium, though the accuracy is rather low *The K-S of both test and train are almost the same, this confirm the stability of our model

9.2.4 Gini Chart of the Logistic Regression Model

  • Gini of Train Data of the Logistics Regression
## [1] 0.191057
## [1] 0.1934536
  • The Gini Coeeficient measures the inequality of a distribution, 1 indicates perfects inequality, while 0 means both distribution are the same. The lower the Gini Coefficient the lower the inequality.
  • From the Gini Calculation of the Logistic Regression Model, we see that Train Data has an Accuracy of 19.43%, while the Test Data had an Accuracy of 19.24%
  • A Gini of 19.43% is significantly lower than average,hence there is some level of distiction between Default propensity and non-default
  • There is almost no variation between the Train and Test Data
  • We can therefore say that the Logistic Regression Model is Stable, but the accuracy is extremely low

10. Build a Random CART Model

10.1.1 Lets load required libraries while ensuring all packages are installed

## Loading required package: tibble
## Loading required package: bitops
## Rattle: A free graphical interface for data science with R.
## Version 5.4.0 Copyright (c) 2006-2020 Togaware Pty Ltd.
## Type 'rattle()' to shake, rattle, and roll your data.

10.1.2 Lets Build the CART Model on the Train Data

## n= 58712 
## 
## node), split, n, loss, yval, (yprob)
##       * denotes terminal node
## 
##   1) root 58712 16793 1 (0.28602330 0.71397670)  
##     2) Count6_12>=8.225953e-05 9147  1352 0 (0.85219198 0.14780802)  
##       4) Count6_12< 0.9998987 4181     0 0 (1.00000000 0.00000000) *
##       5) Count6_12>=0.9998987 4966  1352 0 (0.72774869 0.27225131)  
##        10) Count6_12>=1.000712 3128   335 0 (0.89290281 0.10709719) *
##        11) Count6_12< 1.000712 1838   821 1 (0.44668118 0.55331882)  
##          22) Count12andmore>=0.0008285095 592   199 0 (0.66385135 0.33614865) *
##          23) Count12andmore< 0.0008285095 1246   428 1 (0.34349920 0.65650080) *
##     3) Count6_12< 8.225953e-05 49565  8998 1 (0.18153939 0.81846061)  
##       6) Count3-6>=0.0003006763 10612  5273 1 (0.49689031 0.50310969)  
##        12) Count3-6< 0.9998762 2418     0 0 (1.00000000 0.00000000) *
##        13) Count3-6>=0.9998762 8194  2855 1 (0.34842568 0.65157432)  
##          26) Count3-6>=1.000119 3485  1380 0 (0.60401722 0.39598278)  
##            52) Count3-6< 1.999431 1039     0 0 (1.00000000 0.00000000) *
##            53) Count3-6>=1.999431 2446  1066 1 (0.43581357 0.56418643)  
##             106) Count3-6>=2.000011 1227   437 0 (0.64384678 0.35615322) *
##             107) Count3-6< 2.000011 1219   276 1 (0.22641509 0.77358491) *
##          27) Count3-6< 1.000119 4709   750 1 (0.15926948 0.84073052) *
##       7) Count3-6< 0.0003006763 38953  3725 1 (0.09562806 0.90437194)  
##        14) Count12andmore>=0.0004795556 1289   616 0 (0.52211016 0.47788984)  
##          28) Marital_Status< 1.999752 788   297 0 (0.62309645 0.37690355) *
##          29) Marital_Status>=1.999752 501   182 1 (0.36327345 0.63672655) *
##        15) Count12andmore< 0.0004795556 37664  3052 1 (0.08103229 0.91896771)  
##          30) Perc_Premiumcash>=0.3341062 12239  2126 1 (0.17370700 0.82629300)  
##            60) Marital_Status< 1.999618 6549  1454 1 (0.22201863 0.77798137)  
##             120) Marital_Status>=1.000623 694     0 0 (1.00000000 0.00000000) *
##             121) Marital_Status< 1.000623 5855   760 1 (0.12980359 0.87019641) *
##            61) Marital_Status>=1.999618 5690   672 1 (0.11810193 0.88189807) *
##          31) Perc_Premiumcash< 0.3341062 25425   926 1 (0.03642085 0.96357915) *
  • We Clearly need to prune this tree

10.1.3 Lets Tune the CART Model

  • THe cost complexity table can be obtained using the printcp or plotcp funcitons
## 
## Classification tree:
## rpart(formula = Default ~ ., data = traindata, method = "class", 
##     control = r.ctrl)
## 
## Variables actually used in tree construction:
## [1] Count12andmore   Count3-6         Count6_12        Marital_Status  
## [5] Perc_Premiumcash
## 
## Root node error: 16793/58712 = 0.28602
## 
## n= 58712 
## 
##          CP nsplit rel error  xerror      xstd
## 1 0.3836718      0   1.00000 1.00000 0.0065205
## 2 0.0719943      1   0.61633 0.61633 0.0054983
## 3 0.0431728      3   0.47234 0.47234 0.0049323
## 4 0.0198595      4   0.42917 0.42923 0.0047352
## 5 0.0111803      6   0.38945 0.38963 0.0045405
## 6 0.0081582     10   0.34473 0.34633 0.0043105
## 7 0.0058358     11   0.33657 0.32496 0.0041895
## 8 0.0000000     14   0.31334 0.31620 0.0041384
  • Variables actually used to contruct the tree are 6 of them [[1] Count12andmore Count3-6
    [3] Count6_12 Perc_Premiumcash [5] Residence Sourcing_Channel

  • Many of them are part of the variables that were mentioned earlier as most significant in impacting on the odds of Default

10.1.4 Plot the CART Model

* 7% of the clients are classified Defaulters in the far left node, while 43% are non Defaulters on the far right node * The Variables of Importance that will significantly impact on the likelihood of Defaulting on payment of premium are: Accomodation, Count12andmore, Count3-6, Count6_12, Perc_Premiumcash Residence

10.1.5 Let’s Prune the Tree

  • We will use the CP value as the inflection point when we plotted CP.
  • THis value was 0.029
## 
## Classification tree:
## rpart(formula = Default ~ ., data = traindata, method = "class", 
##     control = r.ctrl)
## 
## Variables actually used in tree construction:
## [1] Count3-6  Count6_12
## 
## Root node error: 16793/58712 = 0.28602
## 
## n= 58712 
## 
##         CP nsplit rel error  xerror      xstd
## 1 0.383672      0   1.00000 1.00000 0.0065205
## 2 0.071994      1   0.61633 0.61633 0.0054983
## 3 0.043173      3   0.47234 0.47234 0.0049323
## 4 0.029000      4   0.42917 0.42923 0.0047352
  • The tree has been prunned from 7 branches to 4
  • The root node error 0.286 was maintained
  • Variables used to contruct the prunned tree are Count3-6 and Count6-12

10.1.6 Let’s Plot the Prunned Tree

* 16% of clients who pay their premiums after Count6-12 months will Default on their premiums * 66% of clients who are not among those who pay their premiums after the Count3-6 months, do not Default on their Premium payment * The response rate for most of the clients showed most of them pay their premium within and after the Count6-12 months period * of the 26% of the total clients that Default on the payment of Premium, most of them- 16% (62%) make their payment within the Count6-12 months period, while the remaining 10% (38%) make their payment after the Count3-6 months period * The company should therefore watch closely those clients that make their payment after the Count6-12 months period since they are the once most likely to Default on payment of Premium

10.2.1 Model Validation

  • Predicting on the train dataset
##    train_predict.class_CART
##         0     1
##   0 12799  3994
##   1  1268 40651
  • Accuracy on Train Data
## [1] 0.9103761
  • From the Confusion Matrix done on the Train Data, the CART Model Accuracy is 91.06%
  • Sensitivity of the CART Model is 76.20%
  • Specificity of the CART Model is 97.01%
  • Precision Rate of the CART Model is 91.08%

10.2.2 Model Evaluation

  • Predicting on the Test Data
##    test_predict.class_CART
##         0     1
##   0  5473  1724
##   1   596 17369
  • Accuracy on the Test Data
## [1] 0.9077975
  • From the Confusion Matrix done on the Test Data, the CART Model Accuracy is 91.06%
  • Sensitivity of the CART Model is 91.08%
  • Specificity of the CART Model is 76.63%
  • Precision Rate of the CART Model is 91.21%

10.2.3 K-S Statistics of the CART Model

  • Using the library ROCR functions prediction and performance
## Warning in max(attr(perf_CTmodel1, "y-values")[[1]] - attr(perf_CTmodel1, : no
## non-missing arguments to max; returning -Inf
## [1] -Inf

10.2.4 Lets Calculate the AUC

  • Using the library ROCR
## [1] 0.9223711
  • The AUC is 0.9231 (the benchmark is >0.80)

10.2.5 Calculate the Gini

  • Using the library ineq
## [1] 0.2440141
  • The Gini is 0.2431

11. Build the Random Forest Model

11.1.1 Check the Data Structure before building the Random Forest

  • Formula - response variable ~ predictor variables
  • To build a classification random forest the response variable should be converted to a factor if it isn’t already a factor
  • Data - dataset to train the model on .
  • Random Forest hyperparameters: . ntree - Total number of trees are to be constructed . mtry - number of variables tried at each split . importance - Set TRUE to assess variable importance
## # A tibble: 6 x 17
##   Perc_Premiumcash Income `Count3-6` Count6_12 Count12andmore Marital_Status
##              <dbl>  <dbl>      <dbl>     <dbl>          <dbl>          <dbl>
## 1            0.317  90050          0         0              0              1
## 2            0.994  84090          0         0              0              1
## 3            0.635 109080          0         0              0              2
## 4            0.443  99080          0         0              0              2
## 5            1     210060          0         0              1              1
## 6            0.991 161040          0         0              0              1
## # ... with 11 more variables: Veh_Owned <dbl>, Dependents <dbl>,
## #   Accomodation <dbl>, Risk_Score <dbl>, Premiums_Paid <dbl>,
## #   Sourcing_Channel <dbl>, Residence <dbl>, Premium <dbl>, Default <dbl>,
## #   AgeinYears <dbl>, IncomeClass <dbl>
## tibble [58,712 x 17] (S3: tbl_df/tbl/data.frame)
##  $ Perc_Premiumcash: num [1:58712] 0.317 0.994 0.635 0.443 1 0.991 0.057 0.523 0.225 0.298 ...
##  $ Income          : num [1:58712] 90050 84090 109080 99080 210060 ...
##  $ Count3-6        : num [1:58712] 0 0 0 0 0 0 0 0 0 0 ...
##  $ Count6_12       : num [1:58712] 0 0 0 0 0 0 0 0 0 0 ...
##  $ Count12andmore  : num [1:58712] 0 0 0 0 1 0 0 0 0 0 ...
##  $ Marital_Status  : num [1:58712] 1 1 2 2 1 1 2 2 2 2 ...
##  $ Veh_Owned       : num [1:58712] 3 3 3 2 3 2 2 3 2 3 ...
##  $ Dependents      : num [1:58712] 3 2 4 2 4 2 4 2 4 3 ...
##  $ Accomodation    : num [1:58712] 2 1 1 2 2 1 1 2 2 2 ...
##  $ Risk_Score      : num [1:58712] 98.8 99 98.3 98.6 99.7 ...
##  $ Premiums_Paid   : num [1:58712] 8 4 11 5 4 4 9 11 7 8 ...
##  $ Sourcing_Channel: num [1:58712] 1 1 2 1 3 2 1 1 2 1 ...
##  $ Residence       : num [1:58712] 1 2 2 2 2 2 2 1 1 2 ...
##  $ Premium         : num [1:58712] 5400 3300 5400 5400 11700 11700 13800 18000 7500 15900 ...
##  $ Default         : num [1:58712] 1 1 1 1 1 1 1 1 1 1 ...
##  $ AgeinYears      : num [1:58712] 31 39 55 42 40 ...
##  $ IncomeClass     : num [1:58712] 1 1 1 1 2 2 2 3 2 3 ...
  • the train data has 58,712 0observations and 17 variables.
  • all the variables are numerical variables
## tibble [25,162 x 17] (S3: tbl_df/tbl/data.frame)
##  $ Perc_Premiumcash: num [1:25162] 0.015 0.888 0.5 0.015 0.13 0 0.012 0.754 0.009 0.214 ...
##  $ Income          : num [1:25162] 145020 103050 198030 198090 145270 ...
##  $ Count3-6        : num [1:25162] 1 7 0 0 0 0 0 0 0 0 ...
##  $ Count6_12       : num [1:25162] 0 3 0 0 0 0 0 0 0 0 ...
##  $ Count12andmore  : num [1:25162] 0 4 0 0 0 0 0 0 0 0 ...
##  $ Marital_Status  : num [1:25162] 1 1 2 2 1 1 1 2 1 2 ...
##  $ Veh_Owned       : num [1:25162] 1 2 3 3 3 2 2 2 2 3 ...
##  $ Dependents      : num [1:25162] 1 1 1 1 3 3 4 4 4 4 ...
##  $ Accomodation    : num [1:25162] 2 1 2 1 1 2 2 1 1 1 ...
##  $ Risk_Score      : num [1:25162] 99.2 98.8 98.8 99.3 98.8 ...
##  $ Premiums_Paid   : num [1:25162] 14 15 16 6 17 15 16 8 9 10 ...
##  $ Sourcing_Channel: num [1:25162] 3 1 1 4 1 1 2 1 2 4 ...
##  $ Residence       : num [1:25162] 2 2 1 1 2 2 2 2 1 2 ...
##  $ Premium         : num [1:25162] 18000 7500 13800 13800 5700 32700 3300 7500 24300 18000 ...
##  $ Default         : num [1:25162] 1 0 1 1 1 1 1 1 1 1 ...
##  $ AgeinYears      : num [1:25162] 44 53 28 58 43 ...
##  $ IncomeClass     : num [1:25162] 1 1 2 2 1 3 3 1 3 3 ...
  • The test data has 25,162 observations and 17 variables
  • All the variables are numerical variables
## tibble [58,712 x 17] (S3: tbl_df/tbl/data.frame)
##  $ Perc_Premiumcash: num [1:58712] 0.317 0.994 0.635 0.443 1 0.991 0.057 0.523 0.225 0.298 ...
##  $ Income          : num [1:58712] 90050 84090 109080 99080 210060 ...
##  $ Count3-6        : num [1:58712] 0 0 0 0 0 0 0 0 0 0 ...
##  $ Count6_12       : num [1:58712] 0 0 0 0 0 0 0 0 0 0 ...
##  $ Count12andmore  : num [1:58712] 0 0 0 0 1 0 0 0 0 0 ...
##  $ Marital_Status  : num [1:58712] 1 1 2 2 1 1 2 2 2 2 ...
##  $ Veh_Owned       : num [1:58712] 3 3 3 2 3 2 2 3 2 3 ...
##  $ Dependents      : num [1:58712] 3 2 4 2 4 2 4 2 4 3 ...
##  $ Accomodation    : num [1:58712] 2 1 1 2 2 1 1 2 2 2 ...
##  $ Risk_Score      : num [1:58712] 98.8 99 98.3 98.6 99.7 ...
##  $ Premiums_Paid   : num [1:58712] 8 4 11 5 4 4 9 11 7 8 ...
##  $ Sourcing_Channel: num [1:58712] 1 1 2 1 3 2 1 1 2 1 ...
##  $ Residence       : num [1:58712] 1 2 2 2 2 2 2 1 1 2 ...
##  $ Premium         : num [1:58712] 5400 3300 5400 5400 11700 11700 13800 18000 7500 15900 ...
##  $ Default         : Factor w/ 2 levels "0","1": 2 2 2 2 2 2 2 2 2 2 ...
##  $ AgeinYears      : num [1:58712] 31 39 55 42 40 ...
##  $ IncomeClass     : num [1:58712] 1 1 1 1 2 2 2 3 2 3 ...
## tibble [25,162 x 17] (S3: tbl_df/tbl/data.frame)
##  $ Perc_Premiumcash: num [1:25162] 0.015 0.888 0.5 0.015 0.13 0 0.012 0.754 0.009 0.214 ...
##  $ Income          : num [1:25162] 145020 103050 198030 198090 145270 ...
##  $ Count3-6        : num [1:25162] 1 7 0 0 0 0 0 0 0 0 ...
##  $ Count6_12       : num [1:25162] 0 3 0 0 0 0 0 0 0 0 ...
##  $ Count12andmore  : num [1:25162] 0 4 0 0 0 0 0 0 0 0 ...
##  $ Marital_Status  : num [1:25162] 1 1 2 2 1 1 1 2 1 2 ...
##  $ Veh_Owned       : num [1:25162] 1 2 3 3 3 2 2 2 2 3 ...
##  $ Dependents      : num [1:25162] 1 1 1 1 3 3 4 4 4 4 ...
##  $ Accomodation    : num [1:25162] 2 1 2 1 1 2 2 1 1 1 ...
##  $ Risk_Score      : num [1:25162] 99.2 98.8 98.8 99.3 98.8 ...
##  $ Premiums_Paid   : num [1:25162] 14 15 16 6 17 15 16 8 9 10 ...
##  $ Sourcing_Channel: num [1:25162] 3 1 1 4 1 1 2 1 2 4 ...
##  $ Residence       : num [1:25162] 2 2 1 1 2 2 2 2 1 2 ...
##  $ Premium         : num [1:25162] 18000 7500 13800 13800 5700 32700 3300 7500 24300 18000 ...
##  $ Default         : Factor w/ 2 levels "0","1": 2 1 2 2 2 2 2 2 2 2 ...
##  $ AgeinYears      : num [1:25162] 44 53 28 58 43 ...
##  $ IncomeClass     : num [1:25162] 1 1 2 2 1 3 3 1 3 3 ...
  • The Default variable has been changed to Factor, with 2 levels for both the train and test data
## randomForest 4.6-14
## Type rfNews() to see new features/changes/bug fixes.
## 
## Attaching package: 'randomForest'
## The following object is masked from 'package:rattle':
## 
##     importance
## The following object is masked from 'package:dplyr':
## 
##     combine
## The following object is masked from 'package:gridExtra':
## 
##     combine
## The following object is masked from 'package:ggplot2':
## 
##     margin

11.1.2. Let’s set the seed for the Random Forest

## [1] 88068    17
## [1] 37744    17

11.1.3 Define the RF Control Parameters and Build the Random Forest

## Warning in randomForest.default(m, y, ...): The response has five or fewer
## unique values. Are you sure you want to do regression?
## 
## Call:
##  randomForest(formula = testRF$Default ~ ., data = testRF[, -3],      ntree = 501, mtry = 4, nodesize = 10) 
##                Type of random forest: regression
##                      Number of trees: 501
## No. of variables tried at each split: 4
## 
##           Mean of squared residuals: 0.03915134
##                     % Var explained: 80.83
  • The Mean of squared residuals is 0.0402089
  • The % Var explained: 80.31

11.1.4 Plot the Random Forest

* From around 50 trees, the OOB error is no longer reducing, so lets stick to 51 trees

11.2.1 Let’s tune the Random Forest Model by trying different m values

  • Tune the RF Model to find out the best mtry.
  • We will take ntree=51 (odd numbers of trees are preferred). This will help us determine the best corresponding mtry
## Warning in randomForest.default(m, y, ...): The response has five or fewer
## unique values. Are you sure you want to do regression?
## 
## Call:
##  randomForest(formula = testRF$Default ~ ., data = testRF[, -3],      ntree = 501, mtry = 6, nodesize = 10) 
##                Type of random forest: regression
##                      Number of trees: 501
## No. of variables tried at each split: 6
## 
##           Mean of squared residuals: 0.03906612
##                     % Var explained: 80.87
  • With changing the mtry from 4 to 6, we have the slight changes in the outcome:
  • The Mean of squared residuals is 0.03988256
  • The % Var explained: 80.47

11.2.2 Let’s Plot and check the Variable Importance

##                  IncNodePurity
## Perc_Premiumcash     763.01624
## Income               234.79646
## Count6_12           1830.71201
## Count12andmore      1029.95886
## Marital_Status       647.32161
## Veh_Owned            300.66494
## Dependents           222.12967
## Accomodation         450.65601
## Risk_Score           235.04529
## Premiums_Paid        188.54532
## Sourcing_Channel     609.83377
## Residence            303.99956
## Premium              111.93613
## AgeinYears           255.13454
## IncomeClass           21.72029

* * The most significant variable according to the IncNodePurity and Importance plot is Count6-12, and closely followed by Count12andmore * Based on the Inc Node Purity mean decrease in Gini Impurity is found with Count 6-12, Count12andmore and Perc_Premiumcash: These are the variables that significantly impact on the tendency to Default on payment of Premium * The variable with the highest impact on increasing the odds of Defaulting on Premium is Count6-12; hence, clients who pay their premiums at Count6-12 will significantly likely Default in ratio 1.5 to 1 compared to the next closest (Count12andmore)

## [1] 0.9529227
  • From the Confusion Matrix the accuracy of the second Random Forest Model is 95.28%
##    
##     FALSE  TRUE
##   0 21596  3594
##   1   552 62326
  • The Accuracy of the second RF Model is 95.28
  • The Sensitivity is 85.85%
  • The Specificity is 99.07%
  • The Precision Rate is: 97.35%
  • Since we are more interested in Sensitivity, the first RF Model has a slightly higher Sensitivity than the second one (85.9% vs. 85.85%), hence we will prioritize the first RF Model
## Warning in randomForest.default(m, y, ...): The response has five or fewer
## unique values. Are you sure you want to do regression?
## 
## Call:
##  randomForest(formula = testRF$Default ~ ., data = testRF[, -3],      ntree = 501, mtry = 8, nodesize = 10) 
##                Type of random forest: regression
##                      Number of trees: 501
## No. of variables tried at each split: 8
## 
##           Mean of squared residuals: 0.03920685
##                     % Var explained: 80.8
  • With changing the mtry from 6 to 8, we have the slight changes in the outcome:
  • The Mean of squared residuals is 0.03991297
  • The % Var explained: 80.46

10. Building a Naive Bayes Model

10.1 Ensure packages are installed and available

10.2 Build the Naive Bayes Model

## 
## Naive Bayes Classifier for Discrete Predictors
## 
## Call:
## naiveBayes.default(x = X, y = Y, laplace = laplace)
## 
## A-priori probabilities:
## Y
##         0         1 
## 0.2860233 0.7139767 
## 
## Conditional probabilities:
##    Perc_Premiumcash
## Y        [,1]      [,2]
##   0 0.6251377 0.3010737
##   1 0.2935450 0.3231633
## 
##    Income
## Y       [,1]     [,2]
##   0 177081.5 196561.2
##   1 211118.1 530244.9
## 
##    Count3-6
## Y        [,1]      [,2]
##   0 0.8919484 1.1100518
##   1 0.2024380 0.5902113
## 
##    Count6_12
## Y         [,1]      [,2]
##   0 0.55056212 0.9868819
##   1 0.04608889 0.3161959
## 
##    Count12andmore
## Y         [,1]      [,2]
##   0 0.34510263 0.6358870
##   1 0.04220043 0.2471435
## 
##    Marital_Status
## Y       [,1]      [,2]
##   0 1.490878 0.4249789
##   1 1.496601 0.4999944
## 
##    Veh_Owned
## Y       [,1]      [,2]
##   0 1.996051 0.6930829
##   1 1.991555 0.8173971
## 
##    Dependents
## Y       [,1]      [,2]
##   0 2.526841 0.9447477
##   1 2.507598 1.1129422
## 
##    Accomodation
## Y       [,1]      [,2]
##   0 1.509999 0.4249616
##   1 1.501753 0.5000029
## 
##    Risk_Score
## Y       [,1]      [,2]
##   0 98.88017 0.7334812
##   1 99.07814 0.7139834
## 
##    Premiums_Paid
## Y       [,1]     [,2]
##   0 10.39942 5.138887
##   1 10.89451 5.115339
## 
##    Sourcing_Channel
## Y       [,1]      [,2]
##   0 1.982715 0.9558652
##   1 1.814810 1.0469143
## 
##    Residence
## Y       [,1]      [,2]
##   0 1.598907 0.4188814
##   1 1.601970 0.4894974
## 
##    Premium
## Y        [,1]     [,2]
##   0  9647.072 8473.449
##   1 11088.292 9508.307
## 
##    AgeinYears
## Y       [,1]     [,2]
##   0 46.31233 11.09544
##   1 51.97731 14.30005
## 
##    IncomeClass
## Y       [,1]      [,2]
##   0 1.645859 0.7658256
##   1 1.851404 0.8084522

10.3 Naive Bayes Model Performance Metrics

10.3.1 Making Predictions on test data

  • We can see a clear difference between the predictions Default and Non Default on payment of Premium

10.3.2 Checking the Confusion Matrix of the Naive Bayes Model

  • Performing Model Performance for Naive Bayes
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction     0     1
##          0  4038  1539
##          1  3159 16426
##                                           
##                Accuracy : 0.8133          
##                  95% CI : (0.8084, 0.8181)
##     No Information Rate : 0.714           
##     P-Value [Acc > NIR] : < 2.2e-16       
##                                           
##                   Kappa : 0.5098          
##                                           
##  Mcnemar's Test P-Value : < 2.2e-16       
##                                           
##             Sensitivity : 0.5611          
##             Specificity : 0.9143          
##          Pos Pred Value : 0.7240          
##          Neg Pred Value : 0.8387          
##              Prevalence : 0.2860          
##          Detection Rate : 0.1605          
##    Detection Prevalence : 0.2216          
##       Balanced Accuracy : 0.7377          
##                                           
##        'Positive' Class : 0               
## 
  • The Accuracy of the Naive Bayes Model is 81.13%

  • We were able to correctly predict 3815 out of 7197 “No” (Defaulters on Premium) (A probability of 53.01% which is our sensitivity)

  • We were able to correctly predict 16599 out of “17965” Non Defaulters correctly. This is a probability of 92.4%, which is our specificity

  • This means the ability of Naives Bayes algorithm to predict “Defaulters” is about 53.01%, and about 92.4% for “Non Defaulters”

  • The overall accuracy is 81.13%, that is the ability of the Naive Bayes model to make predictions on the Non Default is 81.13%

  • The model has a good accuracy and Specificity, but weak sensitivity

Accuracy : 81.13%

Sensitivity : 53.01%

Specificity : 92.4%

Precision: 73.63%. (The precision is also the Positive Predictive Value )

10.3.3 Calculating Confusion Matrix of the Naive Bayes Model on Train Data

## [1] 0.813275

10.3.4 Calculating Confusion Matrics of the Naive Bayes Model on Test Data

## [1] 0.8132899
  • From the Confusion Matrices above, we can clearly see that the Train Data is 81.46% accurate in predicting the Defaults on Premium Payment, while the Test Data is 81.13% accurate in predicting Defaults on Premium

10.3.5 ROC of the Naive Bayes Model

  • Lets check the ROC Curve, a plot between sensitivity (True Positive Rate) and false positive rate (1-specificity)

  • Calculating the ROC on the Train Data

  • ROC of the Naive Bayes Model using the Train Data

## [1] 0.60878
  • ROC of the Naive Bayes model using the Test Data

## [1] 0.6080501
  • From the ROC plot, it is more than half of the area under the curve and we can predict on the True Positive
  • In Train data, the True Positive Rate is 60.73 and in the test data, it is 60.85%
  • There is a close similarity between the Train and the Test Data
  • This proves that the Model is Stable, but accuracy level is low.
  • We will check with other models to compare the most accurate

10.3.6 Kolmogorov Smirnov (K-S) Chart of Naive Bayes Model

  • K-S will measure the degree of separation between car users and non car users
  • K-S on Train Data
## [1] 0.184992
  • K-S on Test Data
## [1] 0.1800174
  • From the K-S Analysis we see that the Train Data can distinguish between people likely to Default on their Premium 17.99% on the Train Data and 18.56% on the Test Accuracy
  • We see that the variation between the Train and Test Accuracy is minimal
  • Hence, we can say that our Model is Stable, but it has a very week accuracy

10.3.7 Gini Coefficient of the Naives Bayes Model

  • Gini Coefficent of the Naive Bayes on the Train Data
## [1] 0.2175601
  • Gini Coefficent of the Naive Bayes on the Test Data
## [1] 0.2161001
  • The Gin on the train data was 21.46% and that on the test data was 21.71%
  • The Model performance using the Gini Coefficient is similar to that gotten from the K-S Chart
  • Hence, the model is relatively stable
  • The accuracy is not that bad at 81.13%, and the Specificity is high at 92.4%, however the Sensitivity, ability to detect a Yes in this case a Default is quite low at 53.01%
  • Since we are more interested in a Model that can more accurately predict the odds of Default, we will be looking for a Model that has a rather high Sensitivity
  • We will check other models and make final decision on choice of model after comparing the performance of all the models

11 Building a KNN Model

11.1 Install libraries and load data

11.2 Build the KNN Model

## k-Nearest Neighbors 
## 
## 58712 samples
##    16 predictor
##     2 classes: '0', '1' 
## 
## Pre-processing: centered (16), scaled (16) 
## Resampling: Cross-Validated (10 fold) 
## Summary of sample sizes: 52840, 52841, 52842, 52841, 52841, 52841, ... 
## Resampling results across tuning parameters:
## 
##   k   Accuracy   Kappa    
##    2  0.8911468  0.7402729
##    3  0.8900568  0.7359039
##    4  0.8801609  0.7096007
##    5  0.8795479  0.7051843
##    6  0.8724285  0.6853605
##    7  0.8718833  0.6810111
##    8  0.8676933  0.6685909
##    9  0.8676764  0.6670504
##   10  0.8650193  0.6590305
##   11  0.8641335  0.6556118
##   12  0.8627370  0.6510580
##   13  0.8616639  0.6474661
##   14  0.8593305  0.6406968
##   15  0.8589217  0.6387629
##   16  0.8570822  0.6331010
##   17  0.8569459  0.6322045
##   18  0.8558387  0.6288448
##   19  0.8556344  0.6278163
##   20  0.8554130  0.6270709
## 
## Accuracy was used to select the optimal model using the largest value.
## The final value used for the model was k = 2.
  • Based on accuracy, the final value used for the model is k = 2, with accuracy of 89.61%

11.3 Lets Make Predictions and Check the Performance of the KNN Model

## knn_predictions1
##     0     1 
## 17590 41122
  • 30.03$% of the predictions will Default on Payment of Premium as seen using KNN on the Train Data
## knn_predictions
##     0     1 
##  7871 17291
  • 30.82% of the predictions will Default on Payment of Premium as seen using KNN on the Test Data
  • The values for both the Train and Test Data are similar, hence the Model is relatively stable
  • We got the best K value or the number of nearest neighbor value which should be used to get the maximum accuracy on the model.
  • Based on the k-value, the best accuracy on the model is 89.3%
  • Fitting KNN model with 20 nearest neighbors (The value of K can vary when we execute the code again hence we will set a seed value)

Checking the Confusion Matrix of the KNN Model

  • Confusion Matrix on the Train Data
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction     0     1
##          0 16054  1536
##          1   739 40383
##                                           
##                Accuracy : 0.9613          
##                  95% CI : (0.9597, 0.9628)
##     No Information Rate : 0.714           
##     P-Value [Acc > NIR] : < 2.2e-16       
##                                           
##                   Kappa : 0.9065          
##                                           
##  Mcnemar's Test P-Value : < 2.2e-16       
##                                           
##             Sensitivity : 0.9560          
##             Specificity : 0.9634          
##          Pos Pred Value : 0.9127          
##          Neg Pred Value : 0.9820          
##              Prevalence : 0.2860          
##          Detection Rate : 0.2734          
##    Detection Prevalence : 0.2996          
##       Balanced Accuracy : 0.9597          
##                                           
##        'Positive' Class : 0               
## 
  • The train data is 96.16% Accurate in predicting the Default on the Payment of Premium

  • The Sensitivity of the model on the Train Data is 95.72%

  • The Specificity of the model on the Train Data is 96.34%

  • Accuracy : 0.9616

  • Sensitivity : 0.9572

  • Specificity : 0.9634

  • Precision: 0.9129

## [1] 0.9610982
  • Confusion Matrix on Test Data
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction     0     1
##          0  6267  1604
##          1   930 16361
##                                          
##                Accuracy : 0.8993         
##                  95% CI : (0.8955, 0.903)
##     No Information Rate : 0.714          
##     P-Value [Acc > NIR] : < 2.2e-16      
##                                          
##                   Kappa : 0.7602         
##                                          
##  Mcnemar's Test P-Value : < 2.2e-16      
##                                          
##             Sensitivity : 0.8708         
##             Specificity : 0.9107         
##          Pos Pred Value : 0.7962         
##          Neg Pred Value : 0.9462         
##              Prevalence : 0.2860         
##          Detection Rate : 0.2491         
##    Detection Prevalence : 0.3128         
##       Balanced Accuracy : 0.8907         
##                                          
##        'Positive' Class : 0              
## 
  • The test data is 89.71% Accurate in predicting the Default on the Payment of Premium
  • The Sensitivity of the model on the Test Data is 86.19%
  • The Specificity of the model on the Test Data is 91.112%
  • The Accuracy, Sensitivity and Specificity of the Train and Train Data is very similar, hence we can say the model is Stable

11.3.2 ROC of the KNN Model

  • ROC of the Train Data

## [1] 0.2232991
  • ROC of the Test Data

## [1] 0.2209178
  • From the ROC Output, the True Positive Rate on the Train Data is 22.36%, while on the Test Data is 22.25%
  • The train and test data are not too different *The Model is therefore Stable

11.3.3 K-S Chart of the KNN Model

  • K-S Chart on the Train Data
## [1] 0
  • K-S Chart on the Test Data
## [1] 0
  • The K-S analysis showed Train Data and Test Data can both not predict the Default on Premium Payment by Customers
  • There is no variation between the train data and test data K-S
  • The model is stable but may not be useful in making the predictions

11.3.4 Gini Chart on the KNN Model

  • Gini Coefficient of the KNN Model using the Train Data
## [1] 0.1234056
  • Gini Coefficient of the KNN Model using the Test Data
## [1] 0.1274079
  • From the Gini Analysis is only covering very minimal area of Default, with extremely low accuracy
  • The Accuracy using the Train Data is 12.35%, and 12.66% using the Test Data
  • The variation between the train data and test data outcome is minimal The Model is therefore Stable

12. Applying Bagging and Boosting Tchnique

12.1 Bagging Model

  • Compares prediction with oberved values thereby estimating the errors
  • Lets Load Relevant Libraries
## 
## Attaching package: 'ipred'
## The following object is masked from 'package:raster':
## 
##     cv
## ------------------------------------------------------------------------------
## You have loaded plyr after dplyr - this is likely to cause problems.
## If you need functions from both plyr and dplyr, please load plyr first, then dplyr:
## library(plyr); library(dplyr)
## ------------------------------------------------------------------------------
## 
## Attaching package: 'plyr'
## The following objects are masked from 'package:dplyr':
## 
##     arrange, count, desc, failwith, id, mutate, rename, summarise,
##     summarize
## The following object is masked from 'package:DMwR':
## 
##     join
## The following objects are masked from 'package:Hmisc':
## 
##     is.discrete, summarize
## 
## Attaching package: 'TH.data'
## The following object is masked from 'package:MASS':
## 
##     geyser
## Loaded gbm 2.1.8

12.2 Build the Bagging Model

##    
##      TRUE
##   0  7197
##   1 17965
  • Here with bagging, we call Customers that Defaulted on Premium 0 and those that didn’t 1

  • With bagging, we have the same proportion of Defaulters at 28.6%, similar to our original data

  • Lets now apply xGBoost the data

12.2.1 Lets build the XGBoost Model

## 
## Bagging classification trees with 25 bootstrap replications 
## 
## Call: bagging.data.frame(formula = Default ~ ., data = traindata, control = rpart.control(maxdepth = 5, 
##     minsplit = 4))
  • Maxdepth parameter prevents the tree from growing past a certain depth/height. The default is 5.
  • Minsplit parameter is the smallest number of observations in the parent node that could be split further. The default is 4.
  • If you have less than 20 records in a parent node, it is labeled as a terminal node.
##     [1] 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1
##    [37] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1
##    [73] 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1
##   [109] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##   [145] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##   [181] 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##   [217] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##   [253] 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
##   [289] 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1
##   [325] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1
##   [361] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##   [397] 0 1 1 0 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1
##   [433] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
##   [469] 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##   [505] 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##   [541] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1
##   [577] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##   [613] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1
##   [649] 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##   [685] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##   [721] 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
##   [757] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1
##   [793] 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##   [829] 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1
##   [865] 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##   [901] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##   [937] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1
##   [973] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1
##  [1009] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1
##  [1045] 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [1081] 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1
##  [1117] 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [1153] 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [1189] 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [1225] 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [1261] 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 1
##  [1297] 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [1333] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [1369] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [1405] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1
##  [1441] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1
##  [1477] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 0 1 1 1 1
##  [1513] 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [1549] 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [1585] 1 0 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [1621] 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1
##  [1657] 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [1693] 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
##  [1729] 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
##  [1765] 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [1801] 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1
##  [1837] 1 1 1 1 1 0 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1
##  [1873] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1
##  [1909] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1
##  [1945] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1
##  [1981] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [2017] 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [2053] 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
##  [2089] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1
##  [2125] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1
##  [2161] 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 1 1 1 1
##  [2197] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [2233] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [2269] 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [2305] 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [2341] 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1
##  [2377] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [2413] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1
##  [2449] 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [2485] 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1
##  [2521] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1
##  [2557] 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1
##  [2593] 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [2629] 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [2665] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [2701] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [2737] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [2773] 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1
##  [2809] 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
##  [2845] 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [2881] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [2917] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1
##  [2953] 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1
##  [2989] 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
##  [3025] 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1
##  [3061] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1
##  [3097] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1
##  [3133] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1
##  [3169] 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
##  [3205] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1
##  [3241] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1
##  [3277] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [3313] 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
##  [3349] 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [3385] 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
##  [3421] 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1
##  [3457] 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 0 1
##  [3493] 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [3529] 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1
##  [3565] 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [3601] 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 0
##  [3637] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [3673] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [3709] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
##  [3745] 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1
##  [3781] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [3817] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1
##  [3853] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1
##  [3889] 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1
##  [3925] 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [3961] 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [3997] 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1
##  [4033] 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
##  [4069] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1
##  [4105] 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [4141] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1
##  [4177] 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [4213] 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [4249] 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1
##  [4285] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [4321] 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1
##  [4357] 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [4393] 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
##  [4429] 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [4465] 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1
##  [4501] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
##  [4537] 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 1 1 1 1
##  [4573] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1
##  [4609] 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1
##  [4645] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [4681] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1
##  [4717] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1
##  [4753] 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
##  [4789] 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1
##  [4825] 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1
##  [4861] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [4897] 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1
##  [4933] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
##  [4969] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [5005] 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [5041] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
##  [5077] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [5113] 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
##  [5149] 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1
##  [5185] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [5221] 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [5257] 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1
##  [5293] 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1
##  [5329] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [5365] 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1
##  [5401] 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [5437] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [5473] 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1
##  [5509] 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [5545] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [5581] 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1
##  [5617] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
##  [5653] 1 1 1 1 0 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1
##  [5689] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1
##  [5725] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1
##  [5761] 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
##  [5797] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1
##  [5833] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
##  [5869] 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 0 1
##  [5905] 1 1 1 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
##  [5941] 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [5977] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1
##  [6013] 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [6049] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [6085] 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0
##  [6121] 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [6157] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1
##  [6193] 1 1 0 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [6229] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [6265] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [6301] 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0
##  [6337] 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
##  [6373] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
##  [6409] 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [6445] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [6481] 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1
##  [6517] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
##  [6553] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [6589] 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1
##  [6625] 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 0 1 1
##  [6661] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1
##  [6697] 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1
##  [6733] 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [6769] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1
##  [6805] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [6841] 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1
##  [6877] 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
##  [6913] 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1
##  [6949] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [6985] 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [7021] 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [7057] 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1
##  [7093] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1
##  [7129] 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [7165] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [7201] 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [7237] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [7273] 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1
##  [7309] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
##  [7345] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [7381] 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [7417] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [7453] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1
##  [7489] 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [7525] 0 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
##  [7561] 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [7597] 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
##  [7633] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [7669] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [7705] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1
##  [7741] 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
##  [7777] 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1
##  [7813] 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
##  [7849] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1
##  [7885] 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1
##  [7921] 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [7957] 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [7993] 1 1 1 1 1 1 1 0 1 1 1 0 1 0 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [8029] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [8065] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1
##  [8101] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1
##  [8137] 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [8173] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [8209] 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [8245] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [8281] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [8317] 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [8353] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1
##  [8389] 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1
##  [8425] 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1
##  [8461] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [8497] 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
##  [8533] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1
##  [8569] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [8605] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1
##  [8641] 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
##  [8677] 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [8713] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1
##  [8749] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 0 1 1 1 1 1
##  [8785] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1
##  [8821] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1
##  [8857] 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1
##  [8893] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [8929] 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1
##  [8965] 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [9001] 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1
##  [9037] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [9073] 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1
##  [9109] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1
##  [9145] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [9181] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 1 1 1 1 1
##  [9217] 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1
##  [9253] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [9289] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1
##  [9325] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [9361] 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [9397] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1
##  [9433] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1
##  [9469] 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [9505] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [9541] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [9577] 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1
##  [9613] 0 1 1 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 0 1 0 0 1 1 1 0 1 1 0 1 0 0 1 1 0 1
##  [9649] 0 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1 1 1 1 1 0 1 1 0 1 1 1
##  [9685] 1 1 0 0 0 1 1 0 0 1 1 1 0 0 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 0 0 1 1 0 1
##  [9721] 1 0 1 1 1 0 1 1 0 1 0 1 1 1 1 0 0 1 1 0 0 1 0 1 1 1 1 1 1 1 1 0 0 1 0 0
##  [9757] 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 0
##  [9793] 0 1 1 0 1 0 0 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0
##  [9829] 1 1 1 0 1 0 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 0 1 1 1 1 1 1 0 0 0 1 0 0 1 1
##  [9865] 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [9901] 0 0 1 0 0 1 1 1 1 1 0 0 1 1 0 1 1 0 1 0 1 1 1 0 0 0 1 1 1 1 0 1 1 1 0 0
##  [9937] 1 1 0 1 1 1 1 1 0 0 0 1 1 1 0 1 1 1 1 1 0 0 1 1 1 1 1 1 0 1 0 1 1 1 1 1
##  [9973] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 0 1 1
## [10009] 1 1 0 0 1 0 1 1 0 1 1 0 0 1 0 1 1 1 0 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1
## [10045] 0 1 0 1 0 1 1 0 1 1 1 1 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 0 1 1 0 1 0 1 1 1
## [10081] 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 0 1 1 0 0 1 1 1 1 0 1 1 1 0 1 0 1 1
## [10117] 1 1 1 1 1 0 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 0 1 1 0 1 1 1
## [10153] 0 1 1 0 1 1 0 1 0 1 1 0 1 0 0 0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0
## [10189] 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
## [10225] 1 1 0 1 1 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 1 1
## [10261] 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0
## [10297] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 1 1 0 1 0 1 1 0 1 0 1 0 0
## [10333] 1 1 0 1 1 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1
## [10369] 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
## [10405] 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0
## [10441] 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 1
## [10477] 1 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [10513] 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 0 0 0 1 0 0 0
## [10549] 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1
## [10585] 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0
## [10621] 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
## [10657] 0 1 0 0 1 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
## [10693] 0 0 0 0 1 1 1 0 0 0 1 1 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0
## [10729] 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [10765] 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 0
## [10801] 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0
## [10837] 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 0 0 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 1 0
## [10873] 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0
## [10909] 0 1 0 0 0 0 0 1 0 0 0 0 1 1 1 0 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0
## [10945] 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 1 0 0 0 1 1 0 0 1 0 1 1 1 0 0 0 0 0 0 1 1
## [10981] 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0
## [11017] 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1
## [11053] 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [11089] 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0
## [11125] 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
## [11161] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1
## [11197] 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 1 1 1 0 0
## [11233] 0 0 0 0 0 1 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 1 1 1 1 0 0 0 0 1 0 0 1 0 0 0
## [11269] 0 0 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0
## [11305] 0 0 0 1 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 0 0 1 0 0
## [11341] 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [11377] 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0
## [11413] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 0 0 0 0 1 0 1 0 1 1 0 0 0
## [11449] 0 1 1 1 0 1 0 0 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0
## [11485] 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 0 0 0
## [11521] 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0
## [11557] 1 1 1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
## [11593] 1 0 0 1 0 0 1 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1
## [11629] 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0
## [11665] 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1
## [11701] 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 1
## [11737] 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 0 1 0 0 0 0 1
## [11773] 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 0 0 1 1 0 0 0 1 0 1 0 0
## [11809] 0 1 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1
## [11845] 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
## [11881] 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0
## [11917] 0 1 0 1 0 1 0 1 0 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [11953] 1 0 1 0 0 1 0 0 0 0 0 1 1 0 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
## [11989] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 1 0 1
## [12025] 0 0 0 0 1 1 0 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0
## [12061] 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 1 0 0
## [12097] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
## [12133] 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
## [12169] 0 1 1 1 0 0 0 0 0 1 0 1 1 0 0 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0
## [12205] 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 1 0 1 0 1 1 0 0 0 1 1
## [12241] 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 1 0 0 1 1
## [12277] 1 1 0 0 1 0 1 1 1 0 0 1 0 0 0 1 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0
## [12313] 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
## [12349] 0 0 0 1 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
## [12385] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1
## [12421] 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0
## [12457] 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 1 0 1 0 0 0 0 0 0 0
## [12493] 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0
## [12529] 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
## [12565] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 1 0 1 1 1 0
## [12601] 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 1 1 1 0 0 0 0 1
## [12637] 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
## [12673] 0 1 0 1 1 0 0 0 0 0 0 0 1 1 0 0 1 1 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0
## [12709] 0 1 0 0 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 1 0 1 0 0 1 1 1 0 0 0 1 0
## [12745] 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1
## [12781] 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0
## [12817] 0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0
## [12853] 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
## [12889] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0
## [12925] 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 1 0 0 0 1 0 0 1 1 0 0 0 0 0 0
## [12961] 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
## [12997] 0 0 0 0 0 1 1 1 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 1 1 1 0 0 0 1 0 1 1 0 0
## [13033] 0 1 1 0 0 1 0 0 1 0 1 1 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0
## [13069] 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
## [13105] 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0
## [13141] 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 1 1 0 0 0 0 0
## [13177] 0 0 0 1 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0
## [13213] 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1
## [13249] 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
## [13285] 1 0 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0
## [13321] 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 0 0 1 1 0 0 0 0 0 1 0 0 0 1 0
## [13357] 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 1 0 0 0
## [13393] 0 1 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0 0 1 0 1 1 0 0 0
## [13429] 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0
## [13465] 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
## [13501] 0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0
## [13537] 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
## [13573] 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
## [13609] 0 0 1 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 1 0 1
## [13645] 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 1 0 0
## [13681] 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1
## [13717] 0 0 0 1 0 0 1 1 1 0 0 0 0 0 1 0 1 1 0 0 0 0 1 1 1 1 1 0 1 0 0 0 0 0 0 0
## [13753] 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0
## [13789] 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0
## [13825] 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
## [13861] 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0
## [13897] 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 1 1 0 1
## [13933] 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 1 1 1 1 0 0 0 0 0 0 0 1 1 1
## [13969] 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 1 0 1 1 1 1 0 0 1 0 0 0 0 0 1 1 0 1 0 0
## [14005] 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 0 1 1 0 1 1 0 0 0 0 0 1 0 1 1 0 0 0 0
## [14041] 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 1 1 1
## [14077] 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
## [14113] 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1 1 1 0 0 1 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0 1
## [14149] 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0
## [14185] 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 1 0 0 0 0
## [14221] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0
## [14257] 1 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 1 0 0 0 0
## [14293] 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0
## [14329] 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0
## [14365] 1 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [14401] 0 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 1 0 0
## [14437] 0 0 0 0 0 1 1 1 1 1 0 1 0 1 0 0 1 1 0 1 0 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0
## [14473] 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0
## [14509] 0 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0
## [14545] 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 1 1 0
## [14581] 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
## [14617] 0 0 1 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
## [14653] 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
## [14689] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0
## [14725] 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1
## [14761] 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [14797] 1 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0
## [14833] 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [14869] 1 0 0 0 0 0 1 1 1 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0
## [14905] 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 1 1 1 0 0 1 0 1 1 0 0
## [14941] 1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0
## [14977] 0 0 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
## [15013] 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0
## [15049] 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
## [15085] 1 0 1 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0
## [15121] 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 1
## [15157] 1 1 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 0 0 1 1 0
## [15193] 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0
## [15229] 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1
## [15265] 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
## [15301] 1 1 0 0 0 0 1 0 1 1 0 0 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 1 1 1 1
## [15337] 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 1 1 1 0 0 0
## [15373] 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0
## [15409] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0
## [15445] 1 0 0 0 0 1 0 1 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 1 1 1 1
## [15481] 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [15517] 1 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
## [15553] 0 1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0
## [15589] 0 1 1 0 1 1 0 0 0 0 1 1 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [15625] 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0 0 1 0 0 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0
## [15661] 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
## [15697] 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
## [15733] 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1
## [15769] 1 0 0 0 0 0 1 0 1 0 0 0 1 1 0 0 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
## [15805] 0 1 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1
## [15841] 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 0 0 1 0 0 0 0 1 1 1
## [15877] 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0
## [15913] 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0
## [15949] 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0
## [15985] 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1
## [16021] 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
## [16057] 1 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 1 1 0 0 0
## [16093] 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0
## [16129] 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 0
## [16165] 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1
## [16201] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
## [16237] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [16273] 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [16309] 1 1 1 1 1 1 0 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [16345] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [16381] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [16417] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [16453] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [16489] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [16525] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1
## [16561] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1
## [16597] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [16633] 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1
## [16669] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [16705] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [16741] 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [16777] 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [16813] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [16849] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1
## [16885] 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1
## [16921] 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [16957] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [16993] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [17029] 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1
## [17065] 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
## [17101] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1
## [17137] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [17173] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1
## [17209] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1
## [17245] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [17281] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [17317] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1
## [17353] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [17389] 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [17425] 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
## [17461] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1
## [17497] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1
## [17533] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [17569] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1
## [17605] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1
## [17641] 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [17677] 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1
## [17713] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1
## [17749] 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
## [17785] 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [17821] 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1
## [17857] 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [17893] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [17929] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [17965] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [18001] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [18037] 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [18073] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [18109] 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [18145] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
## [18181] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1
## [18217] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1
## [18253] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [18289] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [18325] 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
## [18361] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [18397] 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [18433] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [18469] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
## [18505] 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
## [18541] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1
## [18577] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [18613] 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [18649] 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1
## [18685] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
## [18721] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1
## [18757] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1
## [18793] 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [18829] 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [18865] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [18901] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [18937] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [18973] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [19009] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [19045] 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
## [19081] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [19117] 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [19153] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1
## [19189] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [19225] 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1
## [19261] 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
## [19297] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [19333] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [19369] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [19405] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1
## [19441] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1
## [19477] 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [19513] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [19549] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [19585] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1
## [19621] 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1
## [19657] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [19693] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [19729] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [19765] 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [19801] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [19837] 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [19873] 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [19909] 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1
## [19945] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [19981] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [20017] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [20053] 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [20089] 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [20125] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1
## [20161] 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [20197] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [20233] 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1
## [20269] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [20305] 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1
## [20341] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [20377] 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [20413] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1
## [20449] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [20485] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [20521] 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1
## [20557] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
## [20593] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1
## [20629] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [20665] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1
## [20701] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [20737] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [20773] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [20809] 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [20845] 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [20881] 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [20917] 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [20953] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [20989] 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1
## [21025] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
## [21061] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1
## [21097] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [21133] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0
## [21169] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1
## [21205] 1 1 0 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1
## [21241] 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
## [21277] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
## [21313] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [21349] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1
## [21385] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 0 1 1 1 1 0 1
## [21421] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1
## [21457] 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1
## [21493] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [21529] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
## [21565] 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [21601] 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [21637] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [21673] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1
## [21709] 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
## [21745] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1
## [21781] 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1
## [21817] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [21853] 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [21889] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [21925] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1
## [21961] 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1
## [21997] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [22033] 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1
## [22069] 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1
## [22105] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [22141] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [22177] 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [22213] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1
## [22249] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [22285] 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [22321] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [22357] 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [22393] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1
## [22429] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [22465] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1
## [22501] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
## [22537] 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0
## [22573] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1
## [22609] 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [22645] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [22681] 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [22717] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [22753] 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1
## [22789] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
## [22825] 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [22861] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [22897] 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [22933] 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [22969] 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [23005] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [23041] 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [23077] 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1
## [23113] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1
## [23149] 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1
## [23185] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [23221] 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1
## [23257] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [23293] 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
## [23329] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [23365] 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [23401] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [23437] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
## [23473] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [23509] 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [23545] 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [23581] 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1
## [23617] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [23653] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [23689] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1
## [23725] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [23761] 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [23797] 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 0
## [23833] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1
## [23869] 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1
## [23905] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [23941] 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [23977] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [24013] 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [24049] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [24085] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1
## [24121] 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [24157] 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [24193] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
## [24229] 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [24265] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [24301] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1
## [24337] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1
## [24373] 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [24409] 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [24445] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [24481] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [24517] 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [24553] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [24589] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [24625] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [24661] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
## [24697] 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [24733] 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [24769] 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [24805] 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1
## [24841] 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [24877] 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1
## [24913] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [24949] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
## [24985] 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [25021] 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
## [25057] 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [25093] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1
## [25129] 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## Levels: 0 1

12.2.2 Lets check the Confusion Matrix for Bagging

## Confusion Matrix and Statistics
## 
##           Reference
## Prediction     0     1
##          0  5021   615
##          1  2176 17350
##                                           
##                Accuracy : 0.8891          
##                  95% CI : (0.8851, 0.8929)
##     No Information Rate : 0.714           
##     P-Value [Acc > NIR] : < 2.2e-16       
##                                           
##                   Kappa : 0.7095          
##                                           
##  Mcnemar's Test P-Value : < 2.2e-16       
##                                           
##             Sensitivity : 0.9658          
##             Specificity : 0.6977          
##          Pos Pred Value : 0.8886          
##          Neg Pred Value : 0.8909          
##              Prevalence : 0.7140          
##          Detection Rate : 0.6895          
##    Detection Prevalence : 0.7760          
##       Balanced Accuracy : 0.8317          
##                                           
##        'Positive' Class : 1               
## 
  • The Accuracy of the Bagging Model is 89.13%
  • The Sensitivity is 96.73%
  • The Specificity is 70.14%
  • The Precision: 88.99%
## [1] 0.8890788

12.3 Boosting

12.3.1 Create train and test data for boosting

12.3.2 Boosting Modelling

## gbm(formula = Default ~ ., distribution = "bernoulli", data = train_boost, 
##     n.trees = 5000, interaction.depth = 4, shrinkage = 0.01)
## A gradient boosted model with bernoulli loss function.
## 5000 iterations were performed.
## There were 16 predictors of which 0 had non-zero influence.
  • Of the 16 predictors all, had zero influence on the predictor variable

12.3.3 Making Predictions on the Model

##       
## y_pred 0 1
##      0 0 0
##      1 0 0

12.3.4 Confusion matrix for boosting

## Confusion Matrix and Statistics
## 
##           Reference
## Prediction 0 1
##          0 0 0
##          1 0 0
##                                   
##                Accuracy : NaN     
##                  95% CI : (NA, NA)
##     No Information Rate : NA      
##     P-Value [Acc > NIR] : NA      
##                                   
##                   Kappa : NaN     
##                                   
##  Mcnemar's Test P-Value : NA      
##                                   
##             Sensitivity :  NA     
##             Specificity :  NA     
##          Pos Pred Value :  NA     
##          Neg Pred Value :  NA     
##              Prevalence : NaN     
##          Detection Rate : NaN     
##    Detection Prevalence : NaN     
##       Balanced Accuracy :  NA     
##                                   
##        'Positive' Class : 1       
## 
  • Based on the Confusion Matrix, the Boosting Model has an Accuracy of 1 It has a Sensitivity of 1 It also has a Specificity of 1 Ths showed that the Boosting Model has an Accuracy of 100% It can predict with 100% accuracy that customers are using car

13. Comparing the Different Models

13.1 Lets Compare the Accuracy

  • Logistic Regression: 81.43%
  • CART Model: 91.06%
  • Random Forest: 95.27%
  • Naive Bayes: 81.13%
  • KNN Model: 96.16%
  • Bagging: 89.13%

13.2 Lets Compare the Sensitivity

  • Logistic Regression: 50.8%
  • CART Model: 76.2%
  • Random Forest: 85.9%
  • Naive Bayes: 53.01%
  • KNN Model: 95.72%
  • Bagging: 96.73%

13.3 Lets Compare the Specificity

  • Logistic Regression: 93.69%
  • CART Model: 97.01%
  • Random Forest: 99.03%
  • Naive Bayes: 92.4%
  • KNN Model: 96.34%
  • Bagging: 70.14%

13.4 Lets Compare the Preision

  • Logistic Regression: 73.34%
  • CART Model: 91.08%
  • Random Forest: 97.25%
  • Naive Bayes: 73.63%
  • KNN Model: 91.29%
  • Bagging: 88.99%

14.1 Interpretation and Conclusion on Model Building

  • In the case of Default in Premium Payment, which is our negative (0), while Non Default is Positive (1). The desired result is Non Default (1), but the essence of creating a Model is to accurately detect Defaults or negatives. Hence the Model that has the highest Specificity will be most desirable since it will be able more to correctly the Default in Payment of Premiums

  • The ability to detect the Default in Payment of Premium will help the Insurance Company look at the Profile of these likely class of customers and improve campaigns for them to prevent default or help them reduce the exposure to these clients.

  • The ability accurately predict Defaulting Customers will improve and sustain the income stream of the insurance company.

  • The Model with the best Specificity is Random Forest (99.03%) followed by CART Model (97.01%).

  • Accuracy talks about the rate of total number of correctly predicted cases, in both positive and negative classes versus overall predicted cases. Accuracy is also important because it helps us identify the Quality of the Model in Question

  • Sensitivity is the most important performance metric since we are looking for the best model that can predict odds of Default, based on our Models with the Best Sensitivity is Bagging, followed by KNN and then Random Forest.

  • The model with highest accuracy is KNN, followed Random Forest an d then CART

  • If a Model can have high accuracy and high Specificity it will be very good in this situation of predicting Defaulting Clients and Non Defaulting Clients, since the Insurance Company still need to have clients that will continue to make payments on their premiums while making efforts to reduce exposure to those Non Paying Clients.

  • The preferred Model we will be deploying is our KNN, it has the second highest Sensitivity and Specificity and the highest accuracy

    • The variable with the highest impact on increasing the odds of Defaulting on Premium is Count6-12; hence, clients who pay their premiums at Count6-12 will significantly likely Default in ratio 1.5 to 1 compared to the next closest (Count12andmore)
  • The company should therefore keenly look at the profile of the clients who fall in the group

  • We also look at the variables that significantly impct on Paying premiums in Period Count6-12

14.2 Conclusion on intial Data Analysis and Data Preparation and Modeling

  • The maximum correlation is 1.535e-01, which represent correlation between Income Class and Risk_Score. Hence customers with high income will have high risk (high credit), hence they are more desirable and won’t likely Default on their Premiums

  • The most correlated variable to to Income Class is Premiums_Paid followed by Perc_Premiumcash, the third most correlated is Premium. Hence, the more the Percentage of Premium paid in Cash, the more the Income Class, which ultimately reduce the propensity to Default on Premiums Payment

  • There is a positive correlation between Premium and Income, no of Premium Paid, Risk Score and Sourcing Channel

  • There is a negative correlation between Premium Paid via Cash Credit and Sourcing Channel, Accommodation, Risk Score

  • There is a positive correlation between Percentage of Premium by Cash Credit and Count 3-6 months, Count 6-12 months

  • As we can see only 6.2% of the Customers default on their premium payment

  • Although the data is not a balanced data, it is a very large dataset, hence even the 6.2% of Default is still a very high number in absolute value, hence we can still get to have accurate predictions in Model Building if we use the Database as it is

  • The ability to detect the Default in Payment of Premium will help the Insurance Company look at the Profile of these likely class of customers and improve campaigns for them to prevent default or help them reduce the exposure to these clients.

  • The ability accurately predict Defaulting Customers will improve and sustain the income stream of the insurance company.

#======================================================================= # # T H E - E N D # #=======================================================================

Generate the .R file from this .Rmd to hold the source code

purl(“Insurance Premium Default for Capstone Project.Rmd”, documentation = 1)