├── LICENSE ├── .Rbuildignore ├── inst ├── tinytest │ ├── test-length.R │ ├── standalone.bed │ ├── test-crochet.R │ ├── setup.R │ └── test-BEDMatrix.R ├── extdata │ ├── example.bed │ ├── example.fam │ ├── example.bim │ └── example.raw ├── THANKS ├── CITATION └── include │ └── BEDMatrix.h ├── tests └── tinytest.R ├── src ├── bed.h ├── BEDMatrix.h ├── mapping.h ├── init.c ├── bed.c ├── mapping.c └── BEDMatrix.c ├── NAMESPACE ├── DESCRIPTION ├── man ├── BEDMatrix-package.Rd ├── BEDMatrix.Rd └── BEDMatrix-class.Rd ├── README.md ├── NEWS.md └── R └── BEDMatrix.R /LICENSE: -------------------------------------------------------------------------------- 1 | YEAR: 2015 2 | COPYRIGHT HOLDER: Alexander Grueneberg 3 | -------------------------------------------------------------------------------- /.Rbuildignore: -------------------------------------------------------------------------------- 1 | ^\.appveyor\.yml$ 2 | ^\.codecov\.yml$ 3 | ^\.travis\.yml$ 4 | -------------------------------------------------------------------------------- /inst/tinytest/test-length.R: -------------------------------------------------------------------------------- 1 | source("setup.R") 2 | 3 | expect_equal(length(bed), length(raw)) 4 | -------------------------------------------------------------------------------- /inst/extdata/example.bed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantGen/BEDMatrix/HEAD/inst/extdata/example.bed -------------------------------------------------------------------------------- /inst/tinytest/standalone.bed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantGen/BEDMatrix/HEAD/inst/tinytest/standalone.bed -------------------------------------------------------------------------------- /tests/tinytest.R: -------------------------------------------------------------------------------- 1 | if (requireNamespace("tinytest", quietly = TRUE)) { 2 | tinytest::test_package("BEDMatrix") 3 | } 4 | -------------------------------------------------------------------------------- /src/bed.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | int is_bed_file( 5 | uint8_t *bed 6 | ); 7 | 8 | int has_valid_dimensions( 9 | size_t length, 10 | int num_samples, 11 | int num_variants 12 | ); 13 | -------------------------------------------------------------------------------- /inst/THANKS: -------------------------------------------------------------------------------- 1 | Lian Lian for initial testing and feedback 2 | Alex Ochoa for adding "simple_names" parameter to BEDMatrix() 3 | Jürgen Degenfellner for discovering that BED files larger than 2GB cannot be 4 | loaded in Windows 5 | -------------------------------------------------------------------------------- /src/BEDMatrix.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | SEXP BEDMatrix_initialize( 4 | SEXP path, 5 | SEXP n, 6 | SEXP p 7 | ); 8 | 9 | SEXP BEDMatrix_extract_vector( 10 | SEXP xptr, 11 | SEXP k 12 | ); 13 | 14 | SEXP BEDMatrix_extract_matrix( 15 | SEXP xptr, 16 | SEXP i, 17 | SEXP j 18 | ); 19 | -------------------------------------------------------------------------------- /src/mapping.h: -------------------------------------------------------------------------------- 1 | #ifndef MAPPING_H 2 | #define MAPPING_H 3 | 4 | #include 5 | 6 | struct mapped_region { 7 | void *addr; 8 | size_t length; 9 | }; 10 | 11 | int map_file(const char *pathname, struct mapped_region *mapped_region); 12 | 13 | int unmap_file(struct mapped_region *mapped_region); 14 | 15 | #endif 16 | -------------------------------------------------------------------------------- /NAMESPACE: -------------------------------------------------------------------------------- 1 | S3method("[",BEDMatrix) 2 | S3method("dimnames<-",BEDMatrix) 3 | S3method(as.matrix,BEDMatrix) 4 | S3method(dim,BEDMatrix) 5 | S3method(dimnames,BEDMatrix) 6 | S3method(is.matrix,BEDMatrix) 7 | S3method(length,BEDMatrix) 8 | S3method(str,BEDMatrix) 9 | export(BEDMatrix) 10 | exportClasses(BEDMatrix) 11 | exportMethods(show) 12 | import(methods) 13 | import(crochet) 14 | useDynLib(BEDMatrix, .registration = TRUE, .fixes = "C_") 15 | -------------------------------------------------------------------------------- /inst/tinytest/test-crochet.R: -------------------------------------------------------------------------------- 1 | source("setup.R") 2 | 3 | # Source extraction tests 4 | extractionTests <- new.env() 5 | extractionTests$COMPARE_OBJECT <- raw 6 | extractionTests$CUSTOM_OBJECT <- bed 7 | extractionTests$OUT_OF_BOUNDS_INT <- length(extractionTests$CUSTOM_OBJECT) + 1 8 | extractionTests$OUT_OF_BOUNDS_CHAR <- "snp1000_U" 9 | source( 10 | file = system.file("test-suite", "crochet-extract.R", package = "crochet"), 11 | local = extractionTests 12 | ) 13 | -------------------------------------------------------------------------------- /src/init.c: -------------------------------------------------------------------------------- 1 | #include "BEDMatrix.h" 2 | 3 | #include 4 | 5 | static const R_CallMethodDef callEntries[] = { 6 | {"BEDMatrix_initialize", (DL_FUNC) &BEDMatrix_initialize, 3}, 7 | {"BEDMatrix_extract_vector", (DL_FUNC) &BEDMatrix_extract_vector, 2}, 8 | {"BEDMatrix_extract_matrix", (DL_FUNC) &BEDMatrix_extract_matrix, 3}, 9 | {NULL, NULL, 0} 10 | }; 11 | 12 | void R_init_BEDMatrix(DllInfo *dll) { 13 | R_registerRoutines(dll, NULL, callEntries, NULL, NULL); 14 | R_useDynamicSymbols(dll, FALSE); 15 | R_forceSymbols(dll, TRUE); 16 | } 17 | -------------------------------------------------------------------------------- /inst/CITATION: -------------------------------------------------------------------------------- 1 | bibentry( 2 | bibtype = "Article", 3 | textVersion = "Grueneberg, A., and G. de los Campos, 2019 BGData - A Suite of R Packages for Genomic Analysis with Big Data. G3: Genes, Genomes, Genetics 9(5): 1377-1383.", 4 | title = "BGData - A Suite of R Packages for Genomic Analysis with Big Data", 5 | author = c( 6 | person("Alexander", "Grueneberg"), 7 | person("Gustavo", "de los Campos") 8 | ), 9 | journal = "G3: Genes, Genomes, Genetics", 10 | year = "2019", 11 | volume = "9", 12 | number = "5", 13 | pages = "1377--1383", 14 | doi = "10.1534/g3.119.400018", 15 | url = "https://doi.org/10.1534/g3.119.400018" 16 | ) 17 | -------------------------------------------------------------------------------- /inst/tinytest/setup.R: -------------------------------------------------------------------------------- 1 | extdataPath <- system.file("extdata", package = "BEDMatrix") 2 | standalonePath <- "standalone.bed" 3 | 4 | parseRaw <- function(path) { 5 | lines <- strsplit(readLines(path), " ") 6 | header <- lines[[1]] 7 | data <- matrix(data = unlist(lines[2:length(lines)]), nrow = 50, ncol = 1006, byrow = TRUE) 8 | pheno <- data[, 1:6] 9 | geno <- data[, 7:ncol(data)] 10 | suppressWarnings(mode(geno) <- "integer") 11 | rownames(geno) <- paste0(pheno[, 1], "_", pheno[, 2]) 12 | colnames(geno) <- header[7:length(header)] 13 | return(geno) 14 | } 15 | 16 | raw <- parseRaw(paste0(extdataPath, "/example.raw")) 17 | bed <- suppressMessages(BEDMatrix(path = paste0(extdataPath, "/example.bed"))) 18 | -------------------------------------------------------------------------------- /DESCRIPTION: -------------------------------------------------------------------------------- 1 | Package: BEDMatrix 2 | Version: 2.0.4 3 | License: MIT + file LICENSE 4 | Title: Extract Genotypes from a PLINK .bed File 5 | Description: A matrix-like data structure that allows for efficient, 6 | convenient, and scalable subsetting of binary genotype/phenotype files 7 | generated by PLINK (), the whole 8 | genome association analysis toolset, without loading the entire file into 9 | memory. 10 | Authors@R: c( 11 | person("Alexander", "Grueneberg", email = "cran@agrueneberg.info", role = c("aut", "cre")), 12 | person("Gustavo", "de los Campos", email = "gustavoc@msu.edu", role = c("ctb"))) 13 | URL: https://github.com/QuantGen/BEDMatrix 14 | BugReports: https://github.com/QuantGen/BEDMatrix/issues 15 | Depends: 16 | R (>= 3.4.0) 17 | Imports: 18 | methods, 19 | crochet (>= 2.3.0) 20 | Suggests: 21 | data.table, 22 | LinkedMatrix, 23 | tinytest 24 | -------------------------------------------------------------------------------- /src/bed.c: -------------------------------------------------------------------------------- 1 | #include "bed.h" 2 | 3 | #include "../inst/include/BEDMatrix.h" 4 | 5 | int is_bed_file(uint8_t *bed) { 6 | // Check magic number 7 | if (!(bed[0] == 0x6c && bed[1] == 0x1b)) { 8 | return -1; 9 | } 10 | // Check mode: 00000001 indicates the default variant-major mode (i.e. 11 | // list all samples for first variant, all samples for second variant, 12 | // etc), 00000000 indicates the unsupported sample-major mode (i.e. list 13 | // all variants for the first sample, list all variants for the second 14 | // sample, etc) 15 | if (bed[2] != 0x01) { 16 | return -1; 17 | } 18 | return 0; 19 | } 20 | 21 | int has_valid_dimensions(size_t length, int num_samples, int num_variants) { 22 | int retval = 0; 23 | // File is a sequence of V blocks of N/4 (rounded up) bytes each, where V 24 | // is the number of variants and N is the number of samples. 25 | int num_bytes_per_variant = compute_num_bytes_per_variant(num_samples); 26 | // Check if given dimensions match the file 27 | if (((size_t) num_variants * num_bytes_per_variant) != (length - PLINK_BED_HEADER_LENGTH)) { 28 | retval = -1; 29 | } 30 | return retval; 31 | } 32 | -------------------------------------------------------------------------------- /inst/extdata/example.fam: -------------------------------------------------------------------------------- 1 | per0 per0 0 0 2 1 2 | per1 per1 0 0 2 2 3 | per2 per2 0 0 2 1 4 | per3 per3 0 0 2 1 5 | per4 per4 0 0 2 2 6 | per5 per5 0 0 2 1 7 | per6 per6 0 0 2 1 8 | per7 per7 0 0 2 2 9 | per8 per8 0 0 2 2 10 | per9 per9 0 0 2 1 11 | per10 per10 0 0 2 1 12 | per11 per11 0 0 2 2 13 | per12 per12 0 0 2 1 14 | per13 per13 0 0 2 2 15 | per14 per14 0 0 2 2 16 | per15 per15 0 0 2 1 17 | per16 per16 0 0 2 1 18 | per17 per17 0 0 2 2 19 | per18 per18 0 0 2 1 20 | per19 per19 0 0 2 2 21 | per20 per20 0 0 2 2 22 | per21 per21 0 0 2 2 23 | per22 per22 0 0 2 2 24 | per23 per23 0 0 2 2 25 | per24 per24 0 0 2 2 26 | per25 per25 0 0 2 1 27 | per26 per26 0 0 2 2 28 | per27 per27 0 0 2 1 29 | per28 per28 0 0 2 2 30 | per29 per29 0 0 2 1 31 | per30 per30 0 0 2 2 32 | per31 per31 0 0 2 2 33 | per32 per32 0 0 2 1 34 | per33 per33 0 0 2 1 35 | per34 per34 0 0 2 2 36 | per35 per35 0 0 2 1 37 | per36 per36 0 0 2 1 38 | per37 per37 0 0 2 2 39 | per38 per38 0 0 2 2 40 | per39 per39 0 0 2 1 41 | per40 per40 0 0 2 1 42 | per41 per41 0 0 2 2 43 | per42 per42 0 0 2 2 44 | per43 per43 0 0 2 1 45 | per44 per44 0 0 2 1 46 | per45 per45 0 0 2 1 47 | per46 per46 0 0 2 1 48 | per47 per47 0 0 2 1 49 | per48 per48 0 0 2 2 50 | per49 per49 0 0 2 1 51 | -------------------------------------------------------------------------------- /man/BEDMatrix-package.Rd: -------------------------------------------------------------------------------- 1 | \docType{package} 2 | \name{BEDMatrix-package} 3 | \alias{BEDMatrix-package} 4 | \title{A Package to Extract Genotypes from a PLINK .bed File} 5 | \description{ 6 | The \code{BEDMatrix} package provides a matrix-like wrapper around 7 | \href{https://www.cog-genomics.org/plink2/formats#bed}{.bed} files, one of 8 | the genotype/phenotype file formats of 9 | \href{https://www.cog-genomics.org/plink2}{PLINK}, the whole genome 10 | association analysis toolset. \code{BEDMatrix} objects are created by 11 | simply providing the path to a .bed file and once created, they behave 12 | similarly to regular matrices with the advantage that genotypes are 13 | retrieved on demand without loading the entire file into memory. This 14 | allows handling of very large files with limited use of memory. 15 | } 16 | \section{.bed Files}{ 17 | \href{https://www.cog-genomics.org/plink2/formats#bed}{.bed} files 18 | (sometimes referred to as binary .ped files) are binary representations of 19 | genotype calls at biallelic variants. This very compact file format (2 bits 20 | per genotype call) is used and generated by 21 | \href{https://www.cog-genomics.org/plink2/}{PLINK}. .bed files should not 22 | be confused with the 23 | \href{https://genome.ucsc.edu/FAQ/FAQformat.html#format1}{UCSC Genome 24 | Browser's BED format}, which is totally different. 25 | 26 | A .bed file can be created from a 27 | \href{https://www.cog-genomics.org/plink2/formats#ped}{.ped} file with 28 | \href{https://www.cog-genomics.org/plink2}{PLINK} using \code{plink --file 29 | myfile --make-bed}. 30 | } 31 | \seealso{ 32 | \code{\link{BEDMatrix-class}} to learn more about the \code{BEDMatrix} 33 | class. 34 | } 35 | \keyword{package} 36 | -------------------------------------------------------------------------------- /inst/tinytest/test-BEDMatrix.R: -------------------------------------------------------------------------------- 1 | source("setup.R") 2 | 3 | # it throws an error if file does not exist 4 | expect_error(BEDMatrix("NOT_FOUND"), "File not found\\.") 5 | 6 | # it throws an error if file is not a BED file 7 | expect_error(BEDMatrix("test-BEDMatrix.R")) 8 | 9 | # test both prefix and .bed paths 10 | for (path in c(paste0(extdataPath, "/example"), paste0(extdataPath, "/example.bed"))) { 11 | 12 | # it determines n from FAM file 13 | bed <- suppressMessages(BEDMatrix(path = path)) 14 | expect_equal(nrow(bed), nrow(raw)) 15 | expect_message(BEDMatrix(path = path), "Extracting number of samples and rownames from example\\.fam\\.\\.\\.") 16 | 17 | # it throws an error if FAM file is not found and n is not given 18 | expect_error(BEDMatrix(path = standalonePath), "standalone.fam not found\\. Provide number of samples \\(n\\)\\.") 19 | 20 | # it determines rownames from FAM file 21 | bed <- suppressMessages(BEDMatrix(path = path)) 22 | expect_equal(rownames(bed), rownames(raw)) 23 | expect_message(BEDMatrix(path = path), "Extracting number of samples and rownames from example\\.fam\\.\\.\\.") 24 | 25 | # it determines p from BIM file 26 | bed <- suppressMessages(BEDMatrix(path = path)) 27 | expect_equal(ncol(bed), ncol(raw)) 28 | expect_message(BEDMatrix(path = path), "Extracting number of variants and colnames from example\\.bim\\.\\.\\.") 29 | 30 | # it throws an error if BIM file is not found and p is not given 31 | expect_error(BEDMatrix(path = standalonePath), "standalone.fam not found\\. Provide number of samples \\(n\\)\\.") 32 | 33 | # it determines colnames from BIM file 34 | bed <- suppressMessages(BEDMatrix(path = path)) 35 | expect_equal(colnames(bed), colnames(raw)) 36 | expect_message(BEDMatrix(path = path), "Extracting number of variants and colnames from example\\.bim\\.\\.\\.") 37 | 38 | # it accepts n and p if FAM or BIM file are present 39 | bed <- BEDMatrix(path = path, n = nrow(raw), p = ncol(raw)) 40 | expect_equal(dimnames(bed), list(NULL, NULL)) 41 | 42 | # it accepts n and p if FAM or BIM file is not found 43 | bed <- BEDMatrix(path = standalonePath, n = 3, p = 6) 44 | expect_equal(dimnames(bed), list(NULL, NULL)) 45 | 46 | # it throws an error if dimensions are wrong 47 | expect_error(BEDMatrix(path = path, n = 10, p = 5), "n or p does not match the dimensions of the file\\.") 48 | 49 | } 50 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | BEDMatrix 2 | ========= 3 | 4 | 5 | [![CRAN status](https://www.r-pkg.org/badges/version/BEDMatrix)](https://CRAN.R-project.org/package=BEDMatrix) 6 | 7 | 8 | BEDMatrix is an R package that provides a matrix-like wrapper around [.bed](https://www.cog-genomics.org/plink2/formats#bed), one of the genotype/phenotype file formats of [PLINK](https://www.cog-genomics.org/plink2), the whole genome association analysis toolset. BEDMatrix objects are created in R by simply providing the path to a .bed file and once created, they behave similarly to regular matrices with the advantage that genotypes are retrieved on demand without loading the entire file into memory. This allows handling of very large files with limited use of memory. 9 | 10 | This package is deliberately kept simple. For computational methods that use BEDMatrix check out the [BGData package](https://CRAN.R-project.org/package=BGData). 11 | 12 | 13 | Example 14 | ------- 15 | 16 | This example uses a dummy .bed file that is bundled with this R package. It was generated using `plink --dummy 500 1000 0.02 acgt --seed 4711 --out example` with PLINK 1.90 beta 3.452. 17 | 18 | To get the path to the example .bed file (`system.file` finds the full file names of files in packages and is only used to find the example data): 19 | 20 | ```R 21 | path <- system.file("extdata", "example.bed", package = "BEDMatrix") 22 | ``` 23 | 24 | To wrap the example .bed file in a BEDMatrix object: 25 | 26 | ```R 27 | m <- BEDMatrix(path) 28 | #> Extracting number of samples and rownames from example.fam... 29 | #> Extracting number of variants and colnames from example.bim... 30 | ``` 31 | 32 | To get the dimensions of the BEDMatrix object: 33 | 34 | ```R 35 | dim(m) 36 | #> [1] 50 1000 37 | ``` 38 | 39 | To extract a subset of the BEDMatrix object: 40 | 41 | ```R 42 | m[1:3, 1:5] 43 | #> snp0_A snp1_C snp2_G snp3_G snp4_G 44 | #> per0_per0 0 1 1 1 0 45 | #> per1_per1 1 1 1 1 NA 46 | #> per2_per2 1 0 0 2 0 47 | ``` 48 | 49 | 50 | Installation 51 | ------------ 52 | 53 | Install the stable version from CRAN: 54 | 55 | ```R 56 | install.packages("BEDMatrix") 57 | ``` 58 | 59 | Alternatively, install the development version from GitHub: 60 | 61 | ```R 62 | # install.packages("remotes") 63 | remotes::install_github("QuantGen/BEDMatrix") 64 | ``` 65 | 66 | 67 | Documentation 68 | ------------- 69 | 70 | Further documentation can be found on [RDocumentation](https://www.rdocumentation.org/packages/BEDMatrix). 71 | 72 | 73 | Contributing 74 | ------------ 75 | 76 | - Issue Tracker: https://github.com/QuantGen/BEDMatrix/issues 77 | - Source Code: https://github.com/QuantGen/BEDMatrix 78 | -------------------------------------------------------------------------------- /src/mapping.c: -------------------------------------------------------------------------------- 1 | #include "mapping.h" 2 | 3 | #ifdef _WIN32 4 | #include 5 | #else 6 | #include 7 | #include 8 | #include 9 | #include 10 | #endif 11 | 12 | int map_file(const char *pathname, struct mapped_region *mapped_region) { 13 | int retval = 0; 14 | #ifdef _WIN32 15 | // Open file 16 | HANDLE hFile = CreateFileA( 17 | pathname, 18 | GENERIC_READ, 19 | FILE_SHARE_READ, 20 | NULL, 21 | OPEN_EXISTING, 22 | FILE_ATTRIBUTE_NORMAL, 23 | NULL 24 | ); 25 | if (hFile == INVALID_HANDLE_VALUE) { 26 | return -1; 27 | } 28 | // Get file length 29 | LARGE_INTEGER fileSize; 30 | if (GetFileSizeEx(hFile, &fileSize) == 0) { 31 | retval = -1; 32 | goto close_file; 33 | } 34 | mapped_region->length = fileSize.QuadPart; 35 | // Map file 36 | HANDLE hMem = CreateFileMappingA( 37 | hFile, 38 | NULL, 39 | PAGE_READONLY, 40 | 0, 41 | 0, 42 | NULL 43 | ); 44 | if (hMem == NULL) { 45 | retval = -1; 46 | goto close_file; 47 | } 48 | mapped_region->addr = MapViewOfFile( 49 | hMem, 50 | FILE_MAP_READ, 51 | 0, 52 | 0, 53 | 0 54 | ); 55 | if (mapped_region->addr == NULL) { 56 | retval = -1; 57 | } 58 | CloseHandle(hMem); // ignore errors 59 | close_file: 60 | CloseHandle(hFile); // ignore errors 61 | #else 62 | // Open file 63 | int fd = open( 64 | pathname, 65 | O_RDONLY 66 | ); 67 | if (fd == -1) { 68 | return -1; 69 | } 70 | // Get file length 71 | struct stat sb; 72 | if (fstat(fd, &sb) == -1) { 73 | retval = -1; 74 | goto close_file; 75 | } 76 | mapped_region->length = sb.st_size; 77 | // Test if file is a regular file 78 | if (!S_ISREG(sb.st_mode)) { 79 | retval = -1; 80 | goto close_file; 81 | } 82 | // Map file 83 | mapped_region->addr = mmap( 84 | NULL, 85 | sb.st_size, 86 | PROT_READ, 87 | MAP_SHARED, 88 | fd, 89 | 0 90 | ); 91 | if (mapped_region->addr == MAP_FAILED) { 92 | retval = -1; 93 | } 94 | close_file: 95 | close(fd); // ignore errors 96 | #endif 97 | return retval; 98 | } 99 | 100 | int unmap_file(struct mapped_region *mapped_region) { 101 | int retval = 0; 102 | // Check if region is already unmapped 103 | if (!mapped_region->addr) { 104 | return -1; 105 | } 106 | #ifdef _WIN32 107 | if (UnmapViewOfFile(mapped_region->addr) == 0) { 108 | return -1; 109 | } 110 | #else 111 | if (munmap(mapped_region->addr, mapped_region->length) == -1) { 112 | return -1; 113 | } 114 | #endif 115 | // Reset address and length 116 | mapped_region->addr = NULL; 117 | mapped_region->length = 0; 118 | return retval; 119 | } 120 | -------------------------------------------------------------------------------- /inst/include/BEDMatrix.h: -------------------------------------------------------------------------------- 1 | #ifndef BEDMATRIX_H 2 | #define BEDMATRIX_H 3 | 4 | #define PLINK_BED_HEADER_LENGTH 3 5 | #define PLINK_BED_GENOTYPES_PER_BYTE 4 6 | 7 | #include // ceil 8 | #include // size_t, ptrdiff_t 9 | #include // uint8_t 10 | 11 | #if defined(__GNUC__) 12 | #define BEDMATRIX_EXPORT(declaration) __attribute__ ((unused)) static declaration 13 | #else 14 | #define BEDMATRIX_EXPORT(declaration) static declaration 15 | #endif 16 | 17 | struct BEDMatrix { 18 | int num_samples; 19 | int num_variants; 20 | uint8_t *data; 21 | size_t length; 22 | }; 23 | 24 | BEDMATRIX_EXPORT(int compute_num_bytes_per_variant(int num_samples)) { 25 | return ceil((double) num_samples / PLINK_BED_GENOTYPES_PER_BYTE); 26 | } 27 | 28 | /** 29 | * Extract the genotype of the ith sample and the jth variant from a 30 | * variant-major .bed file 31 | * (https://www.cog-genomics.org/plink/1.9/formats#bed). 32 | * 33 | * The genotype is coded as follows: '00' indicates homozygous for first allele 34 | * in .bim file (A1), '10' indicates heterozygous, '11' indicates homozygous 35 | * for second allele in .bim file (A2), and '01' indicates missing. 36 | * 37 | * 'num_bytes_per_variant' needs to be precomputed using the 38 | * 'compute_num_bytes_per_variant' function. 39 | */ 40 | BEDMATRIX_EXPORT(int extract_genotype_cartesian(uint8_t *bed, 41 | int i, 42 | int j, 43 | int num_bytes_per_variant)) { 44 | // Find corresponding byte 45 | int which_byte = i / PLINK_BED_GENOTYPES_PER_BYTE; 46 | // Find corresponding genotype position within byte 47 | int which_genotype = i % PLINK_BED_GENOTYPES_PER_BYTE; 48 | // Get byte from mapping 49 | uint8_t genotypes = bed[PLINK_BED_HEADER_LENGTH + ((ptrdiff_t) j * num_bytes_per_variant + which_byte)]; 50 | // Extract genotype from byte by shifting bit pair of interest to the 51 | // right, then masking with 11 52 | return genotypes >> (2 * which_genotype) & 0x03; 53 | } 54 | 55 | BEDMATRIX_EXPORT(int extract_genotype_linear(uint8_t *bed, 56 | ptrdiff_t k, 57 | int num_samples, 58 | int num_bytes_per_variant)) { 59 | return extract_genotype_cartesian( 60 | bed, 61 | k % num_samples, 62 | k / num_samples, 63 | num_bytes_per_variant 64 | ); 65 | } 66 | 67 | /** 68 | * Recode genotype codes to allelic dosages of first allele in .bim file (A1), 69 | * similarly to .raw files generated with '--recode A' in PLINK. A coding for 70 | * the missing value needs to be provided in 'na_value'. If used within R, 71 | * 'NA_INTEGER' should be used. 72 | */ 73 | BEDMATRIX_EXPORT(int recode_genotype(int genotype, int na_value)) { 74 | int coding = na_value; // missing 75 | if (genotype == 0) { 76 | coding = 2; // two copies of A1 77 | } else if (genotype == 3) { 78 | coding = 0; // zero copies of A1 79 | } else if (genotype == 2) { 80 | coding = 1; // one copy of A1 81 | } 82 | return coding; 83 | } 84 | 85 | #endif 86 | -------------------------------------------------------------------------------- /NEWS.md: -------------------------------------------------------------------------------- 1 | # BEDMatrix 2.0.4 2 | 3 | - Use prefixed `Calloc` and `Free` to comply with CRAN. 4 | 5 | 6 | # BEDMatrix 2.0.3 7 | 8 | - Replace testthat with tinytest. 9 | - Do not mix up minor/major and first/second alleles in documentation. 10 | 11 | 12 | # BEDMatrix 2.0.2 13 | 14 | - Fix that BED files larger than 2GB cannot be loaded in Windows. 15 | - Do not produce `-Wunused-function` warnings in exported `BEDMatrix.h` header. 16 | 17 | 18 | # BEDMatrix 2.0.1 19 | 20 | - Fix extra `;` outside of `compute_num_bytes_per_variant` function in exported 21 | `BEDMatrix.h` header (found by CRAN incoming checks). 22 | 23 | 24 | # BEDMatrix 2.0.0 25 | 26 | - Extractions can be canceled with `Control-c`. 27 | - Reimplement package in C, drop Rcpp. 28 | - Genotypes can be extracted on the C level in other packages by adding 29 | `BEDMatrix` to the `LinkingTo` field of the `DESCRIPTION` file and including 30 | the `BEDMatrix.h` in your C code. The header file contains the `BEDMatrix` 31 | struct and the following functions: `compute_num_bytes_per_variant()`, 32 | `extract_genotype_linear()`, `extract_genotype_cartesian()`, and 33 | `recode_genotype()`. 34 | 35 | 36 | # BEDMatrix 1.6.1 37 | 38 | - Re-add C++11 requirement to avoid warnings from Boost headers on Windows. 39 | 40 | 41 | # BEDMatrix 1.6.0 42 | 43 | - Follow [Bioconductor S4 practices][2]. If you have used `new()` to create 44 | BEDMatrix instances, please use the constructor `BEDMatrix()` instead. 45 | - Fix non-character rownames or colnames when data.table package is installed. 46 | - Drop C++11 requirement. 47 | - Update citation instructions. 48 | 49 | 50 | # BEDMatrix 1.5.0 51 | 52 | - Add `simple_names` option to BEDMatrix initialization function (contributed 53 | by Alex Ochoa). 54 | - Fix single indexing for index values greater than `.Machine$integer.max` 55 | (previously generated `NA`s). 56 | - Minor performance improvements. 57 | 58 | 59 | # BEDMatrix 1.4.1 60 | 61 | - Specify fileset name in messages during instantiation. 62 | 63 | 64 | # BEDMatrix 1.4.0 65 | 66 | - Support subsetting by `NA`. 67 | - Use [crochet package][1] for subsetting 68 | - Fix minor subsetting bugs 69 | - Update example 70 | - Remove intermediate S3 `BEDMatrix` type 71 | 72 | 73 | # BEDMatrix 1.3.0 74 | 75 | - Speed up character subsetting. 76 | - Speed up detection of `n`, `p`, `rownames`, and `colnames` during 77 | initialization if `data.table` package is installed. 78 | - Support `str` function. 79 | 80 | 81 | # BEDMatrix 1.2.0 82 | 83 | - Support `path` without extension (like PLINK). 84 | - Add `path` attribute (to reattach instance after saving it to RData). 85 | - Add `length` method. 86 | - Add `as.matrix` method. 87 | - Add `is.matrix` method. 88 | - Store dimensions in S3 wrapper as `dims` attribute to allow for faster 89 | recreation when saved. 90 | - Fix bug that modified `i` and `j` when subsetting. 91 | 92 | 93 | # BEDMatrix 1.1.0 94 | 95 | - Restore cross-platform compatibility by dropping the system dependency on 96 | `Boost.IOStreams` in favor of `Boost.Interprocess` which provides header-only 97 | memory-mapping and is therefore supported by the `BH` package. 98 | 99 | 100 | # BEDMatrix 1.0.1 101 | 102 | - Ensure that the same C compiler and compiler flags are used in the configure 103 | tests as when compiling R. 104 | - Improve messages in configure script to distinguish between Boost headers and 105 | Boost libraries. 106 | 107 | 108 | # BEDMatrix 1.0.0 109 | 110 | Initial release. 111 | 112 | [1]: https://CRAN.R-project.org/package=crochet 113 | [2]: https://bioconductor.org/help/course-materials/2017/Zurich/S4-classes-and-methods.html 114 | -------------------------------------------------------------------------------- /man/BEDMatrix.Rd: -------------------------------------------------------------------------------- 1 | \name{BEDMatrix} 2 | \alias{BEDMatrix} 3 | \title{Create a BEDMatrix Object from a PLINK .bed File} 4 | \description{ 5 | This function constructs a new \code{BEDMatrix} object by mapping the 6 | specified \href{https://www.cog-genomics.org/plink2/formats#bed}{PLINK 7 | .bed} file into memory. 8 | } 9 | \usage{ 10 | BEDMatrix(path, n = NULL, p = NULL, simple_names = FALSE) 11 | } 12 | \arguments{ 13 | \item{path}{ 14 | Path to the 15 | \href{https://www.cog-genomics.org/plink2/formats#bed}{.bed} file (with 16 | or without extension). 17 | } 18 | \item{n}{ 19 | The number of samples. If \code{NULL} (the default), this number will 20 | be determined from the accompanying 21 | \href{https://www.cog-genomics.org/plink2/formats#fam}{.fam} file (of 22 | the same name as the 23 | \href{https://www.cog-genomics.org/plink2/formats#bed}{.bed} file). If 24 | a positive integer, the .fam file is not read and \code{rownames} will 25 | be set to \code{NULL} and have to be provided manually. 26 | } 27 | \item{p}{ 28 | The number of variants. If \code{NULL} (the default) the number of 29 | variants will be determined from the accompanying 30 | \href{https://www.cog-genomics.org/plink2/formats#bim}{.bim} file (of 31 | the same name as the 32 | \href{https://www.cog-genomics.org/plink2/formats#bed}{.bed} file). If 33 | a positive integer, the .bim file is not read and \code{colnames} will 34 | be set to \code{NULL} and have to be provided manually. 35 | } 36 | \item{simple_names}{ 37 | Whether to simplify the format of the dimension names. If \code{FALSE} 38 | (the default), row names are concatenations of family IDs, \code{_}, 39 | and within-family IDs, while column names are concatenations of variant 40 | names, \code{_}, and allele codes for the first allele of the 41 | \href{https://www.cog-genomics.org/plink2/formats#bim}{.bim} file 42 | (\code{A1}). If \code{TRUE}, row names are within-family IDs only and 43 | column names are variant names only. 44 | } 45 | } 46 | \details{ 47 | \href{https://www.cog-genomics.org/plink2/formats#bed}{.bed} files must be 48 | accompanied by \href{https://www.cog-genomics.org/plink2/formats#fam}{.fam} 49 | and \href{https://www.cog-genomics.org/plink2/formats#bim}{.bim} files: 50 | .fam files contain sample information, and .bim files contain variant 51 | information. If the name of the .bed file is \emph{plink}.bed then the 52 | names of the .fam and .bim files have to be \emph{plink}.fam and 53 | \emph{plink}.bim, respectively. The .fam and .bim files are used to extract 54 | the number and names of samples and variants. 55 | 56 | For very large .bed files, reading the .fam and .bim files can take a long 57 | time. If \code{n} and \code{p} are provided, these files are not read and 58 | \code{dimnames} have to be provided manually. 59 | 60 | Currently, only the variant-major mode of .bed files is supported. 61 | \href{https://www.cog-genomics.org/plink2/}{PLINK2} "dropped" support for 62 | the sample-major mode by automatically converting files in this format to 63 | the variant-major mode. Therefore, it is recommended to run files in 64 | sample-major mode through PLINK2 first. 65 | } 66 | \value{ 67 | A \code{BEDMatrix} object. 68 | } 69 | \seealso{ 70 | \code{\link{BEDMatrix-package}} to learn more about the \code{BEDMatrix} 71 | package, \code{\link{BEDMatrix-class}} to learn more about the 72 | \code{BEDMatrix} class. 73 | } 74 | \examples{ 75 | # Get the path to the example .bed file 76 | path <- system.file("extdata", "example.bed", 77 | package = "BEDMatrix") 78 | 79 | # Create a BEDMatrix object the example .bed file 80 | m1 <- BEDMatrix(path) 81 | 82 | # Create a BEDMatrix object the example .bed file without loading 83 | # the .fam and .bim files 84 | m2 <- BEDMatrix(path, n = 50, p = 1000) 85 | } 86 | -------------------------------------------------------------------------------- /man/BEDMatrix-class.Rd: -------------------------------------------------------------------------------- 1 | \docType{class} 2 | \name{BEDMatrix-class} 3 | \alias{BEDMatrix-class} 4 | \alias{show,BEDMatrix-method} 5 | \title{A Class to Extract Genotypes from a PLINK .bed File} 6 | \description{ 7 | \code{BEDMatrix} is a class that maps a 8 | \href{https://www.cog-genomics.org/plink2/formats#bed}{PLINK .bed} file 9 | into memory and behaves similarly to a regular \code{matrix} by 10 | implementing key methods such as \code{[}, \code{dim}, and \code{dimnames}. 11 | Subsets are extracted directly and on-demand from the .bed file without 12 | loading the entire file into memory. 13 | } 14 | \details{ 15 | The subsets extracted from a \code{BEDMatrix} object are coded as the 16 | allelic dosages of the first allele in the .bim file (A1), similarly to 17 | \href{https://www.cog-genomics.org/plink2/formats#raw}{.raw} files 18 | generated with the \code{--recode A} argument in 19 | \href{https://www.cog-genomics.org/plink2/}{PLINK}). 20 | 21 | Internally, this class is an S4 class with the following slots that should 22 | not be relied upon in actual code: \code{xptr}, \code{dims}, \code{dnames}, 23 | and \code{path}. The .bed file is mapped into memory using \code{mmap} on 24 | Unix and \code{MapViewOfFile} on Windows. 25 | } 26 | \section{Slots}{ 27 | \describe{ 28 | \item{\code{xptr}:}{ 29 | An external pointer to the underlying \code{C} code. 30 | } 31 | \item{\code{dims}:}{ 32 | An integer vector specifying the number of samples and variants as 33 | determined by the the accompanying 34 | \href{https://www.cog-genomics.org/plink2/formats#fam}{.fam} and 35 | \href{https://www.cog-genomics.org/plink2/formats#bim}{.bim} files 36 | or by the \code{n} and \code{p} parameters of the \code{BEDMatrix} 37 | constructor function. 38 | } 39 | \item{\code{dnames}:}{ 40 | A list describing the row names and column names of the object as 41 | determined by the accompanying 42 | \href{https://www.cog-genomics.org/plink2/formats#fam}{.fam} and 43 | \href{https://www.cog-genomics.org/plink2/formats#bim}{.bim} files, 44 | or \code{NULL} if the \code{n} and \code{p} parameters of the 45 | \code{BEDMatrix} constructor function were provided. 46 | } 47 | \item{\code{path}:}{ 48 | A character string containing the path to the .bed file. 49 | } 50 | } 51 | } 52 | \section{Methods}{ 53 | \describe{ 54 | \item{\code{[}:}{Extract parts of an object} 55 | \item{\code{dim}:}{Retrieve the dimension of an object} 56 | \item{\code{dimnames}:}{Retrieve the dimnames of an object} 57 | \item{\code{dimnames<-}:}{Set the dimnames of an object} 58 | \item{\code{as.matrix}:}{Turn the object into a matrix} 59 | \item{\code{is.matrix}:}{Test if the object is a matrix} 60 | \item{\code{length}:}{Get the length of an object} 61 | \item{\code{str}:}{Display the internal structure of an object} 62 | \item{\code{show}:}{Display the object} 63 | } 64 | } 65 | \seealso{ 66 | \code{\link{BEDMatrix}} to create a \code{BEDMatrix} object from a .bed 67 | file, \code{\link{BEDMatrix-package}} to learn more about the 68 | \code{BEDMatrix} package, 69 | \code{\link[LinkedMatrix:LinkedMatrix-package]{LinkedMatrix}} to link 70 | several \code{BEDMatrix} objects together. 71 | } 72 | \examples{ 73 | # Get the path to the example .bed file 74 | path <- system.file("extdata", "example.bed", 75 | package = "BEDMatrix") 76 | 77 | # Create a BEDMatrix object the example .bed file 78 | m <- BEDMatrix(path) 79 | 80 | # Get the dimensions of the BEDMatrix object 81 | dim(m) 82 | 83 | # Get the row names of the BEDMatrix object 84 | rownames(m) 85 | 86 | # Get the column names of the BEDMatrix object 87 | colnames(m) 88 | 89 | # Extract genotypes for the specified sample(s) 90 | m[1, ] 91 | m[1:3, ] 92 | m["per0_per0", ] 93 | m[c("per0_per0", "per1_per1", "per2_per2"), ] 94 | 95 | # Extract genotypes for a particular variant 96 | m[, 1] 97 | m[, c("snp0_A", "snp1_C", "snp2_G")] 98 | 99 | # Extract genotypes for the specified samples and variants 100 | m[ 101 | c("per0_per0", "per1_per1", "per2_per2"), 102 | c("snp0_A", "snp1_C", "snp2_G") 103 | ] 104 | } 105 | \keyword{classes} 106 | -------------------------------------------------------------------------------- /src/BEDMatrix.c: -------------------------------------------------------------------------------- 1 | #include "BEDMatrix.h" 2 | 3 | #include "bed.h" 4 | #include "mapping.h" 5 | 6 | #include "../inst/include/BEDMatrix.h" 7 | 8 | #include 9 | #include 10 | 11 | #define INTERRUPT_INTERVAL 10000000 12 | 13 | static void BEDMatrix_finalize(SEXP xptr) { 14 | struct BEDMatrix *state = R_ExternalPtrAddr(xptr); 15 | if (state == NULL) { 16 | return; 17 | } 18 | struct mapped_region mapped_file; 19 | mapped_file.addr = state->data; 20 | mapped_file.length = state->length; 21 | unmap_file(&mapped_file); // ignore errors 22 | R_Free(state); 23 | R_ClearExternalPtr(xptr); 24 | } 25 | 26 | SEXP BEDMatrix_initialize(SEXP path, SEXP n, SEXP p) { 27 | const char *expanded_filename = R_ExpandFileName(CHAR(Rf_asChar(path))); 28 | int nrows = Rf_asInteger(n); 29 | int ncols = Rf_asInteger(p); 30 | // Map file 31 | struct mapped_region mapped_file; 32 | if (map_file(expanded_filename, &mapped_file) == -1) { 33 | Rf_error("Could not map file."); 34 | } 35 | // Test if file is a valid .bed file 36 | if (is_bed_file(mapped_file.addr) == -1) { 37 | unmap_file(&mapped_file); // ignore errors 38 | Rf_error("File is not a PLINK .bed file."); 39 | } 40 | // Test if n and p correspond to length 41 | if (has_valid_dimensions(mapped_file.length, nrows, ncols) == -1) { 42 | unmap_file(&mapped_file); // ignore errors 43 | Rf_error("n or p does not match the dimensions of the file."); 44 | } 45 | // Create state 46 | struct BEDMatrix *state = R_Calloc(1, struct BEDMatrix); 47 | state->num_samples = nrows; 48 | state->num_variants = ncols; 49 | state->data = mapped_file.addr; 50 | state->length = mapped_file.length; 51 | // Create external pointer 52 | SEXP xptr = PROTECT(R_MakeExternalPtr( 53 | state, 54 | R_NilValue, 55 | R_NilValue 56 | )); 57 | // Register finalizer 58 | R_RegisterCFinalizerEx(xptr, BEDMatrix_finalize, 1); 59 | UNPROTECT(1); // xptr 60 | return xptr; 61 | } 62 | 63 | SEXP BEDMatrix_extract_vector(SEXP xptr, SEXP k) { 64 | struct BEDMatrix *state = R_ExternalPtrAddr(xptr); 65 | if (state == NULL) { 66 | Rf_error("BEDMatrix instance has been unmapped."); 67 | } 68 | ptrdiff_t nx = (ptrdiff_t) state->num_samples * state->num_variants; 69 | int num_bytes_per_variant = compute_num_bytes_per_variant(state->num_samples); 70 | R_xlen_t nk = Rf_xlength(k); 71 | SEXP out = PROTECT(Rf_allocVector(INTSXP, nk)); 72 | int *pout = INTEGER(out); 73 | // index can be either integer or double, depending on whether an index 74 | // value is greater than the largest integer 75 | if (TYPEOF(k) == INTSXP) { 76 | int *pk = INTEGER(k); 77 | for (ptrdiff_t ck = 0; ck < nk; ck++) { 78 | int kk = pk[ck]; 79 | if (0 < kk && kk <= nx) { 80 | kk--; 81 | pout[ck] = recode_genotype(extract_genotype_linear( 82 | state->data, 83 | kk, 84 | state->num_samples, 85 | num_bytes_per_variant 86 | ), NA_INTEGER); 87 | } else { 88 | pout[ck] = NA_INTEGER; 89 | } 90 | if (ck % INTERRUPT_INTERVAL == 0) { 91 | R_CheckUserInterrupt(); 92 | } 93 | } 94 | } else { 95 | double *pk = REAL(k); 96 | for (ptrdiff_t ck = 0; ck < nk; ck++) { 97 | double dk = pk[ck]; 98 | ptrdiff_t kk = (ptrdiff_t) (dk - 1); 99 | if (R_FINITE(dk) && 0 <= kk && kk < nx) { 100 | pout[ck] = recode_genotype(extract_genotype_linear( 101 | state->data, 102 | kk, 103 | state->num_samples, 104 | num_bytes_per_variant 105 | ), NA_INTEGER); 106 | } else { 107 | pout[ck] = NA_INTEGER; 108 | } 109 | if (ck % INTERRUPT_INTERVAL == 0) { 110 | R_CheckUserInterrupt(); 111 | } 112 | } 113 | } 114 | UNPROTECT(1); // out 115 | return out; 116 | } 117 | 118 | SEXP BEDMatrix_extract_matrix(SEXP xptr, SEXP i, SEXP j) { 119 | struct BEDMatrix *state = R_ExternalPtrAddr(xptr); 120 | if (state == NULL) { 121 | Rf_error("BEDMatrix instance has been unmapped."); 122 | } 123 | int num_bytes_per_variant = compute_num_bytes_per_variant(state->num_samples); 124 | R_xlen_t ni = Rf_xlength(i); 125 | int *pi = INTEGER(i); 126 | R_xlen_t nj = Rf_xlength(j); 127 | int *pj = INTEGER(j); 128 | SEXP out = PROTECT(Rf_allocMatrix(INTSXP, ni, nj)); 129 | int *pout = INTEGER(out); 130 | ptrdiff_t cint = 0; 131 | for (int cj = 0; cj < nj; cj++) { 132 | int jj = pj[cj]; 133 | for (int ci = 0; ci < ni; ci++) { 134 | int ii = pi[ci]; 135 | if (ii == NA_INTEGER || jj == NA_INTEGER) { 136 | pout[(ptrdiff_t) cj * ni + ci] = NA_INTEGER; 137 | } else { 138 | int genotype = recode_genotype(extract_genotype_cartesian( 139 | state->data, 140 | ii - 1, 141 | jj - 1, 142 | num_bytes_per_variant 143 | ), NA_INTEGER); 144 | pout[(ptrdiff_t) cj * ni + ci] = genotype; 145 | } 146 | if (cint % INTERRUPT_INTERVAL == 0) { 147 | R_CheckUserInterrupt(); 148 | } 149 | cint++; 150 | } 151 | } 152 | UNPROTECT(1); // out 153 | return out; 154 | } 155 | -------------------------------------------------------------------------------- /R/BEDMatrix.R: -------------------------------------------------------------------------------- 1 | # Delimiters used in .fam and .bim files 2 | delims <- "[ \t]" 3 | 4 | BEDMatrix <- setClass("BEDMatrix", slots = c( 5 | xptr = "externalptr", 6 | dims = "integer", 7 | dnames = "list", 8 | path = "character" 9 | )) 10 | 11 | BEDMatrix <- function(path, n = NULL, p = NULL, simple_names = FALSE) { 12 | path <- path.expand(path) 13 | if (!file.exists(path)) { 14 | # Try to add extension (common in PLINK) 15 | path <- paste0(path, ".bed") 16 | if (!file.exists(path)) { 17 | stop("File not found.", call. = FALSE) 18 | } 19 | } 20 | pathSansExt <- tools::file_path_sans_ext(path) 21 | filesetName <- basename(pathSansExt) 22 | if (is.null(n)) { 23 | # Check if .fam file exists 24 | famPath <- paste0(pathSansExt, ".fam") 25 | if (!file.exists(famPath)) { 26 | stop(filesetName, ".fam not found. Provide number of samples (n).", call. = FALSE) 27 | } else { 28 | message("Extracting number of samples and rownames from ", filesetName, ".fam...") 29 | if (requireNamespace("data.table", quietly = TRUE)) { 30 | if (simple_names) { 31 | famColumns <- c(2L) 32 | } else { 33 | famColumns <- c(1L, 2L) 34 | } 35 | fam <- data.table::fread( 36 | famPath, 37 | select = famColumns, 38 | colClasses = list(character = famColumns), 39 | data.table = FALSE, 40 | showProgress = FALSE 41 | ) 42 | # Determine n 43 | n <- nrow(fam) 44 | # Determine rownames 45 | if (simple_names) { 46 | # Use within-family ID only 47 | rownames <- fam[, 1L] 48 | } else { 49 | # Concatenate family ID and within-family ID 50 | rownames <- paste0(fam[, 1L], "_", fam[, 2L]) 51 | } 52 | } else { 53 | fam <- readLines(famPath) # much faster than read.table 54 | # Determine n 55 | n <- length(fam) 56 | # Determine rownames 57 | if (simple_names) { 58 | # Use within-family ID only 59 | rownames <- vapply(strsplit(fam, delims), `[`, "", 2L) 60 | } else { 61 | rownames <- vapply(strsplit(fam, delims), function(line) { 62 | # Concatenate family ID and within-family ID 63 | paste0(line[1L], "_", line[2L]) 64 | }, "") 65 | } 66 | } 67 | } 68 | } else { 69 | n <- as.integer(n) 70 | rownames <- NULL 71 | } 72 | if (is.null(p)) { 73 | # Check if .bim file exists 74 | bimPath <- paste0(pathSansExt, ".bim") 75 | if (!file.exists(bimPath)) { 76 | stop(filesetName, ".bim not found. Provide number of variants (p).", .call = FALSE) 77 | } else { 78 | message("Extracting number of variants and colnames from ", filesetName, ".bim...") 79 | if (requireNamespace("data.table", quietly = TRUE)) { 80 | if (simple_names) { 81 | bimColumns <- c(2L) 82 | } else { 83 | bimColumns <- c(2L, 5L) 84 | } 85 | bim <- data.table::fread( 86 | bimPath, 87 | select = bimColumns, 88 | colClasses = list(character = bimColumns), 89 | data.table = FALSE, 90 | showProgress = FALSE 91 | ) 92 | # Determine p 93 | p <- nrow(bim) 94 | # Determine colnames 95 | if (simple_names) { 96 | # Use variant name only 97 | colnames <- bim[, 1L] 98 | } else { 99 | # Concatenate variant name and A1 allele (like '--recode A' 100 | # in PLINK) 101 | colnames <- paste0(bim[, 1L], "_", bim[, 2L]) 102 | } 103 | } else { 104 | bim <- readLines(bimPath) # much faster than read.table 105 | # Determine p 106 | p <- length(bim) 107 | # Determine colnames 108 | if (simple_names) { 109 | # Use variant name only 110 | colnames <- vapply(strsplit(bim, delims), `[`, "", 2L) 111 | } else { 112 | colnames <- vapply(strsplit(bim, delims), function(line) { 113 | # Concatenate variant name and A1 allele (like 114 | # '--recode A' in PLINK) 115 | paste0(line[2L], "_", line[5L]) 116 | }, "") 117 | } 118 | } 119 | } 120 | } else { 121 | p <- as.integer(p) 122 | colnames <- NULL 123 | } 124 | obj <- new( 125 | "BEDMatrix", 126 | xptr = .Call(C_BEDMatrix_initialize, path, n, p), 127 | path = path, 128 | dims = c(n, p), 129 | dnames = list(rownames, colnames) 130 | ) 131 | return(obj) 132 | } 133 | 134 | setMethod("show", "BEDMatrix", function(object) { 135 | dims <- dim(object) 136 | n <- dims[1L] 137 | p <- dims[2L] 138 | cat("BEDMatrix: ", n, " x ", p, " [", slot(object, "path"), "]\n", sep = "") 139 | }) 140 | 141 | extract_vector <- function(x, i) { 142 | .Call(C_BEDMatrix_extract_vector, slot(x, "xptr"), i) 143 | } 144 | 145 | extract_matrix <- function(x, i, j) { 146 | subset <- .Call(C_BEDMatrix_extract_matrix, slot(x, "xptr"), i, j) 147 | # Preserve dimnames 148 | names <- slot(x, "dnames") 149 | dimnames(subset) <- list( 150 | names[[1L]][i], 151 | names[[2L]][j] 152 | ) 153 | return(subset) 154 | } 155 | 156 | `[.BEDMatrix` <- extract( 157 | extract_vector = extract_vector, 158 | extract_matrix = extract_matrix, 159 | allowDoubles = TRUE 160 | ) 161 | 162 | dim.BEDMatrix <- function(x) { 163 | slot(x, "dims") 164 | } 165 | 166 | dimnames.BEDMatrix <- function(x) { 167 | slot(x, "dnames") 168 | } 169 | 170 | `dimnames<-.BEDMatrix` <- function(x, value) { 171 | d <- dim(x) 172 | v1 <- value[[1L]] 173 | v2 <- value[[2L]] 174 | if (!is.list(value) || length(value) != 2L || !(is.null(v1) || length(v1) == d[1L]) || !(is.null(v2) || length(v2) == d[2L])) { 175 | stop("invalid dimnames", call. = FALSE) 176 | } 177 | slot(x, "dnames") <- lapply(value, function(v) { 178 | if (!is.null(v)) { 179 | as.character(v) 180 | } 181 | }) 182 | return(x) 183 | } 184 | 185 | length.BEDMatrix <- function(x) { 186 | prod(dim(x)) 187 | } 188 | 189 | str.BEDMatrix <- function(object, ...) { 190 | print(object) 191 | } 192 | 193 | as.matrix.BEDMatrix <- function(x, ...) { 194 | x[, , drop = FALSE] 195 | } 196 | 197 | is.matrix.BEDMatrix <- function(x) { 198 | TRUE 199 | } 200 | -------------------------------------------------------------------------------- /inst/extdata/example.bim: -------------------------------------------------------------------------------- 1 | 1 snp0 0 0 A G 2 | 1 snp1 0 1 C A 3 | 1 snp2 0 2 G A 4 | 1 snp3 0 3 G A 5 | 1 snp4 0 4 G A 6 | 1 snp5 0 5 T G 7 | 1 snp6 0 6 G C 8 | 1 snp7 0 7 A G 9 | 1 snp8 0 8 A G 10 | 1 snp9 0 9 C T 11 | 1 snp10 0 10 A T 12 | 1 snp11 0 11 C T 13 | 1 snp12 0 12 A G 14 | 1 snp13 0 13 T C 15 | 1 snp14 0 14 A G 16 | 1 snp15 0 15 G C 17 | 1 snp16 0 16 A C 18 | 1 snp17 0 17 T G 19 | 1 snp18 0 18 C G 20 | 1 snp19 0 19 G C 21 | 1 snp20 0 20 C G 22 | 1 snp21 0 21 G A 23 | 1 snp22 0 22 G T 24 | 1 snp23 0 23 C T 25 | 1 snp24 0 24 T A 26 | 1 snp25 0 25 A T 27 | 1 snp26 0 26 G C 28 | 1 snp27 0 27 G A 29 | 1 snp28 0 28 T A 30 | 1 snp29 0 29 T C 31 | 1 snp30 0 30 T G 32 | 1 snp31 0 31 A C 33 | 1 snp32 0 32 T C 34 | 1 snp33 0 33 C G 35 | 1 snp34 0 34 T A 36 | 1 snp35 0 35 A T 37 | 1 snp36 0 36 G T 38 | 1 snp37 0 37 G A 39 | 1 snp38 0 38 T G 40 | 1 snp39 0 39 C T 41 | 1 snp40 0 40 A C 42 | 1 snp41 0 41 C A 43 | 1 snp42 0 42 T C 44 | 1 snp43 0 43 T C 45 | 1 snp44 0 44 T G 46 | 1 snp45 0 45 C T 47 | 1 snp46 0 46 C A 48 | 1 snp47 0 47 A C 49 | 1 snp48 0 48 C A 50 | 1 snp49 0 49 C A 51 | 1 snp50 0 50 T G 52 | 1 snp51 0 51 T A 53 | 1 snp52 0 52 A T 54 | 1 snp53 0 53 C T 55 | 1 snp54 0 54 T C 56 | 1 snp55 0 55 C A 57 | 1 snp56 0 56 C A 58 | 1 snp57 0 57 A G 59 | 1 snp58 0 58 A G 60 | 1 snp59 0 59 G C 61 | 1 snp60 0 60 A C 62 | 1 snp61 0 61 A G 63 | 1 snp62 0 62 G A 64 | 1 snp63 0 63 G C 65 | 1 snp64 0 64 T C 66 | 1 snp65 0 65 G C 67 | 1 snp66 0 66 C G 68 | 1 snp67 0 67 G A 69 | 1 snp68 0 68 A T 70 | 1 snp69 0 69 A T 71 | 1 snp70 0 70 C G 72 | 1 snp71 0 71 G C 73 | 1 snp72 0 72 A T 74 | 1 snp73 0 73 C A 75 | 1 snp74 0 74 G C 76 | 1 snp75 0 75 T G 77 | 1 snp76 0 76 C T 78 | 1 snp77 0 77 C G 79 | 1 snp78 0 78 C G 80 | 1 snp79 0 79 A C 81 | 1 snp80 0 80 C A 82 | 1 snp81 0 81 A C 83 | 1 snp82 0 82 T A 84 | 1 snp83 0 83 G C 85 | 1 snp84 0 84 T A 86 | 1 snp85 0 85 T A 87 | 1 snp86 0 86 G A 88 | 1 snp87 0 87 A C 89 | 1 snp88 0 88 G C 90 | 1 snp89 0 89 G C 91 | 1 snp90 0 90 C G 92 | 1 snp91 0 91 G C 93 | 1 snp92 0 92 T C 94 | 1 snp93 0 93 T G 95 | 1 snp94 0 94 T A 96 | 1 snp95 0 95 A C 97 | 1 snp96 0 96 C T 98 | 1 snp97 0 97 G C 99 | 1 snp98 0 98 A G 100 | 1 snp99 0 99 T A 101 | 1 snp100 0 100 T C 102 | 1 snp101 0 101 T A 103 | 1 snp102 0 102 T G 104 | 1 snp103 0 103 G T 105 | 1 snp104 0 104 T G 106 | 1 snp105 0 105 C T 107 | 1 snp106 0 106 T C 108 | 1 snp107 0 107 T A 109 | 1 snp108 0 108 T A 110 | 1 snp109 0 109 A C 111 | 1 snp110 0 110 A T 112 | 1 snp111 0 111 A C 113 | 1 snp112 0 112 G T 114 | 1 snp113 0 113 G A 115 | 1 snp114 0 114 T C 116 | 1 snp115 0 115 T G 117 | 1 snp116 0 116 T G 118 | 1 snp117 0 117 T G 119 | 1 snp118 0 118 C G 120 | 1 snp119 0 119 T G 121 | 1 snp120 0 120 C G 122 | 1 snp121 0 121 T G 123 | 1 snp122 0 122 C T 124 | 1 snp123 0 123 A G 125 | 1 snp124 0 124 T A 126 | 1 snp125 0 125 C G 127 | 1 snp126 0 126 C A 128 | 1 snp127 0 127 A C 129 | 1 snp128 0 128 A C 130 | 1 snp129 0 129 T G 131 | 1 snp130 0 130 T C 132 | 1 snp131 0 131 G A 133 | 1 snp132 0 132 A G 134 | 1 snp133 0 133 T A 135 | 1 snp134 0 134 A T 136 | 1 snp135 0 135 G A 137 | 1 snp136 0 136 A G 138 | 1 snp137 0 137 G C 139 | 1 snp138 0 138 A C 140 | 1 snp139 0 139 G C 141 | 1 snp140 0 140 T A 142 | 1 snp141 0 141 A G 143 | 1 snp142 0 142 T G 144 | 1 snp143 0 143 G T 145 | 1 snp144 0 144 A T 146 | 1 snp145 0 145 C T 147 | 1 snp146 0 146 C G 148 | 1 snp147 0 147 T G 149 | 1 snp148 0 148 G C 150 | 1 snp149 0 149 A C 151 | 1 snp150 0 150 C A 152 | 1 snp151 0 151 C A 153 | 1 snp152 0 152 C G 154 | 1 snp153 0 153 G T 155 | 1 snp154 0 154 A C 156 | 1 snp155 0 155 A T 157 | 1 snp156 0 156 A C 158 | 1 snp157 0 157 A T 159 | 1 snp158 0 158 T C 160 | 1 snp159 0 159 G T 161 | 1 snp160 0 160 C A 162 | 1 snp161 0 161 A T 163 | 1 snp162 0 162 T A 164 | 1 snp163 0 163 A T 165 | 1 snp164 0 164 T C 166 | 1 snp165 0 165 G T 167 | 1 snp166 0 166 T A 168 | 1 snp167 0 167 T C 169 | 1 snp168 0 168 C T 170 | 1 snp169 0 169 C T 171 | 1 snp170 0 170 A G 172 | 1 snp171 0 171 C G 173 | 1 snp172 0 172 G T 174 | 1 snp173 0 173 A C 175 | 1 snp174 0 174 A G 176 | 1 snp175 0 175 C A 177 | 1 snp176 0 176 T C 178 | 1 snp177 0 177 C G 179 | 1 snp178 0 178 A T 180 | 1 snp179 0 179 G A 181 | 1 snp180 0 180 A C 182 | 1 snp181 0 181 C A 183 | 1 snp182 0 182 A T 184 | 1 snp183 0 183 G T 185 | 1 snp184 0 184 T C 186 | 1 snp185 0 185 T C 187 | 1 snp186 0 186 T A 188 | 1 snp187 0 187 A G 189 | 1 snp188 0 188 G A 190 | 1 snp189 0 189 A G 191 | 1 snp190 0 190 C A 192 | 1 snp191 0 191 C G 193 | 1 snp192 0 192 C A 194 | 1 snp193 0 193 T C 195 | 1 snp194 0 194 A T 196 | 1 snp195 0 195 C T 197 | 1 snp196 0 196 T C 198 | 1 snp197 0 197 T A 199 | 1 snp198 0 198 A T 200 | 1 snp199 0 199 T A 201 | 1 snp200 0 200 C G 202 | 1 snp201 0 201 C A 203 | 1 snp202 0 202 C T 204 | 1 snp203 0 203 G C 205 | 1 snp204 0 204 G C 206 | 1 snp205 0 205 A T 207 | 1 snp206 0 206 T G 208 | 1 snp207 0 207 G A 209 | 1 snp208 0 208 G T 210 | 1 snp209 0 209 A G 211 | 1 snp210 0 210 A C 212 | 1 snp211 0 211 G A 213 | 1 snp212 0 212 T G 214 | 1 snp213 0 213 C G 215 | 1 snp214 0 214 A G 216 | 1 snp215 0 215 C G 217 | 1 snp216 0 216 G T 218 | 1 snp217 0 217 A C 219 | 1 snp218 0 218 G T 220 | 1 snp219 0 219 G A 221 | 1 snp220 0 220 G C 222 | 1 snp221 0 221 G C 223 | 1 snp222 0 222 A T 224 | 1 snp223 0 223 C T 225 | 1 snp224 0 224 T A 226 | 1 snp225 0 225 G T 227 | 1 snp226 0 226 C G 228 | 1 snp227 0 227 T A 229 | 1 snp228 0 228 T C 230 | 1 snp229 0 229 A G 231 | 1 snp230 0 230 G A 232 | 1 snp231 0 231 T A 233 | 1 snp232 0 232 A G 234 | 1 snp233 0 233 A G 235 | 1 snp234 0 234 G C 236 | 1 snp235 0 235 A T 237 | 1 snp236 0 236 A T 238 | 1 snp237 0 237 C A 239 | 1 snp238 0 238 A G 240 | 1 snp239 0 239 T C 241 | 1 snp240 0 240 C G 242 | 1 snp241 0 241 T G 243 | 1 snp242 0 242 T A 244 | 1 snp243 0 243 A G 245 | 1 snp244 0 244 C T 246 | 1 snp245 0 245 G C 247 | 1 snp246 0 246 A G 248 | 1 snp247 0 247 T A 249 | 1 snp248 0 248 C A 250 | 1 snp249 0 249 T C 251 | 1 snp250 0 250 T C 252 | 1 snp251 0 251 C G 253 | 1 snp252 0 252 G A 254 | 1 snp253 0 253 A T 255 | 1 snp254 0 254 C A 256 | 1 snp255 0 255 A T 257 | 1 snp256 0 256 T A 258 | 1 snp257 0 257 G A 259 | 1 snp258 0 258 A C 260 | 1 snp259 0 259 G C 261 | 1 snp260 0 260 C G 262 | 1 snp261 0 261 A T 263 | 1 snp262 0 262 A G 264 | 1 snp263 0 263 T C 265 | 1 snp264 0 264 T C 266 | 1 snp265 0 265 T G 267 | 1 snp266 0 266 A T 268 | 1 snp267 0 267 G C 269 | 1 snp268 0 268 G A 270 | 1 snp269 0 269 T C 271 | 1 snp270 0 270 T A 272 | 1 snp271 0 271 G A 273 | 1 snp272 0 272 T A 274 | 1 snp273 0 273 T C 275 | 1 snp274 0 274 A C 276 | 1 snp275 0 275 G A 277 | 1 snp276 0 276 A T 278 | 1 snp277 0 277 T G 279 | 1 snp278 0 278 T A 280 | 1 snp279 0 279 G A 281 | 1 snp280 0 280 G A 282 | 1 snp281 0 281 T G 283 | 1 snp282 0 282 A C 284 | 1 snp283 0 283 A T 285 | 1 snp284 0 284 C T 286 | 1 snp285 0 285 T G 287 | 1 snp286 0 286 T C 288 | 1 snp287 0 287 G A 289 | 1 snp288 0 288 T C 290 | 1 snp289 0 289 A T 291 | 1 snp290 0 290 T C 292 | 1 snp291 0 291 T C 293 | 1 snp292 0 292 T A 294 | 1 snp293 0 293 G C 295 | 1 snp294 0 294 G A 296 | 1 snp295 0 295 C A 297 | 1 snp296 0 296 T A 298 | 1 snp297 0 297 A T 299 | 1 snp298 0 298 C G 300 | 1 snp299 0 299 C T 301 | 1 snp300 0 300 C A 302 | 1 snp301 0 301 T G 303 | 1 snp302 0 302 A C 304 | 1 snp303 0 303 G T 305 | 1 snp304 0 304 C A 306 | 1 snp305 0 305 G A 307 | 1 snp306 0 306 C T 308 | 1 snp307 0 307 T C 309 | 1 snp308 0 308 C T 310 | 1 snp309 0 309 A T 311 | 1 snp310 0 310 C A 312 | 1 snp311 0 311 G C 313 | 1 snp312 0 312 T G 314 | 1 snp313 0 313 T G 315 | 1 snp314 0 314 C A 316 | 1 snp315 0 315 A G 317 | 1 snp316 0 316 C T 318 | 1 snp317 0 317 T C 319 | 1 snp318 0 318 T G 320 | 1 snp319 0 319 C T 321 | 1 snp320 0 320 C A 322 | 1 snp321 0 321 C A 323 | 1 snp322 0 322 T A 324 | 1 snp323 0 323 A G 325 | 1 snp324 0 324 C A 326 | 1 snp325 0 325 A C 327 | 1 snp326 0 326 A G 328 | 1 snp327 0 327 A G 329 | 1 snp328 0 328 C A 330 | 1 snp329 0 329 G T 331 | 1 snp330 0 330 G C 332 | 1 snp331 0 331 G C 333 | 1 snp332 0 332 G C 334 | 1 snp333 0 333 T A 335 | 1 snp334 0 334 A G 336 | 1 snp335 0 335 T A 337 | 1 snp336 0 336 A C 338 | 1 snp337 0 337 C T 339 | 1 snp338 0 338 C T 340 | 1 snp339 0 339 A T 341 | 1 snp340 0 340 G T 342 | 1 snp341 0 341 C G 343 | 1 snp342 0 342 T C 344 | 1 snp343 0 343 A C 345 | 1 snp344 0 344 T C 346 | 1 snp345 0 345 G A 347 | 1 snp346 0 346 C T 348 | 1 snp347 0 347 T A 349 | 1 snp348 0 348 C T 350 | 1 snp349 0 349 C G 351 | 1 snp350 0 350 C T 352 | 1 snp351 0 351 A T 353 | 1 snp352 0 352 A T 354 | 1 snp353 0 353 T A 355 | 1 snp354 0 354 G A 356 | 1 snp355 0 355 T C 357 | 1 snp356 0 356 T C 358 | 1 snp357 0 357 A C 359 | 1 snp358 0 358 A G 360 | 1 snp359 0 359 A C 361 | 1 snp360 0 360 A T 362 | 1 snp361 0 361 G C 363 | 1 snp362 0 362 A C 364 | 1 snp363 0 363 G A 365 | 1 snp364 0 364 C T 366 | 1 snp365 0 365 C T 367 | 1 snp366 0 366 A G 368 | 1 snp367 0 367 A T 369 | 1 snp368 0 368 C T 370 | 1 snp369 0 369 G A 371 | 1 snp370 0 370 T G 372 | 1 snp371 0 371 T C 373 | 1 snp372 0 372 T C 374 | 1 snp373 0 373 G A 375 | 1 snp374 0 374 G T 376 | 1 snp375 0 375 T A 377 | 1 snp376 0 376 A T 378 | 1 snp377 0 377 G C 379 | 1 snp378 0 378 G A 380 | 1 snp379 0 379 T G 381 | 1 snp380 0 380 A T 382 | 1 snp381 0 381 A C 383 | 1 snp382 0 382 T G 384 | 1 snp383 0 383 C G 385 | 1 snp384 0 384 A C 386 | 1 snp385 0 385 T A 387 | 1 snp386 0 386 C A 388 | 1 snp387 0 387 A C 389 | 1 snp388 0 388 G T 390 | 1 snp389 0 389 C T 391 | 1 snp390 0 390 T G 392 | 1 snp391 0 391 A T 393 | 1 snp392 0 392 G A 394 | 1 snp393 0 393 C T 395 | 1 snp394 0 394 T C 396 | 1 snp395 0 395 G C 397 | 1 snp396 0 396 C G 398 | 1 snp397 0 397 T C 399 | 1 snp398 0 398 C G 400 | 1 snp399 0 399 T G 401 | 1 snp400 0 400 A G 402 | 1 snp401 0 401 C A 403 | 1 snp402 0 402 T A 404 | 1 snp403 0 403 A G 405 | 1 snp404 0 404 C A 406 | 1 snp405 0 405 A T 407 | 1 snp406 0 406 G C 408 | 1 snp407 0 407 A T 409 | 1 snp408 0 408 T G 410 | 1 snp409 0 409 G T 411 | 1 snp410 0 410 A C 412 | 1 snp411 0 411 G T 413 | 1 snp412 0 412 G A 414 | 1 snp413 0 413 C A 415 | 1 snp414 0 414 T C 416 | 1 snp415 0 415 A G 417 | 1 snp416 0 416 T C 418 | 1 snp417 0 417 A T 419 | 1 snp418 0 418 G C 420 | 1 snp419 0 419 C G 421 | 1 snp420 0 420 A T 422 | 1 snp421 0 421 C T 423 | 1 snp422 0 422 G C 424 | 1 snp423 0 423 G C 425 | 1 snp424 0 424 C T 426 | 1 snp425 0 425 C T 427 | 1 snp426 0 426 G T 428 | 1 snp427 0 427 T A 429 | 1 snp428 0 428 G C 430 | 1 snp429 0 429 T G 431 | 1 snp430 0 430 A C 432 | 1 snp431 0 431 A G 433 | 1 snp432 0 432 A C 434 | 1 snp433 0 433 A C 435 | 1 snp434 0 434 G C 436 | 1 snp435 0 435 A C 437 | 1 snp436 0 436 A G 438 | 1 snp437 0 437 C A 439 | 1 snp438 0 438 T G 440 | 1 snp439 0 439 T G 441 | 1 snp440 0 440 C A 442 | 1 snp441 0 441 A T 443 | 1 snp442 0 442 C T 444 | 1 snp443 0 443 C T 445 | 1 snp444 0 444 G T 446 | 1 snp445 0 445 T C 447 | 1 snp446 0 446 C T 448 | 1 snp447 0 447 A C 449 | 1 snp448 0 448 A C 450 | 1 snp449 0 449 T G 451 | 1 snp450 0 450 A T 452 | 1 snp451 0 451 A T 453 | 1 snp452 0 452 A T 454 | 1 snp453 0 453 T C 455 | 1 snp454 0 454 T G 456 | 1 snp455 0 455 A G 457 | 1 snp456 0 456 A T 458 | 1 snp457 0 457 C A 459 | 1 snp458 0 458 A T 460 | 1 snp459 0 459 A C 461 | 1 snp460 0 460 C G 462 | 1 snp461 0 461 A T 463 | 1 snp462 0 462 T G 464 | 1 snp463 0 463 G A 465 | 1 snp464 0 464 T C 466 | 1 snp465 0 465 T G 467 | 1 snp466 0 466 A T 468 | 1 snp467 0 467 T C 469 | 1 snp468 0 468 C T 470 | 1 snp469 0 469 T G 471 | 1 snp470 0 470 C G 472 | 1 snp471 0 471 G C 473 | 1 snp472 0 472 A T 474 | 1 snp473 0 473 C A 475 | 1 snp474 0 474 A C 476 | 1 snp475 0 475 A T 477 | 1 snp476 0 476 T G 478 | 1 snp477 0 477 C G 479 | 1 snp478 0 478 G T 480 | 1 snp479 0 479 A G 481 | 1 snp480 0 480 T G 482 | 1 snp481 0 481 G T 483 | 1 snp482 0 482 T G 484 | 1 snp483 0 483 C A 485 | 1 snp484 0 484 A C 486 | 1 snp485 0 485 G C 487 | 1 snp486 0 486 G C 488 | 1 snp487 0 487 T A 489 | 1 snp488 0 488 A T 490 | 1 snp489 0 489 C G 491 | 1 snp490 0 490 A T 492 | 1 snp491 0 491 A T 493 | 1 snp492 0 492 C G 494 | 1 snp493 0 493 C T 495 | 1 snp494 0 494 T A 496 | 1 snp495 0 495 A C 497 | 1 snp496 0 496 A C 498 | 1 snp497 0 497 A G 499 | 1 snp498 0 498 T C 500 | 1 snp499 0 499 A T 501 | 1 snp500 0 500 T G 502 | 1 snp501 0 501 G C 503 | 1 snp502 0 502 A T 504 | 1 snp503 0 503 T A 505 | 1 snp504 0 504 G A 506 | 1 snp505 0 505 T G 507 | 1 snp506 0 506 C G 508 | 1 snp507 0 507 C G 509 | 1 snp508 0 508 A C 510 | 1 snp509 0 509 C G 511 | 1 snp510 0 510 A C 512 | 1 snp511 0 511 A C 513 | 1 snp512 0 512 G A 514 | 1 snp513 0 513 C T 515 | 1 snp514 0 514 C G 516 | 1 snp515 0 515 G T 517 | 1 snp516 0 516 A C 518 | 1 snp517 0 517 C T 519 | 1 snp518 0 518 G A 520 | 1 snp519 0 519 C T 521 | 1 snp520 0 520 C G 522 | 1 snp521 0 521 A T 523 | 1 snp522 0 522 A G 524 | 1 snp523 0 523 T G 525 | 1 snp524 0 524 A G 526 | 1 snp525 0 525 C G 527 | 1 snp526 0 526 G C 528 | 1 snp527 0 527 A G 529 | 1 snp528 0 528 T C 530 | 1 snp529 0 529 C G 531 | 1 snp530 0 530 T G 532 | 1 snp531 0 531 C T 533 | 1 snp532 0 532 A T 534 | 1 snp533 0 533 A T 535 | 1 snp534 0 534 C T 536 | 1 snp535 0 535 A T 537 | 1 snp536 0 536 A G 538 | 1 snp537 0 537 C A 539 | 1 snp538 0 538 T A 540 | 1 snp539 0 539 G T 541 | 1 snp540 0 540 C T 542 | 1 snp541 0 541 G A 543 | 1 snp542 0 542 A C 544 | 1 snp543 0 543 G T 545 | 1 snp544 0 544 T A 546 | 1 snp545 0 545 C G 547 | 1 snp546 0 546 T A 548 | 1 snp547 0 547 C G 549 | 1 snp548 0 548 C A 550 | 1 snp549 0 549 G A 551 | 1 snp550 0 550 A G 552 | 1 snp551 0 551 C A 553 | 1 snp552 0 552 A G 554 | 1 snp553 0 553 A T 555 | 1 snp554 0 554 C T 556 | 1 snp555 0 555 G T 557 | 1 snp556 0 556 G C 558 | 1 snp557 0 557 C G 559 | 1 snp558 0 558 G A 560 | 1 snp559 0 559 G C 561 | 1 snp560 0 560 T A 562 | 1 snp561 0 561 C A 563 | 1 snp562 0 562 T G 564 | 1 snp563 0 563 T C 565 | 1 snp564 0 564 G T 566 | 1 snp565 0 565 C A 567 | 1 snp566 0 566 T C 568 | 1 snp567 0 567 C A 569 | 1 snp568 0 568 T A 570 | 1 snp569 0 569 T G 571 | 1 snp570 0 570 C A 572 | 1 snp571 0 571 A C 573 | 1 snp572 0 572 A G 574 | 1 snp573 0 573 A C 575 | 1 snp574 0 574 T A 576 | 1 snp575 0 575 T G 577 | 1 snp576 0 576 G C 578 | 1 snp577 0 577 A T 579 | 1 snp578 0 578 T A 580 | 1 snp579 0 579 G C 581 | 1 snp580 0 580 C T 582 | 1 snp581 0 581 C A 583 | 1 snp582 0 582 T A 584 | 1 snp583 0 583 G T 585 | 1 snp584 0 584 A T 586 | 1 snp585 0 585 G A 587 | 1 snp586 0 586 G A 588 | 1 snp587 0 587 G C 589 | 1 snp588 0 588 C G 590 | 1 snp589 0 589 C A 591 | 1 snp590 0 590 G A 592 | 1 snp591 0 591 C A 593 | 1 snp592 0 592 G C 594 | 1 snp593 0 593 G C 595 | 1 snp594 0 594 G A 596 | 1 snp595 0 595 A T 597 | 1 snp596 0 596 A G 598 | 1 snp597 0 597 T A 599 | 1 snp598 0 598 T A 600 | 1 snp599 0 599 C A 601 | 1 snp600 0 600 A T 602 | 1 snp601 0 601 A T 603 | 1 snp602 0 602 A T 604 | 1 snp603 0 603 A T 605 | 1 snp604 0 604 G A 606 | 1 snp605 0 605 A G 607 | 1 snp606 0 606 G A 608 | 1 snp607 0 607 C G 609 | 1 snp608 0 608 C A 610 | 1 snp609 0 609 T C 611 | 1 snp610 0 610 C G 612 | 1 snp611 0 611 C A 613 | 1 snp612 0 612 G T 614 | 1 snp613 0 613 A G 615 | 1 snp614 0 614 T A 616 | 1 snp615 0 615 A T 617 | 1 snp616 0 616 C G 618 | 1 snp617 0 617 G A 619 | 1 snp618 0 618 C G 620 | 1 snp619 0 619 G C 621 | 1 snp620 0 620 C G 622 | 1 snp621 0 621 C G 623 | 1 snp622 0 622 C G 624 | 1 snp623 0 623 C A 625 | 1 snp624 0 624 A T 626 | 1 snp625 0 625 T C 627 | 1 snp626 0 626 T A 628 | 1 snp627 0 627 A C 629 | 1 snp628 0 628 T G 630 | 1 snp629 0 629 A T 631 | 1 snp630 0 630 C T 632 | 1 snp631 0 631 G A 633 | 1 snp632 0 632 T A 634 | 1 snp633 0 633 C G 635 | 1 snp634 0 634 A T 636 | 1 snp635 0 635 G A 637 | 1 snp636 0 636 G A 638 | 1 snp637 0 637 A T 639 | 1 snp638 0 638 A C 640 | 1 snp639 0 639 G T 641 | 1 snp640 0 640 T A 642 | 1 snp641 0 641 T C 643 | 1 snp642 0 642 T G 644 | 1 snp643 0 643 G T 645 | 1 snp644 0 644 C A 646 | 1 snp645 0 645 G T 647 | 1 snp646 0 646 A C 648 | 1 snp647 0 647 T A 649 | 1 snp648 0 648 G T 650 | 1 snp649 0 649 G T 651 | 1 snp650 0 650 G A 652 | 1 snp651 0 651 A G 653 | 1 snp652 0 652 C T 654 | 1 snp653 0 653 C T 655 | 1 snp654 0 654 T G 656 | 1 snp655 0 655 T G 657 | 1 snp656 0 656 A T 658 | 1 snp657 0 657 G T 659 | 1 snp658 0 658 C T 660 | 1 snp659 0 659 T A 661 | 1 snp660 0 660 C G 662 | 1 snp661 0 661 T A 663 | 1 snp662 0 662 T A 664 | 1 snp663 0 663 A C 665 | 1 snp664 0 664 A C 666 | 1 snp665 0 665 G T 667 | 1 snp666 0 666 G A 668 | 1 snp667 0 667 C T 669 | 1 snp668 0 668 T A 670 | 1 snp669 0 669 C A 671 | 1 snp670 0 670 C A 672 | 1 snp671 0 671 G A 673 | 1 snp672 0 672 C G 674 | 1 snp673 0 673 A G 675 | 1 snp674 0 674 T A 676 | 1 snp675 0 675 C A 677 | 1 snp676 0 676 G T 678 | 1 snp677 0 677 C G 679 | 1 snp678 0 678 T A 680 | 1 snp679 0 679 T G 681 | 1 snp680 0 680 T G 682 | 1 snp681 0 681 T C 683 | 1 snp682 0 682 G C 684 | 1 snp683 0 683 C T 685 | 1 snp684 0 684 A C 686 | 1 snp685 0 685 A G 687 | 1 snp686 0 686 G A 688 | 1 snp687 0 687 A T 689 | 1 snp688 0 688 C G 690 | 1 snp689 0 689 C T 691 | 1 snp690 0 690 G A 692 | 1 snp691 0 691 G C 693 | 1 snp692 0 692 G C 694 | 1 snp693 0 693 G A 695 | 1 snp694 0 694 G T 696 | 1 snp695 0 695 G A 697 | 1 snp696 0 696 T C 698 | 1 snp697 0 697 C T 699 | 1 snp698 0 698 C G 700 | 1 snp699 0 699 G C 701 | 1 snp700 0 700 T C 702 | 1 snp701 0 701 C G 703 | 1 snp702 0 702 T A 704 | 1 snp703 0 703 T A 705 | 1 snp704 0 704 T G 706 | 1 snp705 0 705 T G 707 | 1 snp706 0 706 G A 708 | 1 snp707 0 707 G C 709 | 1 snp708 0 708 A C 710 | 1 snp709 0 709 T A 711 | 1 snp710 0 710 T A 712 | 1 snp711 0 711 C A 713 | 1 snp712 0 712 T G 714 | 1 snp713 0 713 A T 715 | 1 snp714 0 714 G T 716 | 1 snp715 0 715 T A 717 | 1 snp716 0 716 A C 718 | 1 snp717 0 717 C A 719 | 1 snp718 0 718 G T 720 | 1 snp719 0 719 G T 721 | 1 snp720 0 720 A G 722 | 1 snp721 0 721 G T 723 | 1 snp722 0 722 G C 724 | 1 snp723 0 723 A T 725 | 1 snp724 0 724 C A 726 | 1 snp725 0 725 G A 727 | 1 snp726 0 726 A G 728 | 1 snp727 0 727 A C 729 | 1 snp728 0 728 G A 730 | 1 snp729 0 729 T G 731 | 1 snp730 0 730 G T 732 | 1 snp731 0 731 A C 733 | 1 snp732 0 732 G C 734 | 1 snp733 0 733 T G 735 | 1 snp734 0 734 A G 736 | 1 snp735 0 735 G A 737 | 1 snp736 0 736 G A 738 | 1 snp737 0 737 G T 739 | 1 snp738 0 738 T C 740 | 1 snp739 0 739 C G 741 | 1 snp740 0 740 A T 742 | 1 snp741 0 741 A G 743 | 1 snp742 0 742 G A 744 | 1 snp743 0 743 C G 745 | 1 snp744 0 744 C G 746 | 1 snp745 0 745 T G 747 | 1 snp746 0 746 C A 748 | 1 snp747 0 747 G T 749 | 1 snp748 0 748 A T 750 | 1 snp749 0 749 A C 751 | 1 snp750 0 750 C G 752 | 1 snp751 0 751 C G 753 | 1 snp752 0 752 A C 754 | 1 snp753 0 753 G T 755 | 1 snp754 0 754 G A 756 | 1 snp755 0 755 A T 757 | 1 snp756 0 756 T G 758 | 1 snp757 0 757 C A 759 | 1 snp758 0 758 C T 760 | 1 snp759 0 759 T G 761 | 1 snp760 0 760 C T 762 | 1 snp761 0 761 T C 763 | 1 snp762 0 762 C G 764 | 1 snp763 0 763 T G 765 | 1 snp764 0 764 G T 766 | 1 snp765 0 765 A T 767 | 1 snp766 0 766 C G 768 | 1 snp767 0 767 C A 769 | 1 snp768 0 768 C T 770 | 1 snp769 0 769 C G 771 | 1 snp770 0 770 C G 772 | 1 snp771 0 771 T C 773 | 1 snp772 0 772 T C 774 | 1 snp773 0 773 G C 775 | 1 snp774 0 774 A C 776 | 1 snp775 0 775 C T 777 | 1 snp776 0 776 C T 778 | 1 snp777 0 777 A G 779 | 1 snp778 0 778 G A 780 | 1 snp779 0 779 T C 781 | 1 snp780 0 780 C A 782 | 1 snp781 0 781 T A 783 | 1 snp782 0 782 G A 784 | 1 snp783 0 783 C G 785 | 1 snp784 0 784 A T 786 | 1 snp785 0 785 T C 787 | 1 snp786 0 786 G A 788 | 1 snp787 0 787 G T 789 | 1 snp788 0 788 C A 790 | 1 snp789 0 789 G A 791 | 1 snp790 0 790 G T 792 | 1 snp791 0 791 C A 793 | 1 snp792 0 792 T A 794 | 1 snp793 0 793 T G 795 | 1 snp794 0 794 C A 796 | 1 snp795 0 795 A G 797 | 1 snp796 0 796 T A 798 | 1 snp797 0 797 C G 799 | 1 snp798 0 798 T G 800 | 1 snp799 0 799 T C 801 | 1 snp800 0 800 T A 802 | 1 snp801 0 801 A T 803 | 1 snp802 0 802 G A 804 | 1 snp803 0 803 T G 805 | 1 snp804 0 804 T A 806 | 1 snp805 0 805 G A 807 | 1 snp806 0 806 G T 808 | 1 snp807 0 807 A C 809 | 1 snp808 0 808 G C 810 | 1 snp809 0 809 T A 811 | 1 snp810 0 810 G C 812 | 1 snp811 0 811 A C 813 | 1 snp812 0 812 C T 814 | 1 snp813 0 813 T G 815 | 1 snp814 0 814 T A 816 | 1 snp815 0 815 G T 817 | 1 snp816 0 816 A C 818 | 1 snp817 0 817 T A 819 | 1 snp818 0 818 G T 820 | 1 snp819 0 819 A T 821 | 1 snp820 0 820 C A 822 | 1 snp821 0 821 A G 823 | 1 snp822 0 822 T C 824 | 1 snp823 0 823 G T 825 | 1 snp824 0 824 C G 826 | 1 snp825 0 825 T A 827 | 1 snp826 0 826 A T 828 | 1 snp827 0 827 A T 829 | 1 snp828 0 828 G T 830 | 1 snp829 0 829 T C 831 | 1 snp830 0 830 T C 832 | 1 snp831 0 831 C A 833 | 1 snp832 0 832 A T 834 | 1 snp833 0 833 C A 835 | 1 snp834 0 834 A G 836 | 1 snp835 0 835 G T 837 | 1 snp836 0 836 G T 838 | 1 snp837 0 837 A G 839 | 1 snp838 0 838 T C 840 | 1 snp839 0 839 T G 841 | 1 snp840 0 840 C A 842 | 1 snp841 0 841 C T 843 | 1 snp842 0 842 A T 844 | 1 snp843 0 843 T A 845 | 1 snp844 0 844 G C 846 | 1 snp845 0 845 C T 847 | 1 snp846 0 846 A T 848 | 1 snp847 0 847 G T 849 | 1 snp848 0 848 G A 850 | 1 snp849 0 849 A C 851 | 1 snp850 0 850 G A 852 | 1 snp851 0 851 G T 853 | 1 snp852 0 852 G C 854 | 1 snp853 0 853 A G 855 | 1 snp854 0 854 A C 856 | 1 snp855 0 855 C A 857 | 1 snp856 0 856 A C 858 | 1 snp857 0 857 T C 859 | 1 snp858 0 858 G T 860 | 1 snp859 0 859 A G 861 | 1 snp860 0 860 G C 862 | 1 snp861 0 861 T C 863 | 1 snp862 0 862 T G 864 | 1 snp863 0 863 C T 865 | 1 snp864 0 864 G T 866 | 1 snp865 0 865 A C 867 | 1 snp866 0 866 G T 868 | 1 snp867 0 867 C T 869 | 1 snp868 0 868 T C 870 | 1 snp869 0 869 A G 871 | 1 snp870 0 870 A T 872 | 1 snp871 0 871 C T 873 | 1 snp872 0 872 A G 874 | 1 snp873 0 873 T C 875 | 1 snp874 0 874 T G 876 | 1 snp875 0 875 C A 877 | 1 snp876 0 876 T A 878 | 1 snp877 0 877 G C 879 | 1 snp878 0 878 C G 880 | 1 snp879 0 879 G C 881 | 1 snp880 0 880 G C 882 | 1 snp881 0 881 C G 883 | 1 snp882 0 882 T G 884 | 1 snp883 0 883 C G 885 | 1 snp884 0 884 G C 886 | 1 snp885 0 885 G A 887 | 1 snp886 0 886 G A 888 | 1 snp887 0 887 C T 889 | 1 snp888 0 888 C G 890 | 1 snp889 0 889 T C 891 | 1 snp890 0 890 A T 892 | 1 snp891 0 891 T G 893 | 1 snp892 0 892 G C 894 | 1 snp893 0 893 T C 895 | 1 snp894 0 894 A C 896 | 1 snp895 0 895 C T 897 | 1 snp896 0 896 G C 898 | 1 snp897 0 897 G C 899 | 1 snp898 0 898 T A 900 | 1 snp899 0 899 A T 901 | 1 snp900 0 900 C T 902 | 1 snp901 0 901 T A 903 | 1 snp902 0 902 G T 904 | 1 snp903 0 903 T C 905 | 1 snp904 0 904 T C 906 | 1 snp905 0 905 C G 907 | 1 snp906 0 906 A G 908 | 1 snp907 0 907 C A 909 | 1 snp908 0 908 T G 910 | 1 snp909 0 909 T C 911 | 1 snp910 0 910 A T 912 | 1 snp911 0 911 T G 913 | 1 snp912 0 912 G A 914 | 1 snp913 0 913 T C 915 | 1 snp914 0 914 T A 916 | 1 snp915 0 915 A G 917 | 1 snp916 0 916 T G 918 | 1 snp917 0 917 C A 919 | 1 snp918 0 918 G A 920 | 1 snp919 0 919 C G 921 | 1 snp920 0 920 G A 922 | 1 snp921 0 921 T C 923 | 1 snp922 0 922 G A 924 | 1 snp923 0 923 A G 925 | 1 snp924 0 924 C G 926 | 1 snp925 0 925 A G 927 | 1 snp926 0 926 T C 928 | 1 snp927 0 927 C G 929 | 1 snp928 0 928 G T 930 | 1 snp929 0 929 G C 931 | 1 snp930 0 930 A T 932 | 1 snp931 0 931 C T 933 | 1 snp932 0 932 T C 934 | 1 snp933 0 933 G A 935 | 1 snp934 0 934 G T 936 | 1 snp935 0 935 C A 937 | 1 snp936 0 936 A T 938 | 1 snp937 0 937 T C 939 | 1 snp938 0 938 G C 940 | 1 snp939 0 939 C T 941 | 1 snp940 0 940 C G 942 | 1 snp941 0 941 T A 943 | 1 snp942 0 942 G A 944 | 1 snp943 0 943 G C 945 | 1 snp944 0 944 T C 946 | 1 snp945 0 945 T G 947 | 1 snp946 0 946 A C 948 | 1 snp947 0 947 A T 949 | 1 snp948 0 948 A G 950 | 1 snp949 0 949 A C 951 | 1 snp950 0 950 C A 952 | 1 snp951 0 951 T A 953 | 1 snp952 0 952 G C 954 | 1 snp953 0 953 G A 955 | 1 snp954 0 954 G T 956 | 1 snp955 0 955 A T 957 | 1 snp956 0 956 T C 958 | 1 snp957 0 957 T G 959 | 1 snp958 0 958 T G 960 | 1 snp959 0 959 G A 961 | 1 snp960 0 960 T G 962 | 1 snp961 0 961 A T 963 | 1 snp962 0 962 C G 964 | 1 snp963 0 963 T G 965 | 1 snp964 0 964 A C 966 | 1 snp965 0 965 G A 967 | 1 snp966 0 966 A G 968 | 1 snp967 0 967 C A 969 | 1 snp968 0 968 T C 970 | 1 snp969 0 969 A G 971 | 1 snp970 0 970 G T 972 | 1 snp971 0 971 C A 973 | 1 snp972 0 972 G T 974 | 1 snp973 0 973 A G 975 | 1 snp974 0 974 A G 976 | 1 snp975 0 975 G T 977 | 1 snp976 0 976 T A 978 | 1 snp977 0 977 T A 979 | 1 snp978 0 978 A C 980 | 1 snp979 0 979 A C 981 | 1 snp980 0 980 A G 982 | 1 snp981 0 981 T C 983 | 1 snp982 0 982 T C 984 | 1 snp983 0 983 C T 985 | 1 snp984 0 984 G T 986 | 1 snp985 0 985 C A 987 | 1 snp986 0 986 C A 988 | 1 snp987 0 987 C G 989 | 1 snp988 0 988 C T 990 | 1 snp989 0 989 T C 991 | 1 snp990 0 990 G A 992 | 1 snp991 0 991 A C 993 | 1 snp992 0 992 T G 994 | 1 snp993 0 993 C T 995 | 1 snp994 0 994 T A 996 | 1 snp995 0 995 T G 997 | 1 snp996 0 996 G T 998 | 1 snp997 0 997 T A 999 | 1 snp998 0 998 C T 1000 | 1 snp999 0 999 G A 1001 | -------------------------------------------------------------------------------- /inst/extdata/example.raw: -------------------------------------------------------------------------------- 1 | FID IID PAT MAT SEX PHENOTYPE snp0_A snp1_C snp2_G snp3_G snp4_G snp5_T snp6_G snp7_A snp8_A snp9_C snp10_A snp11_C snp12_A snp13_T snp14_A snp15_G snp16_A snp17_T snp18_C snp19_G snp20_C snp21_G snp22_G snp23_C snp24_T snp25_A snp26_G snp27_G snp28_T snp29_T snp30_T snp31_A snp32_T snp33_C snp34_T snp35_A snp36_G snp37_G snp38_T snp39_C snp40_A snp41_C snp42_T snp43_T snp44_T snp45_C snp46_C snp47_A snp48_C snp49_C snp50_T snp51_T snp52_A snp53_C snp54_T snp55_C snp56_C snp57_A snp58_A snp59_G snp60_A snp61_A snp62_G snp63_G snp64_T snp65_G snp66_C snp67_G snp68_A snp69_A snp70_C snp71_G snp72_A snp73_C snp74_G snp75_T snp76_C snp77_C snp78_C snp79_A snp80_C snp81_A snp82_T snp83_G snp84_T snp85_T snp86_G snp87_A snp88_G snp89_G snp90_C snp91_G snp92_T snp93_T snp94_T snp95_A snp96_C snp97_G snp98_A snp99_T snp100_T snp101_T snp102_T snp103_G snp104_T snp105_C snp106_T snp107_T snp108_T snp109_A snp110_A snp111_A snp112_G snp113_G snp114_T snp115_T snp116_T snp117_T snp118_C snp119_T snp120_C snp121_T snp122_C snp123_A snp124_T snp125_C snp126_C snp127_A snp128_A snp129_T snp130_T snp131_G snp132_A snp133_T snp134_A snp135_G snp136_A snp137_G snp138_A snp139_G snp140_T snp141_A snp142_T snp143_G snp144_A snp145_C snp146_C snp147_T snp148_G snp149_A snp150_C snp151_C snp152_C snp153_G snp154_A snp155_A snp156_A snp157_A snp158_T snp159_G snp160_C snp161_A snp162_T snp163_A snp164_T snp165_G snp166_T snp167_T snp168_C snp169_C snp170_A snp171_C snp172_G snp173_A snp174_A snp175_C snp176_T snp177_C snp178_A snp179_G snp180_A snp181_C snp182_A snp183_G snp184_T snp185_T snp186_T snp187_A snp188_G snp189_A snp190_C snp191_C snp192_C snp193_T snp194_A snp195_C snp196_T snp197_T snp198_A snp199_T snp200_C snp201_C snp202_C snp203_G snp204_G snp205_A snp206_T snp207_G snp208_G snp209_A snp210_A snp211_G snp212_T snp213_C snp214_A snp215_C snp216_G snp217_A snp218_G snp219_G snp220_G snp221_G snp222_A snp223_C snp224_T snp225_G snp226_C snp227_T snp228_T snp229_A snp230_G snp231_T snp232_A snp233_A snp234_G snp235_A snp236_A snp237_C snp238_A snp239_T snp240_C snp241_T snp242_T snp243_A snp244_C snp245_G snp246_A snp247_T snp248_C snp249_T snp250_T snp251_C snp252_G snp253_A snp254_C snp255_A snp256_T snp257_G snp258_A snp259_G snp260_C snp261_A snp262_A snp263_T snp264_T snp265_T snp266_A snp267_G snp268_G snp269_T snp270_T snp271_G snp272_T snp273_T snp274_A snp275_G snp276_A snp277_T snp278_T snp279_G snp280_G snp281_T snp282_A snp283_A snp284_C snp285_T snp286_T snp287_G snp288_T snp289_A snp290_T snp291_T snp292_T snp293_G snp294_G snp295_C snp296_T snp297_A snp298_C snp299_C snp300_C snp301_T snp302_A snp303_G snp304_C snp305_G snp306_C snp307_T snp308_C snp309_A snp310_C snp311_G snp312_T snp313_T snp314_C snp315_A snp316_C snp317_T snp318_T snp319_C snp320_C snp321_C snp322_T snp323_A snp324_C snp325_A snp326_A snp327_A snp328_C snp329_G snp330_G snp331_G snp332_G snp333_T snp334_A snp335_T snp336_A snp337_C snp338_C snp339_A snp340_G snp341_C snp342_T snp343_A snp344_T snp345_G snp346_C snp347_T snp348_C snp349_C snp350_C snp351_A snp352_A snp353_T snp354_G snp355_T snp356_T snp357_A snp358_A snp359_A snp360_A snp361_G snp362_A snp363_G snp364_C snp365_C snp366_A snp367_A snp368_C snp369_G snp370_T snp371_T snp372_T snp373_G snp374_G snp375_T snp376_A snp377_G snp378_G snp379_T snp380_A snp381_A snp382_T snp383_C snp384_A snp385_T snp386_C snp387_A snp388_G snp389_C snp390_T snp391_A snp392_G snp393_C snp394_T snp395_G snp396_C snp397_T snp398_C snp399_T snp400_A snp401_C snp402_T snp403_A snp404_C snp405_A snp406_G snp407_A snp408_T snp409_G snp410_A snp411_G snp412_G snp413_C snp414_T snp415_A snp416_T snp417_A snp418_G snp419_C snp420_A snp421_C snp422_G snp423_G snp424_C snp425_C snp426_G snp427_T snp428_G snp429_T snp430_A snp431_A snp432_A snp433_A snp434_G snp435_A snp436_A snp437_C snp438_T snp439_T snp440_C snp441_A snp442_C snp443_C snp444_G snp445_T snp446_C snp447_A snp448_A snp449_T snp450_A snp451_A snp452_A snp453_T snp454_T snp455_A snp456_A snp457_C snp458_A snp459_A snp460_C snp461_A snp462_T snp463_G snp464_T snp465_T snp466_A snp467_T snp468_C snp469_T snp470_C snp471_G snp472_A snp473_C snp474_A snp475_A snp476_T snp477_C snp478_G snp479_A snp480_T snp481_G snp482_T snp483_C snp484_A snp485_G snp486_G snp487_T snp488_A snp489_C snp490_A snp491_A snp492_C snp493_C snp494_T snp495_A snp496_A snp497_A snp498_T snp499_A snp500_T snp501_G snp502_A snp503_T snp504_G snp505_T snp506_C snp507_C snp508_A snp509_C snp510_A snp511_A snp512_G snp513_C snp514_C snp515_G snp516_A snp517_C snp518_G snp519_C snp520_C snp521_A snp522_A snp523_T snp524_A snp525_C snp526_G snp527_A snp528_T snp529_C snp530_T snp531_C snp532_A snp533_A snp534_C snp535_A snp536_A snp537_C snp538_T snp539_G snp540_C snp541_G snp542_A snp543_G snp544_T snp545_C snp546_T snp547_C snp548_C snp549_G snp550_A snp551_C snp552_A snp553_A snp554_C snp555_G snp556_G snp557_C snp558_G snp559_G snp560_T snp561_C snp562_T snp563_T snp564_G snp565_C snp566_T snp567_C snp568_T snp569_T snp570_C snp571_A snp572_A snp573_A snp574_T snp575_T snp576_G snp577_A snp578_T snp579_G snp580_C snp581_C snp582_T snp583_G snp584_A snp585_G snp586_G snp587_G snp588_C snp589_C snp590_G snp591_C snp592_G snp593_G snp594_G snp595_A snp596_A snp597_T snp598_T snp599_C snp600_A snp601_A snp602_A snp603_A snp604_G snp605_A snp606_G snp607_C snp608_C snp609_T snp610_C snp611_C snp612_G snp613_A snp614_T snp615_A snp616_C snp617_G snp618_C snp619_G snp620_C snp621_C snp622_C snp623_C snp624_A snp625_T snp626_T snp627_A snp628_T snp629_A snp630_C snp631_G snp632_T snp633_C snp634_A snp635_G snp636_G snp637_A snp638_A snp639_G snp640_T snp641_T snp642_T snp643_G snp644_C snp645_G snp646_A snp647_T snp648_G snp649_G snp650_G snp651_A snp652_C snp653_C snp654_T snp655_T snp656_A snp657_G snp658_C snp659_T snp660_C snp661_T snp662_T snp663_A snp664_A snp665_G snp666_G snp667_C snp668_T snp669_C snp670_C snp671_G snp672_C snp673_A snp674_T snp675_C snp676_G snp677_C snp678_T snp679_T snp680_T snp681_T snp682_G snp683_C snp684_A snp685_A snp686_G snp687_A snp688_C snp689_C snp690_G snp691_G snp692_G snp693_G snp694_G snp695_G snp696_T snp697_C snp698_C snp699_G snp700_T snp701_C snp702_T snp703_T snp704_T snp705_T snp706_G snp707_G snp708_A snp709_T snp710_T snp711_C snp712_T snp713_A snp714_G snp715_T snp716_A snp717_C snp718_G snp719_G snp720_A snp721_G snp722_G snp723_A snp724_C snp725_G snp726_A snp727_A snp728_G snp729_T snp730_G snp731_A snp732_G snp733_T snp734_A snp735_G snp736_G snp737_G snp738_T snp739_C snp740_A snp741_A snp742_G snp743_C snp744_C snp745_T snp746_C snp747_G snp748_A snp749_A snp750_C snp751_C snp752_A snp753_G snp754_G snp755_A snp756_T snp757_C snp758_C snp759_T snp760_C snp761_T snp762_C snp763_T snp764_G snp765_A snp766_C snp767_C snp768_C snp769_C snp770_C snp771_T snp772_T snp773_G snp774_A snp775_C snp776_C snp777_A snp778_G snp779_T snp780_C snp781_T snp782_G snp783_C snp784_A snp785_T snp786_G snp787_G snp788_C snp789_G snp790_G snp791_C snp792_T snp793_T snp794_C snp795_A snp796_T snp797_C snp798_T snp799_T snp800_T snp801_A snp802_G snp803_T snp804_T snp805_G snp806_G snp807_A snp808_G snp809_T snp810_G snp811_A snp812_C snp813_T snp814_T snp815_G snp816_A snp817_T snp818_G snp819_A snp820_C snp821_A snp822_T snp823_G snp824_C snp825_T snp826_A snp827_A snp828_G snp829_T snp830_T snp831_C snp832_A snp833_C snp834_A snp835_G snp836_G snp837_A snp838_T snp839_T snp840_C snp841_C snp842_A snp843_T snp844_G snp845_C snp846_A snp847_G snp848_G snp849_A snp850_G snp851_G snp852_G snp853_A snp854_A snp855_C snp856_A snp857_T snp858_G snp859_A snp860_G snp861_T snp862_T snp863_C snp864_G snp865_A snp866_G snp867_C snp868_T snp869_A snp870_A snp871_C snp872_A snp873_T snp874_T snp875_C snp876_T snp877_G snp878_C snp879_G snp880_G snp881_C snp882_T snp883_C snp884_G snp885_G snp886_G snp887_C snp888_C snp889_T snp890_A snp891_T snp892_G snp893_T snp894_A snp895_C snp896_G snp897_G snp898_T snp899_A snp900_C snp901_T snp902_G snp903_T snp904_T snp905_C snp906_A snp907_C snp908_T snp909_T snp910_A snp911_T snp912_G snp913_T snp914_T snp915_A snp916_T snp917_C snp918_G snp919_C snp920_G snp921_T snp922_G snp923_A snp924_C snp925_A snp926_T snp927_C snp928_G snp929_G snp930_A snp931_C snp932_T snp933_G snp934_G snp935_C snp936_A snp937_T snp938_G snp939_C snp940_C snp941_T snp942_G snp943_G snp944_T snp945_T snp946_A snp947_A snp948_A snp949_A snp950_C snp951_T snp952_G snp953_G snp954_G snp955_A snp956_T snp957_T snp958_T snp959_G snp960_T snp961_A snp962_C snp963_T snp964_A snp965_G snp966_A snp967_C snp968_T snp969_A snp970_G snp971_C snp972_G snp973_A snp974_A snp975_G snp976_T snp977_T snp978_A snp979_A snp980_A snp981_T snp982_T snp983_C snp984_G snp985_C snp986_C snp987_C snp988_C snp989_T snp990_G snp991_A snp992_T snp993_C snp994_T snp995_T snp996_G snp997_T snp998_C snp999_G 2 | per0 per0 0 0 2 1 0 1 1 1 0 2 1 0 0 1 1 1 1 1 0 1 1 1 0 1 1 2 0 NA 0 1 1 1 2 1 1 1 0 0 1 1 1 2 0 0 2 1 0 0 1 0 0 NA 2 2 1 0 1 1 2 2 1 1 1 1 2 2 1 2 0 1 1 1 0 1 2 2 2 0 1 1 1 2 1 2 2 1 0 1 0 1 1 2 2 1 2 1 0 0 0 1 0 2 2 2 2 0 NA 0 1 1 1 1 0 0 0 1 0 0 0 2 1 0 1 1 0 1 0 1 NA NA 1 1 1 0 0 1 0 1 0 2 1 0 1 1 0 1 0 1 1 0 1 1 0 1 1 2 1 2 2 0 0 2 2 0 1 1 2 1 0 0 2 2 0 1 1 2 1 0 0 1 1 0 0 2 0 0 1 1 1 2 1 0 2 2 1 1 1 1 1 1 0 0 1 0 2 1 1 0 1 1 NA 2 1 0 1 1 0 0 1 1 2 0 0 1 0 1 1 1 1 1 1 1 1 1 2 2 0 0 2 1 0 1 0 1 1 2 1 0 2 2 1 0 2 0 2 1 0 1 2 0 1 1 1 1 1 1 1 1 1 2 0 0 1 1 2 0 0 0 1 1 1 1 1 0 0 0 0 2 1 1 1 1 1 1 2 1 0 2 1 1 0 1 1 1 1 NA 1 0 2 0 1 0 1 1 2 0 1 1 1 2 0 1 1 1 1 0 1 2 1 1 0 1 2 0 0 2 1 2 2 2 0 1 0 1 2 0 1 1 2 0 0 1 1 1 2 1 2 1 2 1 2 2 1 0 1 1 1 1 1 0 1 1 0 0 1 1 0 1 1 1 0 2 1 1 0 1 0 1 1 0 1 2 1 1 1 2 1 2 0 0 1 2 0 2 1 2 1 0 1 0 1 0 2 1 1 1 1 0 1 1 1 0 1 0 1 1 2 2 0 1 1 1 0 1 1 0 2 2 0 2 2 1 2 1 1 1 0 1 1 0 1 2 0 0 1 0 1 1 2 1 2 1 2 1 2 0 1 0 2 0 2 1 2 1 1 1 1 1 2 1 1 1 0 1 1 0 1 1 2 1 2 1 2 0 0 1 2 0 1 1 1 1 1 2 1 0 0 1 1 0 0 1 1 1 1 1 0 2 1 1 2 2 2 2 1 1 2 1 1 1 1 2 1 2 0 0 1 0 2 1 0 1 1 0 1 1 2 2 0 2 2 1 0 1 1 0 1 1 2 0 1 1 0 1 2 2 2 2 0 0 0 1 0 1 1 1 0 2 1 1 0 2 1 1 0 2 0 1 1 0 2 2 2 2 0 1 1 0 0 NA 1 1 0 2 1 0 NA 1 0 0 1 1 0 2 0 0 1 1 0 1 1 1 0 2 1 0 0 0 1 0 1 1 0 NA 0 1 1 1 0 0 1 1 1 0 2 2 1 2 2 1 0 0 1 0 1 1 2 1 1 0 2 2 2 1 1 1 0 1 1 2 0 0 1 1 0 2 0 1 1 1 0 1 0 1 2 0 2 1 1 0 1 1 0 NA 0 1 0 0 1 2 1 0 2 0 1 0 0 0 1 1 NA 1 0 0 0 1 0 2 0 1 1 2 1 0 NA 1 1 1 1 0 0 0 0 2 0 0 1 1 0 0 1 0 1 2 1 0 0 1 2 2 2 2 1 0 0 0 1 1 1 0 1 0 2 0 0 2 1 2 0 2 1 1 0 0 2 1 0 1 0 2 0 0 0 2 1 2 1 1 2 1 0 0 0 1 NA 2 0 2 1 2 1 0 1 0 1 1 1 1 1 0 2 1 1 0 1 0 2 1 1 1 1 0 1 0 0 1 2 1 0 0 0 1 1 0 0 0 2 1 1 1 1 1 1 2 0 1 0 0 1 1 1 NA 1 1 1 0 1 0 0 2 1 0 0 1 1 0 0 1 1 1 1 1 1 1 1 1 0 2 2 0 1 0 0 0 1 1 1 0 1 1 1 1 1 2 1 0 0 1 0 1 0 0 1 2 1 0 0 1 1 0 2 1 2 NA 1 1 2 2 0 1 0 1 0 1 1 0 0 1 1 1 NA 1 2 2 0 1 2 2 1 2 2 1 1 0 1 1 2 1 1 2 1 0 1 2 0 1 1 2 1 1 1 1 2 0 0 1 2 2 0 1 0 0 0 1 1 1 0 2 1 1 1 0 1 0 0 1 1 1 2 0 1 1 1 2 1 1 0 2 1 1 1 0 1 NA 3 | per1 per1 0 0 2 2 1 1 1 1 NA 2 2 2 1 1 2 1 1 1 2 0 0 1 1 0 0 2 1 0 1 2 2 0 1 0 1 0 0 0 1 1 0 1 2 1 1 0 1 1 1 0 2 1 1 1 2 1 2 0 2 0 1 2 0 0 2 1 0 1 2 1 1 1 1 1 1 1 1 1 2 0 1 2 1 2 2 1 1 1 0 1 1 0 2 1 2 1 2 1 1 1 0 1 NA 1 2 0 1 1 2 0 1 1 1 1 1 2 1 0 1 1 0 0 0 0 1 2 2 1 1 1 1 0 1 1 1 0 0 2 0 1 1 1 0 1 1 0 0 2 2 1 0 0 1 1 2 1 1 2 1 1 2 1 2 2 2 1 2 1 1 1 1 1 1 1 1 2 1 1 NA 1 0 NA 2 0 0 1 0 NA 1 1 0 1 1 1 1 0 1 2 1 2 2 0 1 2 2 0 2 1 1 1 2 0 0 1 2 1 2 0 1 1 0 1 1 2 2 1 2 0 2 2 0 2 1 1 0 2 1 1 0 0 0 1 1 2 1 1 1 1 2 0 2 0 0 0 1 1 1 1 2 0 1 0 1 2 0 2 0 1 1 1 0 1 1 NA 0 1 1 1 1 0 2 0 1 1 2 0 1 1 2 0 0 0 0 2 1 2 1 0 2 1 0 0 2 2 1 1 0 0 0 0 1 1 1 1 2 1 1 0 1 1 1 1 2 1 0 0 0 2 2 0 1 0 1 1 0 1 0 2 0 1 0 1 2 1 1 0 2 2 1 0 0 2 2 0 0 1 2 NA 0 2 2 0 1 1 0 1 1 0 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 0 0 0 2 1 0 0 0 1 1 1 0 0 2 1 2 2 2 1 0 1 2 2 0 2 1 1 2 2 2 1 2 1 1 1 0 2 1 1 1 2 2 2 0 1 1 1 1 0 1 1 2 1 1 1 0 0 0 1 1 1 1 1 2 1 1 1 1 0 2 2 1 1 2 0 2 2 1 1 2 1 1 2 1 2 0 1 0 2 0 2 1 1 1 1 2 NA 1 1 1 1 1 1 NA 2 1 0 2 0 1 2 0 1 1 0 2 2 1 1 1 0 2 0 0 1 2 1 1 2 0 1 1 1 1 1 1 1 2 0 1 0 1 1 2 1 1 2 1 1 1 2 2 1 1 1 2 1 1 1 2 2 1 0 1 2 0 1 1 0 1 1 0 1 0 0 1 0 1 1 0 1 1 1 0 1 0 0 2 2 0 1 0 1 1 1 1 0 1 0 0 1 0 1 1 1 1 1 2 2 1 1 1 2 1 1 2 0 0 1 1 2 1 0 1 1 2 1 2 2 1 1 0 1 1 0 1 2 1 2 0 1 0 1 0 1 1 1 1 1 1 2 2 1 0 1 NA 1 1 1 0 1 1 1 1 2 0 0 1 1 2 1 2 1 1 1 2 2 1 0 0 1 1 NA 1 2 2 1 0 1 1 1 0 1 1 0 0 1 1 1 2 1 1 0 1 0 0 0 2 0 1 2 1 2 1 2 1 2 1 0 2 1 2 1 0 1 1 0 1 0 NA 1 2 1 2 1 2 0 1 1 0 2 1 2 1 1 1 1 2 2 1 1 2 0 2 0 0 2 0 1 0 1 1 1 1 1 2 1 1 2 1 1 1 0 0 1 0 0 0 1 0 1 2 NA 0 0 1 1 0 0 1 0 1 0 2 0 0 1 1 1 1 1 0 0 1 0 2 1 1 1 0 0 1 1 1 2 1 1 1 1 1 0 1 0 2 2 2 1 1 2 1 0 2 2 1 0 1 1 2 2 1 0 1 2 1 0 0 0 1 1 0 0 0 1 2 1 0 1 0 0 2 1 2 0 0 1 1 0 1 1 0 1 0 0 1 2 2 1 1 NA 1 2 2 1 0 2 2 2 0 1 0 2 1 1 NA 1 1 1 1 1 0 0 1 2 2 0 0 0 1 0 1 2 1 1 1 0 0 1 1 1 1 1 0 2 1 2 2 1 1 NA 0 2 1 1 1 1 0 2 0 2 2 2 1 1 0 1 0 0 0 1 1 0 2 0 0 1 1 1 0 0 1 2 1 2 1 1 1 1 1 0 1 1 1 1 0 0 2 1 1 2 1 2 1 1 0 1 1 2 1 1 0 1 0 1 1 0 1 1 1 1 0 1 1 1 0 0 0 1 1 0 1 1 1 1 1 1 1 0 1 4 | per2 per2 0 0 2 1 1 0 0 2 0 0 1 2 0 1 2 2 1 2 0 1 0 1 1 2 2 1 NA 0 1 2 2 2 2 2 0 0 2 0 0 1 1 1 1 2 0 1 1 2 0 1 1 1 0 0 1 0 2 1 1 1 0 1 1 1 0 2 1 1 0 1 0 1 1 2 1 2 NA 0 1 1 1 2 0 0 1 0 0 2 2 0 0 0 2 1 1 1 0 1 1 1 1 1 0 1 1 2 2 2 1 2 2 0 1 0 1 0 1 1 2 2 0 1 1 1 0 0 0 1 0 1 0 0 1 1 1 1 1 0 1 0 2 1 2 1 2 0 1 1 0 1 0 2 2 1 1 1 0 1 0 0 0 2 0 1 0 1 1 0 1 1 1 1 1 2 0 0 2 1 1 0 2 1 1 0 1 1 0 0 1 1 1 1 0 0 1 1 0 1 1 2 2 1 1 2 1 2 2 0 1 1 0 2 0 0 1 1 0 1 0 0 2 NA 1 1 0 0 NA 2 1 1 0 2 1 0 1 1 1 2 1 0 1 2 0 1 1 0 1 0 1 1 0 1 1 1 NA 1 1 0 2 0 1 1 2 1 1 0 1 1 2 2 1 2 0 1 2 0 0 2 1 1 1 2 0 0 2 1 1 1 1 1 1 1 1 1 1 2 1 0 2 1 1 1 1 2 2 1 1 2 1 1 1 1 0 1 1 1 1 1 0 0 1 1 1 0 1 2 1 0 1 1 2 0 1 1 1 1 NA 2 1 1 1 1 1 0 1 1 0 2 2 1 1 1 1 1 0 0 1 NA 0 2 1 1 0 0 0 1 2 1 1 2 0 2 2 1 1 0 2 0 2 0 1 1 1 0 0 1 1 1 2 1 1 1 NA 1 2 1 1 0 1 1 0 2 0 1 1 0 0 1 1 1 0 1 2 1 2 1 1 NA 1 1 1 0 1 2 2 2 1 0 1 0 1 0 2 2 1 2 2 1 2 1 1 1 1 1 2 0 0 0 2 1 0 1 0 1 1 0 0 2 1 1 2 1 1 1 1 1 0 0 1 1 1 1 0 1 0 0 0 0 1 NA 1 1 2 1 1 0 0 0 1 0 1 0 1 0 1 1 1 1 2 1 1 0 0 0 1 0 2 2 1 0 1 1 1 2 1 1 1 1 0 1 NA 2 1 1 1 1 1 0 1 1 1 2 1 2 0 1 1 2 1 1 1 1 0 2 0 1 1 1 1 2 0 1 2 0 0 1 0 1 2 2 2 0 1 0 0 0 1 2 1 0 0 0 2 1 2 0 1 0 0 0 0 1 0 1 1 0 2 1 1 0 1 0 1 2 0 0 1 0 0 2 1 1 2 1 0 1 0 2 1 0 1 1 NA 0 1 1 0 2 0 1 2 2 2 1 2 0 1 1 1 1 0 1 0 1 0 2 1 1 1 0 NA 0 1 2 0 2 1 2 0 2 1 1 1 1 1 0 0 0 1 1 2 1 0 2 0 1 0 1 1 1 0 1 2 1 1 2 0 1 1 1 1 0 1 1 1 1 1 2 1 1 2 1 1 0 0 1 0 1 0 2 2 1 0 2 NA 0 0 1 0 0 0 0 0 1 1 2 NA 0 0 1 1 1 2 1 1 0 1 1 1 1 1 0 1 2 1 2 1 1 2 1 NA 1 1 2 0 2 0 2 0 1 1 1 NA 2 1 0 2 1 1 1 0 2 0 2 0 2 0 1 2 0 2 0 0 2 NA 1 0 0 2 1 1 1 2 1 1 1 0 1 0 0 0 0 1 1 2 2 0 1 0 0 1 1 1 1 1 1 0 2 1 0 1 0 2 1 1 1 2 0 0 2 1 0 1 0 0 1 1 0 0 1 1 1 1 0 0 0 2 1 0 1 2 1 1 1 1 0 0 0 1 1 0 1 0 2 2 2 1 1 0 1 1 1 0 1 2 0 1 1 2 0 1 0 1 2 0 2 1 1 2 0 1 2 2 2 0 1 0 0 1 1 1 1 NA 0 1 0 0 1 1 0 1 1 1 1 1 2 0 2 2 1 0 1 2 0 2 0 0 1 2 1 1 2 1 1 1 2 0 1 0 0 1 2 1 0 1 2 2 0 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 0 1 0 2 0 1 0 1 0 0 1 1 2 1 0 1 1 2 2 1 0 1 0 1 0 0 2 0 1 1 1 0 2 2 0 1 2 1 2 0 1 1 1 2 1 0 1 0 2 0 2 5 | per3 per3 0 0 2 1 2 0 0 0 1 0 2 1 1 2 2 0 1 1 1 2 1 0 2 2 2 0 1 2 1 0 0 0 1 1 1 1 0 1 1 0 1 1 1 2 0 2 2 1 0 0 0 1 2 0 1 0 1 2 0 1 1 0 1 2 0 0 2 0 1 1 0 1 0 1 1 1 0 0 1 NA 1 1 1 1 2 0 1 2 0 1 0 2 0 0 1 2 1 1 2 0 2 2 1 0 1 1 2 0 2 2 2 0 0 1 2 1 1 2 1 1 2 1 0 0 1 1 1 0 0 0 1 0 1 1 1 2 1 0 1 1 1 1 2 2 1 0 1 1 0 0 2 1 1 0 2 1 1 0 1 1 1 NA 0 1 0 0 1 1 2 2 2 0 1 1 0 2 0 1 0 2 1 0 1 1 1 0 0 1 1 2 0 0 2 0 0 1 0 2 2 0 1 0 2 0 0 1 1 1 0 2 1 1 2 0 2 1 1 0 2 0 1 2 2 1 1 0 0 1 1 0 0 NA 1 0 1 2 1 0 1 0 1 1 1 1 0 2 0 1 0 2 1 1 0 1 2 1 1 2 0 2 1 1 NA 1 1 0 1 1 1 1 2 1 0 2 1 1 2 1 2 1 0 1 0 0 1 1 1 0 0 1 1 1 1 1 1 1 0 0 1 0 1 2 1 2 1 2 0 1 1 0 1 0 1 0 1 0 2 0 1 0 NA 2 2 1 1 1 NA 1 0 1 1 1 2 0 0 0 1 2 1 1 1 1 1 1 1 1 0 1 2 2 1 1 1 2 1 0 0 0 0 1 0 1 1 0 0 0 NA 0 1 2 2 1 2 0 0 2 1 2 1 1 2 2 2 2 1 0 1 0 0 0 1 1 2 1 2 2 1 1 2 1 2 2 0 1 1 0 1 1 0 1 2 0 1 1 0 0 1 0 1 1 0 1 1 0 0 1 1 1 1 0 1 1 2 2 0 0 1 2 1 NA 2 1 1 0 2 1 1 0 1 1 2 0 0 0 0 1 1 2 0 2 1 0 2 0 2 0 1 1 0 0 1 1 2 0 1 2 0 1 0 1 1 1 1 2 2 1 0 0 1 0 1 1 0 1 2 1 0 0 1 1 1 2 1 2 1 0 2 0 1 1 0 0 1 0 1 2 1 1 1 0 0 2 1 0 1 1 0 1 1 1 0 0 2 1 1 1 2 1 1 1 1 0 0 0 2 1 1 1 1 1 0 2 0 0 0 0 2 0 0 0 1 1 1 1 1 2 1 2 1 0 1 1 2 1 0 0 1 1 1 0 NA 1 1 2 1 NA 2 2 2 1 0 1 1 1 2 1 1 1 0 0 1 1 1 2 1 0 2 1 2 1 1 2 1 2 0 0 1 1 2 1 2 0 0 0 1 1 1 0 0 0 2 0 2 1 2 2 1 1 0 NA 0 0 1 0 1 2 0 0 0 1 0 1 1 1 2 0 NA 0 NA 0 0 1 0 2 1 1 0 0 1 1 1 0 0 0 1 1 0 1 1 2 1 2 2 1 1 1 0 1 1 0 0 0 0 1 1 0 2 1 1 2 1 2 NA 1 1 1 0 1 0 0 0 2 2 NA 0 2 0 1 1 0 1 1 1 1 1 0 0 2 1 2 1 0 1 0 0 0 0 2 0 1 2 1 0 0 0 2 1 1 0 0 2 1 1 1 1 1 1 2 2 2 0 0 2 1 0 2 1 NA 0 2 2 1 1 0 1 1 2 2 1 0 2 1 2 1 0 0 NA 1 1 1 1 0 0 0 0 0 1 0 2 1 1 1 1 1 0 0 0 1 1 1 NA 1 1 0 1 1 1 2 0 2 1 NA 1 0 1 1 1 1 NA 1 1 1 2 2 2 0 0 0 2 1 NA 2 1 0 1 1 2 1 1 1 0 1 1 2 1 0 1 2 1 2 0 0 1 1 0 1 0 0 2 NA 0 1 2 1 1 1 1 1 1 1 1 1 0 0 1 0 1 1 2 0 0 2 1 1 0 1 2 1 2 2 1 1 1 1 1 0 1 1 0 1 1 1 1 1 0 1 2 2 1 1 1 1 1 0 0 0 0 2 1 1 1 1 1 0 0 1 1 1 1 0 0 1 2 0 1 0 2 0 1 1 2 1 1 1 1 0 0 0 1 0 0 0 2 1 1 1 0 1 1 1 0 2 1 1 1 0 1 0 1 1 0 0 0 1 2 1 1 1 1 1 2 1 1 0 2 2 NA 2 2 1 1 1 1 0 6 | per4 per4 0 0 2 2 0 1 0 0 0 1 1 0 1 0 1 0 1 1 0 1 2 2 1 2 1 0 2 0 1 0 0 1 2 2 1 0 2 2 0 0 1 0 1 1 0 0 2 1 1 1 1 0 2 0 0 1 1 2 2 1 1 2 2 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 2 0 1 0 2 1 1 0 2 1 0 2 1 2 2 1 1 1 2 1 2 0 1 1 2 1 2 2 0 0 1 0 2 0 1 1 1 2 1 0 1 1 1 1 1 2 NA NA 1 1 1 1 1 1 1 1 2 2 1 2 1 0 0 0 1 1 2 1 1 1 1 1 1 1 0 0 2 0 1 0 1 0 0 0 1 1 0 2 0 2 1 1 1 2 2 1 0 0 1 0 1 1 0 1 0 1 1 2 1 1 2 2 2 2 0 2 1 1 1 0 0 1 0 0 1 1 2 0 1 1 2 1 1 2 1 0 2 0 NA 0 1 1 2 1 1 0 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 2 1 1 1 1 0 1 0 1 1 2 2 1 1 2 0 0 1 0 1 1 1 1 1 1 1 2 1 1 2 0 1 1 1 1 0 0 0 1 0 1 0 1 2 0 0 0 1 1 2 1 1 1 0 0 1 1 2 1 0 1 1 1 1 1 0 0 1 1 1 0 0 1 1 2 0 0 1 0 0 2 0 1 1 0 1 0 0 0 1 2 1 1 2 0 1 0 1 1 1 0 1 2 2 1 2 0 0 NA 1 0 2 1 1 2 1 0 2 1 1 2 1 NA 2 1 1 0 1 1 0 0 0 2 2 0 1 0 1 1 1 1 0 1 2 2 2 1 1 1 2 1 1 0 1 2 0 1 2 1 0 1 1 1 NA 1 2 2 0 2 0 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 0 1 1 1 0 2 2 0 1 1 1 0 0 1 1 2 0 2 2 0 2 1 0 1 1 0 1 0 0 1 1 1 2 1 1 0 1 0 2 1 1 1 1 2 1 1 1 1 1 1 2 0 1 0 1 0 1 1 1 2 1 1 0 0 1 0 0 1 1 2 1 1 1 0 2 0 1 1 1 1 2 1 0 2 0 2 1 2 0 0 0 2 1 0 0 1 1 1 1 1 1 0 1 0 0 1 1 1 0 1 0 0 1 2 1 0 1 1 1 0 0 1 2 1 1 1 1 2 0 1 1 1 2 1 2 0 0 2 1 0 0 0 1 1 0 1 1 1 1 1 0 1 0 1 1 1 2 0 0 0 0 1 0 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 1 2 1 1 2 2 1 0 1 0 1 1 1 1 1 2 0 2 1 2 1 NA 1 2 0 1 1 1 2 1 0 1 0 0 1 NA 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 0 0 2 0 1 1 2 1 0 2 1 0 0 1 1 2 0 2 0 1 0 1 2 1 0 1 0 1 2 1 1 0 1 1 1 1 0 0 1 1 0 0 0 2 0 1 2 2 0 0 0 1 1 1 2 1 1 1 1 1 0 0 2 1 1 2 1 1 2 0 1 0 2 1 2 1 2 1 0 0 2 0 2 0 2 0 2 1 1 1 1 0 0 0 2 1 2 1 0 0 1 2 0 1 0 2 2 2 1 0 2 0 1 1 0 1 1 1 0 1 1 2 1 0 1 0 0 1 1 1 1 0 0 0 1 0 1 0 0 2 1 2 1 1 2 2 1 0 1 1 1 0 0 2 1 2 2 1 1 1 2 1 1 0 1 2 1 1 1 1 1 1 0 2 2 0 1 2 1 1 1 NA 2 0 1 0 1 2 1 2 1 0 0 0 2 0 2 1 1 2 0 1 1 1 0 0 1 2 1 0 1 NA 0 1 0 1 1 1 1 0 0 2 1 1 0 1 1 1 1 0 1 1 0 1 1 1 1 1 2 1 0 0 1 0 2 1 2 1 1 1 1 2 2 1 1 1 1 1 1 2 0 1 2 1 0 0 1 1 2 0 NA 0 1 NA 0 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1 1 1 2 2 1 1 1 1 0 1 1 0 1 1 1 2 0 1 1 0 0 2 1 0 2 0 1 2 2 0 1 1 1 2 2 1 1 0 2 0 2 1 1 2 0 2 1 1 NA 1 0 1 1 0 1 1 1 7 | per5 per5 0 0 2 1 1 1 1 0 0 0 0 2 1 1 2 1 0 1 2 1 1 1 1 1 0 1 1 0 1 2 2 1 1 1 1 2 1 1 0 2 2 1 1 1 1 2 0 1 1 1 1 0 1 1 2 1 1 1 1 2 1 0 1 1 1 0 0 1 1 0 1 1 0 1 0 2 1 1 2 1 2 1 0 1 1 0 0 1 1 1 2 0 0 0 0 1 2 1 0 1 1 0 2 2 0 0 2 2 1 0 2 2 1 2 1 1 1 0 1 1 0 2 1 2 1 2 2 0 0 1 0 1 2 0 1 2 1 1 1 1 0 1 1 0 2 1 2 0 1 1 1 2 1 1 0 2 0 0 1 2 0 0 1 2 1 0 1 0 1 2 1 1 1 1 0 2 0 1 2 1 2 1 0 2 0 2 2 0 1 1 2 1 1 1 2 NA 1 1 2 1 2 1 0 0 0 1 0 2 1 0 0 1 1 1 1 2 NA 1 0 1 2 1 1 2 NA 0 1 1 1 2 1 1 1 2 1 1 1 1 0 NA 1 0 1 0 0 1 2 1 2 1 0 1 1 1 2 1 0 0 0 0 2 2 2 1 NA 0 2 1 0 0 1 0 0 2 1 NA 1 1 1 1 2 2 2 1 1 2 1 NA 0 2 1 2 2 2 1 0 1 1 1 2 1 1 1 0 1 0 1 1 0 2 1 0 0 1 1 1 1 1 1 0 1 1 0 1 1 1 0 0 0 1 0 0 2 1 0 1 1 1 1 0 0 1 0 2 1 1 1 2 0 1 1 2 1 1 1 0 NA 0 1 0 0 1 1 0 1 2 1 2 0 0 2 2 1 1 0 1 1 0 1 0 1 1 1 0 1 2 1 0 2 1 0 2 1 1 1 1 1 0 0 1 2 1 NA 1 1 2 2 1 2 1 2 1 1 2 0 2 1 1 1 2 2 2 1 0 1 1 0 1 1 0 1 1 1 1 1 1 0 0 1 1 0 0 1 1 2 1 1 1 0 1 1 1 2 2 2 1 1 2 NA 0 2 2 1 2 0 1 1 1 1 1 1 2 2 0 1 1 1 2 0 0 1 1 1 1 2 2 1 1 1 1 1 1 1 0 0 1 1 1 0 1 1 0 1 1 2 2 2 0 1 0 2 2 1 2 1 2 1 2 1 1 1 0 2 1 0 0 0 2 1 0 1 1 2 0 0 0 0 0 0 0 1 1 1 1 0 2 0 1 0 1 0 2 0 0 1 1 2 0 1 0 1 2 1 1 1 0 0 2 0 1 1 1 1 0 1 0 2 2 0 0 NA 1 2 1 1 1 2 1 2 NA 1 0 1 1 1 2 1 2 2 1 0 1 1 1 2 0 1 0 0 0 1 1 1 1 1 0 1 2 0 2 1 2 1 2 2 1 1 0 1 2 2 0 2 0 0 1 0 0 2 2 2 1 0 0 1 1 1 1 1 1 2 1 1 0 0 1 2 1 1 2 1 2 NA 2 2 1 2 1 1 0 1 1 1 1 1 1 1 NA 1 1 2 1 0 1 1 1 1 0 2 1 0 2 2 0 2 1 1 0 2 0 0 0 1 1 2 0 0 1 2 1 2 0 2 1 2 0 1 2 1 1 2 1 2 0 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 2 0 0 1 2 1 1 2 0 2 1 2 0 2 1 2 0 1 1 1 1 2 1 1 0 1 1 2 0 0 2 1 1 0 1 2 2 1 1 NA 1 0 1 1 2 2 1 1 0 1 2 2 2 1 1 2 0 0 2 2 0 1 0 2 2 0 1 1 0 2 2 0 0 0 2 0 1 0 1 0 1 2 2 1 0 2 2 1 2 2 1 0 1 2 2 1 2 1 1 0 1 2 2 0 2 1 1 0 0 0 0 1 1 0 1 1 1 1 2 1 1 0 2 2 0 1 2 0 NA 0 0 1 2 1 1 1 1 1 0 1 1 0 2 2 0 0 1 1 2 0 1 1 0 1 0 0 0 1 1 1 2 1 0 1 0 1 1 1 2 0 1 0 0 0 2 2 1 2 1 0 2 1 2 0 0 2 0 2 0 1 1 0 0 0 1 1 2 1 2 1 2 NA 1 0 0 1 1 1 1 1 2 0 1 1 1 1 0 0 1 1 0 1 0 2 2 0 0 1 1 1 1 1 0 1 2 2 1 1 0 1 0 1 1 1 0 0 1 1 2 0 1 1 1 1 2 0 NA 0 0 0 1 0 2 0 2 8 | per6 per6 0 0 2 1 1 0 2 0 NA 0 1 2 NA 0 1 0 1 1 2 2 1 2 0 0 1 0 1 1 1 1 2 1 2 1 NA 2 1 1 1 1 1 1 1 1 1 1 1 2 0 2 1 0 2 0 1 2 1 2 1 0 1 2 1 2 0 1 1 1 1 0 2 1 2 NA 0 2 1 1 2 2 1 1 1 1 1 NA 1 0 2 0 1 1 2 1 0 0 0 2 1 2 0 1 1 0 0 2 2 0 1 0 2 1 2 0 1 1 NA 0 0 1 2 1 0 2 1 1 2 0 2 1 1 0 0 NA 1 2 2 1 1 1 2 1 1 1 2 1 0 2 0 1 NA 0 2 0 1 0 2 2 1 1 0 1 1 0 1 1 2 1 2 0 1 2 0 2 0 0 0 0 0 2 1 1 0 1 2 0 0 2 1 1 2 1 2 NA 0 1 2 1 1 2 1 1 2 1 0 0 1 2 0 2 1 0 0 1 1 1 1 1 1 1 2 1 1 2 2 1 2 1 1 1 1 0 1 0 0 1 2 1 2 2 2 1 0 1 2 1 2 1 1 0 1 1 2 2 1 1 1 0 1 1 1 1 1 2 2 1 1 1 1 0 1 1 2 1 1 0 0 0 1 1 0 1 1 1 2 2 2 1 1 0 1 1 1 1 1 2 0 2 1 1 1 0 0 0 1 0 1 1 2 2 1 2 1 1 2 1 1 0 2 0 1 1 0 1 2 1 1 2 1 1 2 1 2 NA 1 1 1 2 0 0 0 1 1 1 0 0 1 0 2 2 1 1 2 1 1 1 2 1 0 1 0 1 1 0 1 2 0 0 1 1 1 1 0 1 1 2 0 2 1 1 1 0 1 1 2 0 0 0 0 1 1 0 2 1 2 1 2 0 1 0 2 2 1 1 1 1 1 2 1 1 1 0 0 NA 1 1 1 1 2 2 1 1 0 0 0 2 2 0 1 0 1 0 2 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 2 1 0 0 1 1 1 1 1 1 1 0 1 0 1 0 0 0 0 1 0 1 1 1 0 0 1 2 1 2 0 1 1 1 2 NA 2 2 1 2 1 0 2 0 1 0 0 2 1 0 1 2 0 0 0 1 1 1 2 1 1 0 1 2 0 2 0 0 NA 1 1 1 1 1 1 1 2 1 1 1 1 0 1 2 2 1 1 1 2 0 1 1 1 NA 2 0 1 1 1 2 0 1 0 2 1 2 0 1 2 2 2 1 0 1 0 0 1 1 1 1 1 0 1 1 2 0 0 0 0 NA 2 2 0 1 1 0 2 2 0 0 1 0 2 2 1 0 0 1 2 0 1 0 0 1 2 2 0 2 NA 2 0 0 1 1 0 1 0 1 2 0 1 2 1 1 0 0 0 0 1 2 1 1 1 0 1 1 2 1 0 0 2 2 1 0 2 2 1 2 0 1 NA 1 0 0 2 1 1 1 2 1 1 1 2 1 1 1 1 2 0 1 2 0 1 1 1 0 1 2 1 1 2 0 1 0 1 2 1 1 1 0 1 1 2 1 2 1 0 0 1 1 1 1 1 2 1 0 1 0 1 1 1 0 1 1 1 1 2 0 1 2 0 2 2 1 1 1 0 1 2 1 1 1 2 0 0 1 0 1 0 1 1 0 2 1 0 2 0 1 1 2 2 0 0 2 1 1 1 0 1 0 1 0 0 1 2 0 1 1 1 0 0 1 1 NA 1 0 2 1 0 1 1 2 1 0 1 1 1 1 1 1 2 1 0 1 0 1 1 1 0 2 1 1 0 2 0 1 1 0 0 1 1 2 0 2 2 0 2 1 1 1 0 1 0 0 1 1 1 0 2 1 1 2 1 2 1 1 1 0 0 1 0 1 NA NA 0 0 2 1 1 1 2 2 2 1 2 1 0 0 1 0 1 1 2 0 1 NA 2 1 1 0 2 1 1 0 0 NA 0 0 1 2 1 1 2 0 1 2 0 2 2 1 2 1 2 1 2 2 0 1 1 1 2 2 2 1 2 0 0 0 1 0 0 1 1 1 2 1 1 0 1 1 0 2 1 0 1 1 1 1 0 1 1 1 0 0 1 0 1 0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 NA 1 0 2 2 1 1 0 1 1 0 1 0 1 2 0 0 1 1 1 0 1 1 1 1 1 2 2 0 0 1 1 0 2 1 2 1 0 2 1 0 0 1 1 9 | per7 per7 0 0 2 2 1 2 2 0 1 2 1 0 2 0 0 1 1 1 0 0 2 1 2 1 0 2 2 1 NA 1 1 1 1 2 1 1 1 2 2 1 0 1 2 0 0 1 0 1 1 1 0 2 2 0 1 1 0 0 0 0 1 2 2 1 0 1 2 1 1 2 0 0 0 1 1 1 1 0 0 NA 2 1 1 0 0 2 1 1 0 1 0 0 0 1 2 0 1 0 1 1 1 1 1 0 2 1 1 1 1 1 0 2 2 1 0 0 2 0 1 0 1 1 2 1 0 1 1 1 2 1 0 2 2 1 1 1 1 1 1 2 0 1 2 0 1 0 2 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 0 2 1 2 0 0 1 1 0 1 0 0 0 0 1 0 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 2 0 0 1 0 1 1 1 1 1 0 2 NA 2 NA 1 1 1 0 1 2 0 1 0 1 2 2 1 0 0 1 0 1 1 1 1 0 0 1 NA 2 2 1 1 1 0 0 2 1 1 1 2 NA 1 2 2 1 2 1 0 2 1 1 0 1 0 0 1 1 0 2 0 1 1 1 1 1 1 0 1 0 1 2 2 0 0 0 2 0 0 2 2 1 1 1 2 1 1 2 2 1 1 0 0 0 1 0 1 1 0 0 0 0 0 0 1 1 1 1 2 1 0 2 1 1 0 0 1 1 1 0 0 0 1 0 0 2 2 1 1 0 0 0 0 1 0 0 0 2 1 1 0 1 1 2 0 1 1 1 0 2 0 1 2 2 0 1 1 1 2 1 2 0 1 1 2 0 1 1 1 1 0 1 1 1 1 1 2 1 1 1 0 0 0 0 1 0 0 1 1 0 1 1 0 2 2 0 2 0 1 1 1 NA 1 1 1 1 2 0 2 0 1 1 1 2 0 1 1 1 1 0 1 1 0 2 1 1 0 1 1 2 1 1 2 0 2 0 1 2 0 2 1 1 2 1 1 2 0 1 0 1 2 1 2 1 1 1 0 1 0 1 1 1 2 0 2 1 1 1 1 0 2 1 0 1 1 1 0 1 1 1 2 1 1 1 0 1 1 2 1 1 1 0 1 1 0 1 0 0 1 0 2 1 1 1 0 0 0 1 0 0 0 1 0 2 2 2 1 1 0 0 2 0 0 2 2 2 1 1 1 2 1 1 1 0 0 1 1 1 1 0 1 2 2 2 1 0 2 2 2 0 1 0 1 0 0 2 1 1 1 NA 1 2 0 0 1 1 1 1 NA 2 1 0 0 1 2 1 2 2 1 0 0 2 1 0 2 0 1 1 0 2 1 0 1 1 1 0 1 1 1 1 1 1 1 0 0 0 2 0 2 0 1 1 0 2 1 0 2 2 1 1 1 0 0 1 1 2 2 0 0 2 0 0 2 1 2 1 1 1 0 1 1 0 1 1 1 1 1 2 0 0 NA 1 0 NA 1 1 2 1 1 1 0 1 0 2 1 2 1 0 1 1 0 0 1 1 0 0 1 1 0 2 0 1 1 2 1 0 1 2 2 1 1 0 1 0 0 1 1 2 2 2 1 1 0 1 1 2 1 1 1 2 0 0 0 1 1 NA 1 2 2 0 2 1 1 1 1 0 0 2 1 0 1 1 2 1 0 0 0 1 2 0 1 1 0 0 2 2 2 0 1 1 1 2 1 1 0 0 0 0 2 1 1 1 1 0 2 0 2 1 1 1 0 1 1 0 0 2 1 0 2 1 2 2 0 1 2 1 1 0 1 2 0 1 1 1 1 0 1 1 0 2 1 1 1 2 2 1 2 0 2 0 0 2 1 2 1 1 1 1 1 1 1 0 1 0 0 1 1 1 1 1 0 1 1 1 0 2 0 1 1 1 1 0 0 1 2 2 1 2 1 2 0 0 0 2 1 0 1 0 0 2 1 2 1 2 0 2 1 1 2 2 1 0 1 2 1 1 1 0 2 0 0 0 0 1 1 1 1 NA 0 1 0 2 1 1 2 0 1 1 2 0 1 0 0 1 2 1 1 0 1 1 1 0 2 0 1 2 1 1 1 1 1 1 2 1 1 1 1 1 0 2 0 1 1 0 1 1 0 0 0 1 1 0 1 1 0 1 2 0 2 1 1 1 2 0 1 1 NA 0 2 1 1 2 1 1 0 1 0 1 0 0 1 0 1 2 1 0 1 1 1 1 2 0 0 2 0 2 1 1 0 1 1 1 2 NA 1 0 1 0 1 2 10 | per8 per8 0 0 2 2 1 1 0 1 0 1 1 1 0 1 1 1 0 1 2 2 2 1 2 2 0 1 1 2 1 1 0 0 1 1 1 0 1 1 0 1 1 1 0 2 2 2 1 0 0 0 2 1 1 0 1 2 1 0 1 1 0 1 1 2 2 1 1 1 1 1 1 2 2 1 0 0 0 1 1 2 2 2 0 2 2 1 1 1 0 1 1 0 1 0 0 1 1 2 0 1 1 0 2 1 0 0 1 1 1 1 2 1 1 1 1 1 1 1 0 0 2 0 0 0 1 1 0 0 1 0 1 2 2 0 0 0 1 2 1 NA 1 1 1 1 0 1 1 0 2 0 2 1 0 1 2 2 0 1 1 2 NA 1 1 2 1 0 1 1 1 1 0 1 2 2 0 1 1 2 1 0 0 1 2 0 1 2 2 0 1 1 2 1 1 1 0 0 1 2 1 0 0 2 2 1 2 1 1 1 1 0 0 0 1 0 1 2 1 0 0 0 0 1 1 1 2 1 1 1 0 1 1 1 1 0 0 2 1 0 2 2 1 1 0 1 1 1 2 1 1 2 0 1 2 0 2 2 2 0 0 1 2 0 2 1 1 1 0 0 1 1 0 NA 2 0 0 1 0 0 1 2 1 1 2 1 0 0 1 1 1 0 0 2 1 1 1 1 2 1 2 1 0 0 1 1 2 1 1 0 1 0 1 1 1 1 0 0 0 1 2 1 0 1 1 1 0 1 1 2 1 1 0 2 2 1 2 1 1 2 1 1 1 0 0 0 1 1 2 0 0 1 1 1 0 1 1 1 1 0 1 1 2 0 0 1 1 2 1 1 1 0 0 0 1 1 0 0 0 1 1 2 2 2 NA 1 2 1 1 0 0 2 2 0 0 1 0 1 1 1 2 1 2 1 1 1 1 0 2 1 NA 1 1 2 1 0 1 1 2 0 1 1 0 1 0 1 1 0 NA 1 1 1 1 1 1 0 2 2 1 0 2 1 0 1 1 0 1 1 1 1 2 0 1 1 1 1 1 1 1 1 0 1 1 0 0 1 1 1 1 1 0 2 1 0 1 1 1 1 1 1 2 0 0 1 1 1 2 0 1 1 1 2 1 0 0 0 2 1 0 1 0 1 0 0 1 0 2 1 1 0 2 0 1 2 0 1 2 2 0 1 1 1 2 2 1 1 0 1 1 0 1 1 2 2 2 1 2 2 1 1 1 1 2 1 0 0 1 NA 0 0 1 0 0 NA 1 2 1 1 2 2 2 0 0 2 0 0 0 1 1 2 2 1 1 2 1 1 1 1 0 1 1 0 1 1 2 NA 1 1 NA 1 NA 2 1 2 1 1 1 1 1 1 0 2 1 1 1 1 2 1 0 1 1 1 1 0 1 0 1 0 2 0 1 1 1 2 2 2 0 1 0 2 0 0 1 1 1 NA 2 0 2 1 2 1 2 1 1 0 0 0 2 0 NA 1 1 1 1 1 1 NA 2 1 NA 0 2 0 1 1 0 0 1 1 2 1 1 1 0 0 2 2 0 2 2 0 1 0 1 2 1 0 0 2 0 1 1 0 0 2 1 1 2 1 1 2 1 1 1 1 2 0 1 1 1 0 1 1 1 0 2 2 1 1 1 0 1 1 2 2 1 1 1 0 0 2 NA 0 1 0 1 2 1 1 1 1 1 1 1 1 0 1 0 1 2 NA 0 1 0 0 0 2 0 2 1 1 0 0 1 0 0 0 1 1 0 0 2 1 1 1 2 0 2 2 1 0 2 1 NA NA 1 1 2 0 1 0 0 1 2 1 1 0 0 1 2 0 0 0 1 1 0 1 0 1 0 2 1 1 2 1 0 1 2 2 0 0 NA 2 0 2 2 1 1 1 1 2 1 1 0 0 2 0 1 0 1 0 1 2 1 1 0 1 2 1 1 1 1 2 2 0 0 1 0 2 1 1 1 1 1 0 2 0 2 1 NA 0 0 2 1 0 1 1 2 1 1 1 1 2 0 0 1 2 2 0 0 0 1 1 1 1 0 NA 1 1 2 1 1 0 2 2 1 1 0 1 2 1 2 2 1 2 1 0 0 1 0 0 0 1 1 0 1 0 0 2 0 1 1 1 1 0 1 1 2 0 2 2 1 2 2 1 2 1 0 2 1 0 1 1 1 0 1 1 0 1 2 1 1 1 0 2 1 0 2 1 1 2 0 1 0 1 1 1 0 NA 2 2 0 0 1 1 0 1 1 0 0 1 1 2 2 0 2 0 1 0 0 1 2 1 0 1 11 | per9 per9 0 0 2 1 1 2 1 1 2 0 1 1 0 1 1 2 1 1 0 1 2 1 0 1 1 2 1 NA 1 0 0 2 0 1 2 0 2 1 2 0 1 1 0 2 2 1 0 0 NA 1 2 NA 0 0 1 1 1 0 0 0 0 0 1 0 1 2 0 0 2 0 1 1 2 2 1 0 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 0 1 0 1 0 1 2 1 0 2 2 2 0 1 2 0 2 0 0 0 0 0 1 0 1 2 1 1 0 1 1 2 0 1 2 0 1 2 1 0 1 1 1 0 0 0 0 1 0 2 1 1 2 0 1 2 0 0 1 0 2 1 0 1 0 1 1 1 1 0 2 1 0 2 1 2 NA 1 2 1 2 0 0 1 2 1 1 NA 0 1 0 2 1 2 2 1 2 1 0 1 1 0 0 0 1 1 0 2 0 2 0 1 2 1 0 0 2 2 2 1 0 0 0 1 1 0 1 2 1 2 0 1 1 1 2 0 2 1 NA 2 1 2 0 1 0 0 1 1 1 1 0 1 2 1 1 2 0 1 1 1 1 0 0 0 1 1 0 1 1 0 1 1 2 0 2 NA 2 1 1 0 1 1 1 NA 2 1 1 1 2 1 2 0 1 1 0 1 2 1 1 1 2 0 2 0 1 0 1 1 1 2 0 1 1 0 2 0 1 1 1 1 0 0 2 2 1 1 2 0 1 1 0 1 0 1 0 1 2 2 0 1 0 1 2 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 0 2 2 0 0 1 NA 1 1 1 1 2 1 0 1 2 1 NA 1 0 1 2 1 1 2 1 NA 1 2 1 2 NA 0 2 1 1 0 2 1 0 1 2 1 0 1 2 0 1 1 0 1 2 0 1 0 1 0 1 2 1 NA 1 2 2 1 2 1 1 1 0 1 0 1 1 0 1 1 1 0 1 1 1 1 2 1 1 0 2 1 1 1 1 1 1 0 2 1 1 0 2 1 1 1 0 NA 1 0 1 0 2 0 0 1 1 1 2 1 1 0 2 0 1 0 2 0 1 1 0 2 1 1 0 0 0 1 1 0 0 2 2 1 2 0 0 0 0 2 0 1 1 1 2 1 0 1 1 0 NA 1 1 0 0 2 1 0 2 1 1 0 0 2 0 1 0 2 0 1 1 1 1 1 0 1 2 0 2 0 0 1 1 2 0 1 0 1 1 1 0 1 1 1 2 0 1 2 2 0 1 0 1 2 1 1 0 0 1 2 1 2 1 0 0 1 1 0 0 NA 0 1 1 2 0 0 2 1 NA 0 1 1 0 1 0 1 1 0 1 1 NA 0 0 1 1 0 2 1 2 2 1 0 1 1 0 1 0 1 1 1 0 2 1 0 1 1 2 0 1 1 1 1 1 0 1 2 1 2 2 1 2 1 NA 1 1 2 1 1 0 1 1 0 NA 1 0 0 2 1 0 1 0 1 0 0 2 2 1 2 0 1 1 2 2 1 1 0 2 2 1 1 0 1 2 0 2 2 1 1 1 1 1 0 0 1 1 2 1 1 1 0 0 2 1 1 1 NA 0 1 1 2 1 1 2 0 0 2 2 2 2 1 1 2 2 0 2 0 0 0 2 1 1 NA 1 0 1 2 1 1 2 2 1 1 2 2 2 1 0 2 2 1 1 1 1 NA 2 1 1 2 1 2 1 2 0 1 0 1 2 1 0 1 0 NA 2 1 0 1 0 2 1 1 1 NA 2 2 1 NA 0 0 2 1 0 1 0 1 1 1 1 1 1 0 1 0 2 1 1 2 1 2 1 1 1 1 2 1 0 1 1 0 0 2 2 2 2 0 0 0 1 1 0 1 1 0 1 2 2 0 1 1 2 2 0 1 1 1 1 1 0 1 1 0 1 2 1 2 1 0 0 0 2 0 2 0 1 1 1 0 1 2 2 1 1 1 1 0 0 2 0 1 2 0 0 1 2 1 2 2 2 1 0 1 0 1 1 0 2 2 1 0 0 1 1 2 1 1 0 2 0 2 2 0 1 1 0 1 0 1 1 2 1 0 2 0 2 1 1 NA 0 1 1 1 2 1 1 2 1 2 0 1 1 NA 1 2 1 2 1 2 2 1 0 1 0 1 NA 2 2 0 0 1 1 1 0 1 NA 1 1 2 2 NA 0 2 2 1 0 1 NA 2 1 2 2 1 2 1 0 1 0 1 2 2 2 1 1 1 1 0 0 2 1 0 1 1 1 1 2 1 NA 12 | per10 per10 0 0 2 1 2 1 1 0 1 0 1 0 2 0 1 0 0 1 NA 1 2 0 NA 0 1 0 1 1 1 1 1 2 1 2 0 0 0 1 1 2 1 0 2 1 1 NA 1 1 1 1 2 0 1 1 1 1 0 2 0 1 1 0 1 0 1 1 1 2 0 1 1 0 1 1 1 1 NA 1 0 1 1 0 2 1 2 0 2 1 1 2 1 1 1 1 NA 1 2 0 2 1 1 2 1 0 1 1 1 1 2 1 1 0 2 1 1 1 1 1 1 2 0 1 1 1 2 2 NA 1 1 1 1 2 NA 1 1 1 0 1 1 0 0 0 1 2 0 2 1 2 1 0 1 1 2 2 2 0 1 NA 1 0 0 2 0 0 1 0 1 0 1 1 1 1 0 1 2 0 2 1 0 1 1 0 1 1 2 1 0 2 1 1 0 2 0 1 1 1 2 0 0 1 1 1 1 2 2 1 NA 0 0 0 0 1 2 1 1 1 2 2 1 0 1 1 1 0 0 1 1 1 1 0 0 1 2 1 1 2 0 1 2 0 1 0 1 0 2 1 2 2 1 1 1 1 2 1 0 1 1 2 1 1 1 1 1 0 0 2 0 1 1 1 0 1 0 1 2 1 1 1 0 2 2 1 1 2 0 1 2 0 0 1 2 1 1 1 1 0 2 1 1 2 1 0 0 0 1 0 0 2 0 1 1 2 0 2 1 1 2 1 1 0 1 0 2 1 1 2 1 1 2 0 1 0 2 1 1 0 2 0 2 1 1 0 1 1 0 2 1 2 0 1 1 1 0 0 1 2 1 0 1 1 1 2 0 1 1 1 1 1 1 1 0 1 2 1 0 1 0 1 1 1 NA 1 1 1 0 NA 1 0 0 2 1 1 1 0 0 1 2 1 2 1 2 1 0 0 1 0 1 0 1 1 1 0 1 0 1 1 1 1 0 1 0 1 2 1 2 2 2 2 0 0 2 1 1 1 0 1 2 1 1 1 1 0 1 1 1 1 2 2 1 0 2 1 1 1 1 1 1 1 0 0 1 1 1 1 0 1 0 0 0 2 1 1 0 1 2 2 2 1 2 1 1 0 0 1 1 0 1 1 2 1 1 1 1 1 2 1 2 1 1 0 NA 1 0 1 1 2 1 1 1 1 2 1 1 2 1 1 0 0 1 1 0 0 1 0 0 1 0 1 2 1 2 1 2 1 0 2 0 0 1 1 2 0 0 1 0 1 0 1 1 1 2 1 NA 1 1 1 2 1 1 2 2 0 0 1 0 1 1 0 0 1 0 0 2 0 1 1 2 1 2 1 1 0 2 2 1 0 1 1 0 1 2 0 1 0 1 2 0 0 1 1 1 1 0 1 1 0 0 2 1 1 1 0 0 0 0 1 2 1 0 1 1 1 0 1 1 2 0 0 1 2 2 0 1 2 1 1 NA 1 1 1 0 0 1 0 NA 0 0 0 0 1 2 1 0 2 2 1 1 0 NA NA 1 2 1 1 0 1 1 0 1 0 0 0 1 0 1 0 0 1 2 0 1 2 1 1 1 1 1 1 1 NA 2 1 1 1 0 1 1 1 0 2 1 2 1 0 1 2 1 1 NA 0 1 1 0 1 2 1 2 1 1 1 0 2 1 1 2 1 1 1 0 1 1 2 0 2 1 2 0 1 0 1 1 1 1 2 2 NA 2 2 1 0 0 0 1 0 1 NA 1 0 0 1 2 0 1 0 1 1 1 0 1 2 2 1 1 2 1 2 1 0 0 0 1 1 0 1 1 1 1 1 1 0 1 1 2 0 2 1 1 1 1 1 0 1 2 0 NA 1 2 0 1 0 0 2 2 0 1 1 1 0 2 2 1 1 2 0 0 2 0 1 1 0 2 2 0 0 1 1 1 1 1 1 1 1 1 1 0 0 1 1 2 2 2 0 1 1 1 0 1 1 0 2 2 0 2 NA 1 0 2 1 2 0 0 1 1 0 1 2 0 1 0 1 1 0 1 2 2 2 0 2 0 1 2 0 1 0 1 1 0 2 2 1 1 2 1 1 1 1 2 1 1 1 0 0 1 1 1 0 0 2 1 1 1 1 1 1 2 1 2 0 2 2 1 2 1 1 1 0 1 2 2 1 1 1 1 0 1 1 1 0 1 0 2 1 1 1 1 0 1 1 0 NA 1 2 1 0 1 2 1 2 1 0 1 2 0 1 1 0 1 1 2 2 0 1 2 1 0 2 1 1 2 0 1 1 0 0 1 0 1 1 1 1 1 0 1 0 13 | per11 per11 0 0 2 2 2 0 0 1 1 2 0 1 0 1 0 0 0 1 1 1 NA 0 2 2 1 2 0 2 0 1 0 0 2 0 0 1 2 1 0 1 0 2 0 0 1 0 0 2 1 0 0 2 0 1 1 1 0 1 2 1 0 2 1 0 1 2 1 1 1 1 1 1 1 0 1 1 0 0 0 1 0 0 1 2 1 1 1 1 1 1 1 0 0 1 NA 0 0 1 1 2 1 1 1 0 1 0 2 0 1 1 2 0 1 0 0 1 1 0 0 1 0 2 0 1 1 1 1 2 1 2 1 1 2 0 1 1 0 2 NA 1 1 1 1 0 1 1 0 2 1 1 2 1 1 1 0 1 2 1 0 0 0 1 0 0 1 0 0 0 2 1 1 1 0 1 1 0 1 2 2 2 0 2 1 0 1 2 2 1 1 1 1 0 1 1 NA 1 1 2 1 0 1 1 1 0 1 1 0 1 1 0 1 1 0 2 1 0 2 2 1 1 1 0 1 0 2 0 1 1 2 0 2 2 1 0 0 0 0 1 1 1 0 0 1 1 2 0 1 1 1 2 1 0 1 2 0 0 2 1 1 2 0 1 1 2 0 2 1 0 1 0 1 1 0 1 2 2 0 0 1 0 1 0 0 1 1 0 1 1 1 1 2 0 0 0 1 1 1 1 1 1 1 2 0 1 1 1 2 0 0 2 1 1 2 0 2 1 0 1 2 1 1 0 0 1 1 1 0 0 2 1 1 2 0 1 0 1 2 0 1 1 1 2 1 1 1 0 1 2 0 1 0 0 0 1 0 0 1 1 0 1 NA 0 0 0 1 2 1 0 1 1 1 1 2 0 0 1 1 0 1 1 1 1 1 0 2 1 0 1 2 0 1 1 1 0 0 1 2 1 1 2 2 0 1 0 2 0 1 1 0 1 1 2 1 0 0 1 0 0 0 2 NA 0 1 1 2 0 2 1 2 0 1 1 NA 2 1 1 0 0 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 1 1 1 1 2 1 0 0 0 0 1 2 1 1 2 1 2 1 1 1 1 0 1 2 1 1 0 1 0 0 1 1 1 1 2 1 1 1 2 2 1 0 1 0 0 2 0 1 0 0 2 2 1 1 1 1 2 0 0 0 1 1 1 2 0 1 0 1 1 2 1 0 1 0 2 1 1 2 0 1 1 0 0 1 2 1 2 1 2 2 1 1 0 0 0 1 1 0 1 0 2 1 0 1 2 0 1 2 1 1 0 0 0 1 2 2 1 0 2 0 1 2 0 1 2 0 1 1 NA 0 0 0 1 0 1 1 1 0 1 1 2 NA 1 1 0 0 0 2 0 2 1 1 2 1 1 1 1 0 0 0 1 2 1 0 0 2 0 0 1 0 1 2 1 NA 1 0 0 0 1 1 1 1 0 1 1 0 0 2 1 2 1 2 2 0 0 2 2 1 1 1 1 0 1 0 0 1 1 1 1 0 1 1 1 2 1 1 2 1 2 0 2 1 1 2 2 0 2 0 0 1 1 1 0 1 0 1 NA 2 1 0 1 1 1 2 2 1 2 1 1 0 0 2 1 1 2 NA 0 0 1 2 0 1 1 2 1 1 0 0 1 1 0 2 0 0 1 0 1 0 1 1 2 0 0 2 1 2 2 0 2 1 1 2 2 0 2 2 1 0 1 0 1 1 0 1 1 2 0 1 1 1 2 1 1 1 0 2 0 1 1 2 1 NA 2 1 0 1 1 2 2 0 1 0 0 1 1 1 2 0 0 1 1 2 1 1 2 2 1 1 2 2 1 1 0 1 2 1 2 1 1 1 2 0 2 1 2 0 0 1 0 0 1 2 1 2 0 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 1 0 1 0 0 0 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 2 NA 1 1 0 0 1 0 0 0 0 0 NA 1 1 0 1 2 1 1 2 1 1 1 2 2 1 1 0 1 1 0 0 0 0 1 1 0 1 1 0 0 1 1 2 0 1 0 1 2 1 1 0 1 2 0 1 0 0 1 1 1 0 1 2 1 1 2 1 1 1 1 2 1 1 2 0 0 2 0 0 1 2 2 0 2 1 1 1 0 0 2 1 1 0 0 0 1 1 1 1 2 1 1 1 1 1 1 0 0 0 2 0 0 2 1 1 0 1 1 0 NA 0 0 1 0 1 1 1 1 2 1 1 0 14 | per12 per12 0 0 2 1 1 1 1 1 0 0 2 1 2 0 0 1 1 0 0 1 1 1 1 1 0 0 1 1 2 2 1 1 1 2 2 1 1 1 0 1 1 1 1 0 1 1 0 2 NA 1 1 2 0 2 0 1 2 2 1 2 2 1 0 1 0 0 1 0 0 0 0 0 1 2 2 0 1 1 0 1 0 0 1 1 1 0 0 0 2 2 1 0 0 1 1 0 NA 1 1 0 0 0 1 2 2 0 2 0 1 2 1 1 1 1 2 1 1 1 0 1 1 1 1 1 1 2 2 0 2 0 0 1 1 1 1 1 0 0 2 2 1 2 0 2 1 0 1 0 2 0 0 1 1 1 2 0 1 1 0 0 0 NA 1 0 2 2 2 0 1 1 0 2 0 1 0 0 0 0 1 1 1 0 1 2 2 1 1 2 2 1 0 1 0 0 1 1 1 1 1 1 0 2 2 1 1 1 0 0 1 1 1 2 2 2 1 2 0 1 1 1 0 1 2 1 1 2 2 1 2 2 1 1 1 1 1 1 0 1 0 2 2 0 2 0 0 0 1 2 0 0 1 2 1 2 1 2 0 2 1 1 0 2 0 0 1 2 1 2 0 1 1 0 1 1 2 1 0 NA 2 1 0 0 1 0 0 1 0 1 0 0 1 1 0 1 1 1 0 0 1 0 1 0 1 1 2 1 0 1 0 1 2 2 2 1 2 1 2 0 1 1 1 1 0 0 1 1 1 0 0 0 0 0 2 0 1 1 1 0 1 0 0 1 0 0 1 0 2 0 0 1 1 1 0 1 2 0 1 1 1 0 1 1 0 1 1 1 1 1 0 1 1 0 2 1 1 1 1 1 0 1 1 0 0 1 1 2 1 1 1 0 1 0 1 1 1 1 0 1 2 1 0 1 2 1 1 2 1 0 1 0 1 NA 1 1 0 0 1 2 2 0 1 1 1 2 2 1 0 1 1 1 1 1 1 1 1 0 1 2 2 0 1 2 1 1 1 2 2 1 0 1 1 1 2 0 1 1 2 1 0 1 0 1 1 NA 0 1 0 NA 1 1 1 1 1 2 0 1 1 0 2 1 1 1 1 2 0 2 2 0 0 1 2 0 2 1 0 0 2 NA 1 1 2 0 1 0 1 1 0 1 1 2 1 1 0 1 1 1 2 2 2 1 2 2 2 1 0 1 0 0 1 1 1 1 1 1 1 1 0 2 0 1 2 0 0 1 0 1 1 NA 1 2 2 2 0 0 1 0 1 1 2 2 0 2 0 0 1 0 0 0 1 1 1 1 1 NA 0 1 2 1 1 2 0 2 0 2 1 1 1 0 2 1 2 2 1 2 0 0 0 1 1 1 2 0 NA 2 2 0 1 0 1 0 0 1 0 1 1 1 0 1 0 1 0 1 1 1 2 2 0 0 2 2 1 0 0 0 2 0 1 1 1 1 1 0 1 1 0 2 2 1 1 1 1 2 0 1 0 0 0 0 0 1 1 0 0 1 1 2 1 1 2 2 2 2 0 1 2 1 2 0 2 2 1 2 0 1 2 1 0 1 1 0 1 1 1 0 1 1 0 1 2 1 1 1 1 2 0 2 0 1 0 1 0 0 1 NA 2 1 1 0 0 0 NA 0 2 0 1 1 1 1 0 2 0 0 1 1 1 1 0 2 2 1 0 1 1 2 1 1 2 0 0 2 0 0 0 0 2 1 0 1 1 2 2 1 2 2 1 1 1 1 0 1 2 1 1 0 0 1 2 1 1 1 1 1 1 2 0 1 NA 1 1 1 1 1 2 2 1 0 1 1 0 1 0 1 0 2 0 0 2 2 1 1 0 0 1 0 2 2 0 1 0 1 1 1 2 0 1 1 1 NA 1 2 1 1 1 0 NA 2 0 2 1 0 0 2 1 1 NA 0 0 1 1 1 0 2 0 0 1 1 2 1 1 0 0 0 1 2 0 1 2 2 0 2 1 0 0 1 2 1 2 1 1 0 1 1 0 2 1 1 0 0 1 0 0 1 1 1 2 1 0 1 1 0 2 2 0 1 NA 1 1 0 1 0 2 1 2 1 2 NA 0 1 2 1 1 1 2 0 NA 1 0 0 0 1 2 1 1 1 1 1 1 1 2 0 2 1 2 1 2 2 2 1 0 1 1 1 2 0 1 1 0 NA 1 0 1 1 1 2 1 1 NA 2 0 0 2 0 1 1 1 1 1 1 1 1 0 1 1 NA 1 1 1 1 2 1 1 2 0 2 1 0 0 1 0 0 0 0 1 1 15 | per13 per13 0 0 2 2 1 2 1 2 1 0 1 2 1 2 NA 1 0 0 1 1 1 1 1 2 2 1 0 2 1 1 0 1 0 1 0 1 1 0 0 2 1 1 2 1 1 1 1 2 2 2 0 2 2 1 1 1 1 1 2 2 2 0 1 1 1 2 0 1 1 1 2 2 1 0 2 1 1 2 0 0 1 1 2 2 0 1 1 1 2 1 1 1 2 NA 2 0 0 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 NA 1 0 0 1 1 1 2 0 1 1 1 2 2 1 0 2 1 1 2 1 1 0 1 0 0 1 2 1 2 0 1 2 1 1 0 0 2 2 1 2 2 1 0 2 1 1 0 0 1 1 0 0 0 2 1 1 1 1 1 0 1 0 2 1 2 1 0 0 0 0 2 2 1 0 1 1 0 2 1 2 1 0 2 1 2 2 1 2 2 NA 0 2 1 0 2 2 0 NA 1 0 0 0 1 2 1 1 0 0 1 1 2 1 2 2 1 1 0 0 2 1 2 1 1 2 1 2 1 1 2 2 2 2 0 1 1 2 0 1 2 2 2 0 1 2 1 1 1 1 2 1 2 0 1 0 2 2 2 1 2 1 1 1 1 NA 0 0 2 1 0 0 2 1 1 0 1 1 0 NA 0 1 2 1 1 1 2 1 2 0 0 1 1 2 2 2 2 0 2 1 0 0 1 1 1 1 2 2 2 0 2 0 0 1 1 1 2 2 0 2 1 2 1 2 1 1 1 0 2 1 2 0 1 0 1 1 2 1 2 1 0 2 1 0 0 0 2 0 2 0 1 1 1 0 1 0 0 1 1 2 1 1 1 1 1 1 2 0 1 2 0 1 2 2 1 1 0 2 0 2 0 0 1 1 1 1 1 2 0 0 1 1 1 2 1 2 0 2 0 1 0 1 0 1 2 1 1 1 1 1 1 0 1 1 0 2 1 1 1 1 1 1 1 0 1 0 1 1 1 2 0 1 NA 2 2 1 0 2 2 0 1 1 1 0 1 1 0 1 1 1 2 0 1 0 1 0 1 0 0 1 1 0 2 1 1 0 1 0 0 1 0 1 1 1 1 0 1 2 1 1 0 2 2 0 2 1 2 1 0 2 1 0 1 1 1 1 0 1 1 1 1 0 0 1 1 2 1 0 1 1 1 1 2 1 1 2 1 0 1 0 1 0 0 1 2 2 1 1 2 1 0 1 1 1 1 1 2 1 0 1 1 0 1 1 2 0 0 0 1 2 1 1 1 1 1 0 1 1 0 0 0 0 1 1 1 0 1 0 1 2 0 1 2 2 0 0 2 2 1 1 1 2 0 1 2 2 2 2 2 1 0 2 2 0 0 1 1 2 0 1 2 1 1 0 1 1 1 2 1 1 1 1 2 1 0 1 1 1 0 1 0 0 2 1 2 2 1 2 1 0 1 1 0 2 1 0 2 1 1 1 1 0 2 0 2 0 0 1 1 1 1 0 1 0 2 1 0 1 1 1 0 1 2 1 1 2 1 1 2 0 1 1 1 1 0 1 1 2 0 0 1 1 0 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 NA 1 2 0 0 2 0 1 0 1 0 1 1 2 1 0 0 1 2 1 1 2 0 0 0 1 1 1 2 1 1 0 1 1 0 2 1 0 0 1 1 0 1 1 1 2 0 2 1 2 1 0 1 1 2 0 0 2 1 1 2 1 1 1 1 1 2 2 1 2 NA 1 1 2 1 NA 1 0 1 0 2 1 0 1 2 0 1 1 0 1 1 2 1 0 2 0 1 0 1 1 0 1 1 1 0 1 1 2 0 2 0 0 1 2 1 0 1 0 0 1 0 1 1 0 2 1 0 0 2 1 1 2 1 0 1 1 0 0 1 0 2 2 1 1 0 1 0 2 0 1 1 1 2 1 1 0 1 0 1 0 0 2 0 2 1 0 0 1 2 1 1 0 1 0 1 0 1 1 0 1 1 0 1 1 2 1 2 1 1 2 1 0 1 0 0 1 0 1 0 1 2 1 0 1 0 1 2 1 1 0 0 1 1 2 1 0 1 2 1 1 2 1 0 1 1 1 0 2 0 2 0 0 NA 1 2 0 1 2 1 2 0 1 1 1 0 1 1 1 1 2 1 2 1 1 2 1 2 0 1 1 0 1 0 1 1 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 2 0 16 | per14 per14 0 0 2 2 1 1 0 1 2 NA 1 1 1 1 1 2 1 1 1 2 1 1 0 0 1 0 1 2 1 2 2 0 2 2 0 1 0 1 2 2 0 2 2 1 0 1 1 0 1 1 2 0 2 1 0 1 2 1 1 1 1 0 0 1 2 1 0 1 0 1 2 0 1 1 NA 1 2 0 1 1 0 1 1 2 0 1 1 1 1 2 0 0 1 1 1 2 2 2 2 0 2 0 2 0 0 1 1 2 2 0 0 0 2 2 2 0 0 1 0 NA 0 2 2 1 NA 2 1 1 0 2 0 0 0 1 0 0 0 0 2 0 2 2 2 0 1 1 2 0 2 2 1 0 1 1 0 0 1 1 1 1 0 2 1 0 1 1 1 1 0 1 1 0 0 0 2 1 0 1 1 1 0 2 0 0 2 1 0 1 1 1 2 0 1 0 2 0 1 1 2 0 2 1 1 1 0 1 0 2 0 NA 1 2 1 0 2 1 1 1 2 1 2 0 0 1 1 2 1 1 1 1 1 0 0 0 1 0 2 1 1 0 2 0 2 1 0 2 1 1 1 2 1 0 2 1 1 1 2 1 2 1 1 0 1 0 0 2 1 1 1 2 2 0 2 2 1 1 1 0 1 2 0 1 1 0 1 2 1 2 1 1 1 1 0 1 1 2 1 0 1 1 0 1 0 0 2 2 1 1 1 1 1 1 0 1 1 1 1 2 1 1 1 2 2 2 2 1 0 2 1 0 0 0 0 0 0 2 1 0 2 1 1 1 0 1 1 1 1 0 1 2 1 1 1 2 0 1 1 0 1 0 1 1 1 2 0 2 0 2 2 1 0 1 1 2 0 0 2 1 1 2 1 0 2 1 2 1 1 2 0 0 1 0 1 1 1 2 2 0 0 0 1 2 2 2 1 1 NA 2 1 0 1 0 2 1 1 0 2 0 1 2 0 0 0 0 2 2 1 1 0 1 1 0 2 1 2 2 0 2 1 0 0 1 1 0 1 2 2 1 2 1 2 1 0 1 1 1 1 2 0 0 2 0 1 1 2 2 1 0 0 1 2 1 0 0 2 1 1 0 2 0 0 2 0 1 1 0 0 1 2 1 1 1 2 1 2 1 0 1 2 2 0 1 0 NA 1 0 1 1 1 1 1 0 0 2 0 1 1 0 1 1 1 0 1 2 1 1 1 1 0 1 2 0 1 0 0 1 0 1 1 2 1 1 2 1 1 0 2 2 1 1 2 0 2 1 NA 0 0 1 1 2 1 1 0 2 1 0 1 0 1 1 0 1 1 1 0 1 1 0 0 2 2 1 1 0 1 1 1 1 2 2 1 1 1 2 2 2 1 1 1 0 0 2 0 0 1 2 1 2 1 2 1 1 0 2 0 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 0 0 0 2 1 0 1 1 1 1 2 1 0 1 0 1 1 1 0 1 1 2 1 1 2 1 2 1 2 1 0 0 1 1 2 2 0 0 2 0 1 1 1 0 1 0 0 1 1 1 0 1 1 1 2 1 2 1 0 1 1 0 1 2 NA 0 2 0 2 1 1 NA 1 1 2 1 1 2 1 0 0 1 2 1 1 1 1 0 0 0 0 2 2 1 2 2 0 1 1 1 1 1 1 0 1 2 0 0 1 1 1 1 2 2 2 1 1 1 0 1 0 1 1 1 0 0 1 1 1 2 0 1 0 1 1 2 2 0 2 0 1 0 0 1 1 1 0 0 2 1 1 0 1 1 2 2 1 1 1 2 1 2 0 1 1 1 2 0 NA 2 1 2 1 1 1 2 0 1 0 0 1 0 2 0 0 1 1 2 1 1 0 2 2 0 1 1 1 1 0 1 0 1 1 1 0 2 0 2 2 2 1 1 1 0 1 0 1 1 0 0 1 1 2 0 2 1 1 0 0 0 0 0 2 2 1 NA 0 1 0 0 1 1 1 1 NA 0 0 1 1 0 1 1 0 1 0 1 2 1 1 1 1 1 1 NA 0 0 1 1 1 0 1 0 1 1 2 1 0 1 1 1 1 1 1 0 1 0 1 2 0 0 1 1 2 1 1 1 1 1 1 0 0 1 0 0 NA 1 1 0 0 1 0 1 1 2 1 1 1 0 1 1 1 0 2 1 1 1 1 1 1 0 2 0 NA 1 1 2 0 1 1 2 1 0 0 1 1 1 0 1 1 1 2 1 2 1 1 1 2 1 1 1 0 2 2 1 0 0 1 0 2 1 0 0 1 17 | per15 per15 0 0 2 1 0 1 1 1 1 1 2 2 1 1 0 1 1 2 2 1 0 1 2 1 0 1 0 1 NA 1 1 0 2 0 1 1 0 2 0 1 1 1 1 2 2 0 0 1 1 0 2 2 1 1 0 1 1 1 1 0 0 0 1 1 2 2 2 1 2 1 0 1 0 1 2 1 0 NA 1 1 1 0 1 1 2 1 1 1 1 0 1 1 1 1 0 NA 1 0 0 1 0 0 1 1 2 1 1 1 0 0 2 2 0 1 0 1 0 1 1 0 1 0 0 1 0 0 0 1 0 0 1 1 1 1 1 0 1 1 0 1 0 1 0 2 1 NA 1 1 1 1 NA 1 0 0 1 1 1 1 1 1 1 2 2 2 1 1 1 1 0 0 2 1 1 1 2 2 0 1 0 1 0 0 1 0 2 1 2 0 0 0 2 1 1 1 0 2 1 1 2 1 1 1 0 1 1 1 2 2 2 0 1 1 2 1 2 1 1 0 0 0 1 0 1 1 2 1 0 2 NA 2 0 2 0 1 1 0 1 1 2 1 1 1 0 0 0 2 NA 2 1 1 1 1 1 0 0 0 1 2 1 2 0 2 2 1 2 NA 1 2 1 NA 0 1 1 2 1 2 2 1 1 1 1 0 0 1 1 0 1 0 1 1 1 1 1 0 1 1 1 1 0 1 2 1 2 1 1 1 0 1 0 1 1 1 1 2 2 0 0 0 0 1 1 1 1 0 1 1 0 1 2 1 2 2 1 0 1 1 0 0 NA 1 2 0 1 0 1 1 0 0 1 2 0 1 0 2 1 1 1 1 0 2 1 1 0 1 1 0 2 0 1 2 2 1 0 1 2 0 1 0 1 0 2 1 1 NA 2 2 0 2 2 0 1 2 0 2 1 0 0 NA 1 1 0 0 0 1 1 1 0 0 1 NA 2 0 1 1 1 2 2 2 1 2 2 1 0 1 1 1 0 1 1 0 2 NA 1 0 0 2 1 1 1 0 0 0 1 1 0 0 0 2 1 1 1 0 1 1 0 1 1 1 NA 1 1 0 1 1 0 2 1 2 1 0 0 1 0 NA 1 0 1 1 1 2 1 1 1 2 0 2 0 1 1 2 0 1 2 2 1 2 2 2 1 2 1 0 0 0 1 2 1 1 0 2 1 1 1 2 1 1 2 0 1 1 2 0 2 1 2 2 1 0 2 1 0 0 1 0 2 1 2 0 0 0 1 1 2 1 NA 0 1 1 0 1 0 1 1 2 1 1 2 0 1 1 2 1 2 2 1 1 0 1 2 1 1 2 2 1 0 1 2 1 1 2 1 1 0 1 1 2 1 2 0 NA 1 1 NA 0 1 1 2 2 1 2 2 1 1 1 0 1 1 1 0 0 1 1 0 1 0 0 1 1 1 0 1 2 2 0 2 0 2 0 2 1 1 0 0 1 0 0 1 1 1 1 1 0 1 0 1 1 1 1 2 0 0 1 1 0 0 1 1 1 1 0 NA 0 1 2 1 2 1 1 1 0 1 2 2 2 1 1 2 1 1 1 0 1 1 0 1 1 2 1 1 1 1 1 2 2 1 1 NA 0 0 0 0 0 0 0 1 0 1 1 0 1 2 1 0 1 0 1 1 1 2 0 2 0 1 0 1 0 0 2 2 1 1 0 0 2 2 0 1 2 0 1 2 0 1 0 1 0 0 2 0 1 0 2 1 NA 2 1 0 1 1 1 1 0 0 0 2 0 0 1 2 1 0 1 1 0 1 0 1 1 1 2 0 1 1 0 1 0 1 2 1 1 0 0 1 2 2 1 1 2 1 1 2 2 1 0 1 0 2 1 1 1 1 2 0 2 0 0 1 2 1 1 0 2 NA 1 2 2 2 0 0 0 1 2 0 2 1 2 1 1 0 2 2 1 1 1 2 0 1 2 1 1 1 0 2 0 1 1 2 0 0 0 2 1 2 1 NA 0 1 2 0 0 2 1 1 2 2 1 0 1 1 1 1 1 1 1 1 0 1 0 1 1 2 0 2 1 2 1 1 1 0 2 0 1 0 0 2 2 1 1 1 2 0 1 1 1 0 0 0 1 2 0 0 0 2 0 1 2 2 0 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 0 0 1 1 1 0 1 2 2 1 1 1 2 0 0 0 1 2 2 0 1 1 2 0 1 1 0 1 2 1 1 1 1 1 1 1 0 2 0 0 1 1 0 1 1 0 0 1 1 1 1 0 2 0 1 2 18 | per16 per16 0 0 2 1 0 1 1 1 1 1 2 0 2 0 0 1 1 0 0 1 0 1 1 0 0 1 1 1 1 1 1 1 1 1 2 0 0 1 2 0 2 0 0 1 0 1 1 1 2 1 0 0 1 2 1 1 1 1 1 1 0 0 1 2 0 1 1 0 0 2 0 1 1 2 1 0 1 1 2 0 0 1 1 0 1 2 2 2 0 1 2 1 0 1 1 2 1 2 2 1 1 2 0 0 1 0 1 0 1 2 0 0 1 1 1 2 1 0 0 1 1 1 0 0 0 0 1 2 1 2 0 1 2 2 0 1 1 2 1 2 1 2 1 0 1 1 1 1 0 0 1 0 0 1 1 1 0 0 2 2 1 0 1 1 0 2 2 0 1 2 1 0 1 1 0 1 2 0 1 0 1 1 0 1 1 0 1 0 1 0 0 0 1 1 1 0 NA 0 0 0 1 1 2 0 0 1 0 1 1 0 2 1 0 0 0 2 1 0 1 2 0 0 1 1 0 1 0 0 1 0 1 2 0 1 1 1 2 1 1 0 2 0 0 2 1 1 1 1 1 1 0 0 1 2 1 1 1 1 0 2 2 0 0 1 1 1 0 1 1 2 1 1 1 2 1 2 1 1 0 1 1 0 0 0 0 0 1 1 2 1 1 1 2 1 2 2 0 1 1 0 0 0 1 0 1 NA 1 2 0 NA 1 1 0 0 1 0 1 1 1 1 2 1 0 1 0 2 0 1 1 1 1 1 1 2 NA 1 1 1 2 0 1 2 1 0 1 1 2 1 1 0 2 0 2 1 0 2 2 2 0 0 2 1 1 1 0 1 0 0 2 2 0 1 0 1 0 0 0 0 1 2 0 1 0 2 0 1 0 2 0 1 0 1 2 2 1 1 0 2 0 0 0 2 1 1 2 2 1 2 1 1 0 2 NA 1 1 1 2 0 0 2 1 1 1 1 NA 1 0 1 2 1 1 1 2 1 0 0 0 0 0 1 2 NA 1 1 2 1 2 0 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 2 1 1 0 2 1 1 1 0 0 1 0 1 0 0 NA 1 0 2 2 2 0 0 2 0 2 1 0 0 1 1 2 1 2 1 2 1 0 1 0 2 1 2 2 1 0 1 2 2 0 1 1 0 1 0 1 1 1 2 0 0 1 1 0 2 2 1 0 1 0 0 1 2 0 NA 1 1 0 1 1 0 1 0 2 1 1 1 1 1 0 2 0 1 0 2 2 2 0 0 0 0 2 1 2 1 1 1 2 0 1 0 1 NA 1 2 2 1 1 2 0 1 0 0 0 0 1 1 1 0 1 2 1 0 1 0 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 2 1 2 1 1 1 2 1 2 1 1 1 0 0 1 NA 1 0 0 1 0 1 1 2 1 1 1 0 1 NA 0 2 1 1 2 1 2 2 0 2 1 0 1 0 0 1 2 2 1 0 1 1 1 1 1 1 1 2 0 1 0 0 1 1 2 2 1 2 1 1 0 0 0 2 1 2 1 2 NA 1 0 1 2 0 2 0 1 1 0 0 2 1 2 0 0 1 2 2 1 2 1 2 1 1 1 1 0 2 1 1 1 1 0 1 1 1 1 2 0 1 NA 0 1 1 1 1 1 1 0 1 2 1 1 1 0 1 2 2 2 0 1 2 1 1 1 2 1 1 0 1 2 2 0 0 0 1 1 2 0 2 0 1 0 2 1 1 1 1 1 1 2 2 2 1 0 2 1 1 0 NA 2 0 1 1 0 1 1 2 2 2 1 1 1 0 2 0 1 1 1 1 NA 1 2 0 1 0 2 1 0 2 2 1 2 1 1 1 1 1 1 1 2 1 0 2 0 1 1 2 1 1 0 1 2 2 1 1 1 1 1 0 1 1 1 0 2 2 0 1 2 1 1 0 2 0 0 2 2 0 1 0 0 1 0 0 1 1 0 2 1 0 2 1 1 2 1 0 2 1 1 2 1 1 0 1 1 1 2 1 1 0 1 1 1 1 1 0 NA 1 1 1 1 1 1 1 1 0 1 0 2 1 1 1 0 0 1 1 1 1 1 1 0 1 1 0 1 0 0 0 0 0 0 1 1 1 1 0 1 2 0 2 1 1 0 1 1 1 0 1 0 1 0 2 1 1 1 0 0 1 0 0 0 0 1 2 1 2 2 2 1 2 0 1 2 1 1 1 1 2 0 1 0 1 0 2 NA 1 2 1 19 | per17 per17 0 0 2 2 1 2 1 2 0 1 1 0 2 0 1 1 1 2 2 0 1 1 1 1 1 1 1 0 1 0 2 0 1 2 2 NA 0 1 NA 2 1 1 0 0 0 0 0 1 2 0 1 1 1 1 0 1 2 0 2 1 1 0 0 1 0 2 0 2 0 2 1 0 1 2 2 2 1 1 1 1 1 1 1 2 1 1 1 0 0 1 0 0 0 2 1 1 0 0 1 1 2 1 0 1 2 1 2 1 2 1 1 2 0 1 0 NA 1 2 1 1 2 2 0 1 1 0 2 0 2 0 0 1 0 1 0 2 1 1 1 0 1 2 1 1 2 2 1 1 0 2 1 0 0 1 1 0 0 NA 1 NA 1 1 1 1 1 2 1 NA 2 2 0 0 1 1 1 1 0 1 0 2 1 0 0 1 1 1 0 1 0 1 1 0 0 0 2 2 1 0 1 1 2 2 2 1 0 2 1 1 1 1 1 1 1 0 0 1 2 1 1 0 0 1 0 0 1 0 1 0 1 0 0 NA 2 0 2 0 0 0 0 2 0 1 1 0 1 0 2 1 0 0 0 NA 1 0 2 1 2 1 2 2 2 1 0 1 1 2 2 1 0 2 1 0 1 1 1 1 0 2 1 0 1 1 0 1 1 2 2 0 1 0 1 2 1 2 0 1 1 2 2 0 2 1 2 1 1 1 1 1 1 2 1 1 0 1 1 1 2 0 1 2 2 0 2 0 1 2 1 0 0 2 1 2 0 0 0 2 2 1 1 0 1 1 0 2 1 1 2 1 0 1 0 0 0 0 1 1 1 0 0 0 1 0 0 1 1 1 1 0 2 1 0 1 0 1 1 0 1 2 0 1 NA 1 2 1 NA 2 1 1 1 1 0 0 0 2 1 1 1 0 0 1 1 1 2 1 1 NA 1 0 1 0 1 1 1 1 2 1 2 0 0 1 1 0 1 0 1 0 2 0 1 1 1 2 0 1 0 0 0 1 1 2 1 1 1 1 1 1 1 1 0 0 0 1 2 1 2 2 0 0 1 0 1 1 2 1 1 0 1 2 1 1 1 1 2 2 1 2 2 1 0 1 1 0 1 1 1 0 1 2 1 1 2 2 0 0 0 1 0 0 1 2 1 0 0 0 1 0 0 0 1 1 2 1 2 1 2 0 1 2 0 1 1 1 1 1 2 0 0 1 0 2 2 2 1 0 2 2 2 1 2 1 2 2 0 1 0 2 1 1 0 0 1 1 0 0 1 1 1 1 1 1 0 1 1 1 2 1 2 1 1 2 1 2 1 0 1 NA 1 1 0 0 0 2 2 1 1 1 0 0 1 2 1 1 1 1 0 1 1 2 2 0 0 1 1 1 2 1 1 1 0 2 0 1 1 1 2 1 1 0 0 1 2 1 2 2 2 0 1 2 0 0 0 1 1 2 0 1 1 1 1 0 2 0 0 2 0 1 1 2 0 1 2 1 1 1 1 1 0 2 1 1 2 1 1 1 2 1 1 2 2 2 1 1 0 1 0 1 0 1 2 1 1 1 2 1 2 0 1 2 1 0 0 0 1 2 1 1 0 2 2 1 0 1 2 1 1 2 0 0 0 2 1 1 1 1 0 2 1 1 1 2 1 1 1 1 0 2 0 0 2 1 1 2 0 1 1 0 1 1 1 2 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 1 2 0 1 1 1 1 1 2 0 1 1 1 1 0 1 0 0 1 1 1 2 1 0 2 2 0 1 1 1 1 1 1 1 1 1 1 2 1 2 NA 1 1 0 2 1 0 1 0 0 1 1 2 2 1 1 2 1 1 0 2 0 1 0 2 NA 0 2 2 1 1 0 0 1 1 1 1 1 1 1 0 0 0 2 0 0 1 1 0 1 1 1 2 0 1 1 0 2 1 0 2 1 1 2 2 1 1 1 2 1 1 0 0 0 1 1 1 0 1 2 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 0 0 1 1 1 1 1 0 1 1 1 0 2 2 1 0 0 1 1 0 0 1 0 2 1 1 2 1 0 0 2 1 1 0 0 0 0 1 1 0 2 0 1 NA 2 1 1 0 1 1 1 2 1 0 0 NA 0 2 1 1 1 1 2 1 2 1 2 2 1 1 1 1 1 1 0 0 0 1 2 0 0 0 0 2 1 2 2 1 0 2 2 0 2 1 0 0 1 1 0 2 2 0 0 1 1 1 2 1 1 2 2 1 1 0 20 | per18 per18 0 0 2 1 2 1 1 2 1 1 0 1 1 1 0 1 0 2 1 0 1 1 1 1 1 0 1 1 1 1 0 2 0 1 0 1 0 1 0 0 NA 2 2 1 1 1 1 2 0 0 1 0 0 2 1 0 0 1 1 1 0 1 1 1 0 1 0 2 1 1 2 0 1 1 1 2 1 1 1 1 1 0 1 0 0 2 1 1 0 0 1 1 0 1 0 1 2 0 1 2 1 1 1 1 2 2 1 NA 1 0 1 2 2 0 2 2 0 2 1 1 0 1 1 2 0 1 0 1 1 0 2 1 1 2 0 2 1 1 0 0 0 1 1 1 0 1 1 1 2 1 1 2 NA 1 1 2 1 2 2 0 2 1 0 1 1 1 1 0 0 2 1 0 1 0 1 1 1 1 1 1 1 2 0 0 1 1 2 0 0 0 0 2 0 1 0 1 2 0 1 1 0 0 1 1 1 2 1 2 1 1 0 0 2 0 0 2 0 1 1 0 2 1 1 2 NA 2 1 2 1 0 0 1 1 1 1 1 2 0 1 0 0 0 2 0 NA 1 0 2 1 1 0 1 1 1 1 0 0 1 1 1 1 2 1 1 1 0 2 0 2 0 0 0 0 1 NA 2 1 1 1 2 1 0 1 1 0 2 1 0 2 1 1 1 1 0 2 2 1 2 0 0 2 2 1 1 2 2 0 1 1 0 0 1 0 1 0 1 0 1 2 1 0 2 0 2 2 1 2 2 2 2 0 1 0 0 1 1 0 0 0 2 2 0 2 2 1 2 1 0 1 1 1 1 1 0 0 1 0 1 1 1 2 1 1 1 2 2 1 0 0 0 1 2 0 1 2 0 0 0 2 1 2 2 1 1 1 1 0 0 0 1 1 0 0 1 0 1 1 0 1 0 0 0 0 1 1 1 1 1 2 0 0 0 1 2 1 1 1 0 0 2 2 2 0 1 1 1 1 1 1 1 1 2 1 1 1 2 0 1 1 0 0 1 2 1 0 1 0 1 1 1 2 0 1 NA 2 2 1 2 0 1 1 1 1 2 1 1 0 1 0 NA 0 2 1 1 NA 1 0 1 1 0 0 0 0 0 1 0 2 0 0 0 1 0 1 1 0 0 1 2 0 0 1 0 0 2 1 0 1 1 2 0 1 1 0 0 1 1 1 2 0 0 1 0 0 0 1 1 1 0 0 0 1 1 0 1 2 0 0 0 1 1 1 1 1 1 1 1 NA 1 2 1 1 1 2 0 1 0 2 1 2 2 0 NA 1 0 0 0 0 1 1 1 0 1 2 2 0 0 1 2 2 1 0 0 2 1 1 0 1 2 2 0 0 1 0 1 2 0 1 1 2 1 1 0 0 0 0 2 1 2 0 2 1 0 1 1 1 1 0 0 1 2 0 1 1 2 1 1 1 1 0 1 0 1 1 0 1 1 1 2 1 1 2 1 2 2 0 1 1 1 2 0 1 NA 1 1 0 0 0 1 0 1 0 0 1 2 1 1 2 0 2 1 1 0 1 1 1 0 0 1 2 2 0 0 0 1 1 2 0 NA 0 2 1 2 1 1 1 0 0 1 0 2 0 0 0 1 0 2 2 2 1 1 1 1 0 1 1 2 1 1 1 2 1 1 1 0 1 1 2 1 NA 2 0 1 1 0 1 0 0 1 1 2 NA 0 0 1 1 1 0 1 2 NA 1 0 0 2 1 2 NA 1 1 0 0 2 1 2 0 1 1 1 0 1 1 0 2 1 1 0 1 1 1 1 0 0 NA 1 0 1 2 1 0 1 2 2 0 0 0 2 1 0 1 2 0 0 2 0 2 2 1 1 0 1 1 1 0 1 1 1 2 2 2 0 1 1 1 1 0 1 1 1 1 1 0 1 0 0 0 1 1 2 1 0 1 2 2 1 1 2 0 0 0 1 1 2 1 0 2 1 2 1 1 0 2 1 2 0 1 1 1 0 1 2 0 0 2 2 0 1 1 1 0 0 1 2 1 2 2 2 0 1 1 2 1 2 1 2 0 1 0 0 1 1 0 1 0 0 0 2 1 2 0 2 0 1 2 1 NA 1 0 0 0 0 0 1 2 1 2 1 1 1 1 2 0 1 0 2 0 NA 1 0 1 1 1 0 2 2 1 2 0 1 1 1 NA 0 1 1 1 0 1 1 1 1 0 1 1 0 1 2 1 2 0 0 0 1 2 1 0 0 0 0 1 1 2 1 1 2 0 2 1 1 2 1 0 NA 1 0 2 0 2 1 0 0 2 1 1 0 21 | per19 per19 0 0 2 2 1 0 0 0 0 0 0 1 2 0 2 1 1 1 0 0 0 2 0 1 2 1 0 1 1 2 1 0 0 2 1 1 1 1 1 1 1 1 0 0 NA 1 1 1 2 1 2 1 1 1 1 1 0 0 2 1 1 1 0 1 2 1 1 1 1 0 1 0 1 0 2 0 0 2 0 0 1 1 1 1 1 0 2 1 1 0 0 1 1 1 NA 1 0 1 1 1 0 1 1 0 1 2 0 2 1 0 0 2 0 2 0 0 0 0 0 2 0 0 1 0 1 0 0 0 1 1 1 0 1 0 2 1 0 1 2 2 1 1 0 1 1 2 2 0 1 2 2 0 1 1 0 2 0 1 1 0 0 0 0 1 2 1 1 2 2 0 0 2 1 1 NA 2 0 0 1 0 2 1 0 1 1 2 1 2 2 1 2 2 0 1 2 NA 0 0 1 2 1 1 2 1 1 2 0 0 1 2 2 0 1 0 1 2 1 1 1 0 0 2 1 0 1 1 0 2 1 2 1 0 1 1 2 1 1 1 1 1 2 1 1 1 1 0 0 1 NA 0 1 1 0 1 2 1 1 1 1 1 2 1 1 0 2 0 1 1 0 0 1 2 0 0 1 NA 1 1 1 2 1 1 1 0 0 1 0 1 2 1 1 2 1 NA 2 0 0 0 0 1 1 2 1 2 1 1 1 0 2 1 1 1 1 0 2 1 1 1 1 1 0 0 0 2 0 1 1 0 1 2 1 1 NA 2 0 0 0 1 0 0 0 0 0 2 0 1 1 1 1 0 2 1 1 1 0 0 1 0 2 0 1 2 1 1 0 1 1 2 1 2 2 2 1 1 0 2 1 1 1 1 0 0 1 2 2 2 1 0 1 1 2 1 1 2 2 1 0 1 0 0 1 1 0 1 1 0 1 1 2 0 0 0 0 1 2 1 2 1 1 1 0 2 1 1 1 1 0 1 1 1 2 2 0 0 1 1 0 1 0 1 1 1 1 1 2 0 2 NA 1 1 0 1 2 2 1 2 2 2 2 0 2 2 1 0 2 1 1 1 1 2 0 1 1 2 0 1 0 0 2 2 2 1 1 1 0 1 1 1 0 1 0 2 1 1 2 1 1 1 NA 2 0 0 1 2 0 1 NA 1 0 1 1 2 2 0 0 2 1 1 1 2 0 2 0 0 2 0 1 1 1 2 1 1 1 0 1 0 1 1 2 1 1 1 1 1 2 0 1 1 2 0 1 1 1 1 2 1 1 2 1 1 1 0 1 1 1 0 0 1 1 1 0 0 1 0 1 1 0 1 0 0 2 1 0 1 1 0 1 1 0 1 0 NA 1 0 0 2 2 1 2 1 1 0 1 1 1 2 0 1 1 2 1 1 1 1 0 2 2 0 1 2 0 1 2 1 0 1 2 1 0 2 0 1 2 2 1 1 0 0 2 1 1 2 0 0 2 1 1 0 2 1 1 0 1 2 1 2 2 0 1 1 1 0 0 0 2 1 2 1 0 2 1 1 1 0 0 1 2 2 1 1 2 0 1 1 1 2 1 0 1 0 1 1 2 1 0 1 2 1 0 2 0 0 1 1 2 2 2 2 1 1 2 0 1 1 1 2 1 0 0 1 1 2 2 0 2 1 0 0 0 1 1 1 1 1 0 2 1 0 NA 1 1 1 1 1 0 1 0 2 0 1 1 0 2 0 0 2 2 1 2 1 1 1 2 1 0 2 1 NA 0 0 1 NA 2 1 0 0 1 0 1 0 0 0 1 1 1 0 1 0 1 0 1 2 0 1 0 0 0 2 0 0 1 2 1 1 0 0 0 1 0 1 2 1 1 0 0 1 2 2 2 0 0 0 0 0 1 1 2 1 1 1 0 0 0 1 1 2 1 0 2 0 1 1 1 1 1 1 1 2 1 2 NA 0 1 1 1 1 2 1 1 1 0 2 2 1 0 1 1 1 0 1 1 1 0 1 1 1 2 1 0 1 2 0 1 1 2 1 1 1 1 0 0 2 1 0 1 1 2 1 1 0 1 0 1 0 1 1 0 2 0 1 2 1 0 1 2 0 1 1 1 0 1 0 2 1 0 1 2 0 0 1 0 1 0 1 2 2 1 1 0 0 0 1 1 1 0 0 1 1 2 2 1 1 0 1 0 1 1 0 1 1 1 1 0 0 2 1 2 1 1 0 2 1 2 0 0 2 0 0 1 1 2 0 1 NA 2 1 0 1 0 1 1 0 0 1 2 1 2 1 1 1 2 1 0 1 22 | per20 per20 0 0 2 2 2 1 2 2 1 NA 2 1 0 2 0 2 1 1 1 1 1 0 1 2 2 2 1 1 NA 2 2 1 1 1 1 2 2 1 1 1 1 0 0 0 1 0 0 1 1 1 1 1 1 0 0 1 2 1 1 1 0 1 2 1 1 1 NA 1 1 1 0 2 0 1 1 1 1 2 2 0 1 1 0 1 1 1 1 1 1 0 0 1 1 0 0 1 2 2 1 2 2 1 2 1 0 2 0 1 2 0 1 1 0 2 1 0 0 2 0 1 1 2 1 2 2 1 1 0 2 1 1 0 1 1 1 0 1 0 2 2 1 1 0 1 1 0 1 0 1 2 1 1 0 2 0 1 2 2 1 2 0 0 1 1 1 1 0 0 1 2 0 0 1 1 1 1 1 1 1 0 0 1 0 1 2 0 1 1 1 2 0 0 2 0 2 0 1 2 1 0 1 0 2 1 0 1 2 0 0 0 1 0 0 1 2 2 1 1 0 1 0 1 2 1 0 0 2 1 0 1 2 1 2 1 0 NA 0 2 1 0 0 1 1 1 0 1 0 2 0 2 NA 1 2 1 0 2 1 0 0 1 2 1 1 0 2 0 0 2 2 1 2 1 1 0 1 2 2 2 0 1 2 0 1 1 1 1 1 1 2 0 1 0 0 1 NA 2 1 1 0 2 0 2 1 0 1 1 0 0 0 2 0 0 2 0 2 1 1 1 1 1 1 1 NA 2 1 1 0 0 0 1 2 0 0 0 0 2 2 1 0 2 1 2 1 0 1 2 1 1 1 2 1 1 1 1 1 2 1 1 0 1 1 0 0 1 0 0 NA 1 0 1 0 1 1 0 2 2 1 1 2 1 0 2 1 NA 0 2 2 0 1 1 1 0 0 1 2 2 0 0 2 1 2 1 0 1 1 1 1 1 0 1 0 1 0 0 0 NA 0 0 1 0 1 1 1 2 1 1 NA 1 1 1 1 1 2 2 0 1 1 1 1 1 1 0 1 0 1 0 2 0 2 0 NA 1 0 1 1 2 2 2 0 NA 0 2 1 1 2 1 1 2 1 2 0 2 2 1 2 1 1 1 1 0 0 1 0 1 1 0 1 1 0 1 1 1 1 2 0 1 1 0 1 NA NA 2 1 1 0 2 1 2 1 0 1 0 1 0 1 1 1 0 2 0 1 2 0 1 2 0 0 1 1 2 0 1 1 2 2 0 2 0 2 0 1 2 1 1 2 1 1 1 0 1 0 2 1 1 1 1 1 0 1 1 1 1 1 0 2 2 0 2 1 2 2 0 0 1 1 1 1 1 1 2 NA 0 0 2 0 2 1 0 0 1 2 0 0 1 0 2 0 1 1 1 2 0 1 2 1 1 1 1 2 1 1 1 2 0 0 1 0 2 0 1 0 0 1 1 0 1 1 2 1 1 2 0 1 0 0 0 NA 1 0 1 0 1 1 0 2 0 0 1 0 0 1 0 1 0 1 1 1 0 0 1 NA 1 1 0 0 1 0 2 1 1 NA 1 1 1 1 0 1 0 1 0 1 0 1 0 1 1 1 1 0 0 2 0 1 2 0 0 0 0 1 1 1 1 2 0 1 0 2 1 0 1 2 0 1 0 2 1 0 0 1 1 0 1 0 1 2 2 2 0 2 1 1 1 2 NA 1 1 1 1 2 1 2 0 2 2 1 2 1 1 1 1 1 2 1 0 0 2 1 1 0 1 0 0 2 2 2 2 1 1 0 2 1 1 1 2 0 1 1 1 0 1 1 2 2 0 NA 1 1 0 1 1 1 1 0 1 1 1 2 0 1 1 1 1 1 2 1 2 1 1 1 0 0 1 0 2 1 1 1 0 2 0 2 0 2 0 1 0 1 1 0 1 0 0 1 2 1 0 2 1 1 1 0 NA 1 2 1 0 1 1 0 2 1 0 1 0 1 1 0 2 1 1 1 2 1 1 2 1 0 1 2 1 0 0 1 1 1 2 1 1 2 1 1 0 1 0 0 2 0 1 1 0 2 2 0 0 2 1 1 1 1 0 1 0 1 2 1 1 1 1 0 1 1 0 1 1 1 2 1 1 1 1 0 1 1 0 1 2 0 2 2 2 1 2 1 0 1 1 1 0 0 0 1 2 0 1 1 1 1 2 0 1 1 2 1 1 2 0 1 1 2 1 1 1 1 1 2 0 2 0 1 0 2 1 1 1 0 1 2 2 2 1 1 1 2 1 2 0 1 0 1 NA 1 1 1 1 1 1 1 0 0 2 0 1 2 1 23 | per21 per21 0 0 2 2 1 1 NA 0 1 0 1 2 2 1 1 1 1 0 2 0 1 2 1 0 1 2 0 1 2 0 1 1 0 NA 1 0 2 1 1 1 2 1 1 1 1 1 1 0 NA 0 1 2 2 2 1 1 2 0 1 0 1 1 0 1 0 1 0 2 1 1 1 1 0 0 0 0 1 1 1 2 0 NA 2 0 2 2 1 0 1 1 1 0 1 2 1 0 1 1 1 1 1 NA 1 2 2 2 0 0 0 0 0 2 0 0 0 0 1 1 2 1 0 1 1 1 1 2 0 1 NA 2 1 1 1 2 2 1 2 1 1 2 0 0 1 1 0 0 0 1 1 2 0 2 0 1 0 0 0 0 2 0 1 1 1 2 1 0 0 1 1 0 1 1 1 2 1 1 0 0 1 1 0 1 1 1 2 2 1 1 0 0 0 0 1 1 0 1 2 1 1 1 0 0 1 2 2 2 1 0 0 2 0 2 1 1 1 1 2 1 1 0 0 1 0 0 1 1 1 1 2 1 1 1 1 2 2 0 0 1 1 0 1 1 1 0 2 2 1 1 0 0 0 1 0 1 0 0 1 1 1 2 1 0 1 1 0 1 1 1 1 1 1 1 2 1 NA 2 2 0 0 0 0 0 1 1 1 1 2 1 1 2 1 1 0 0 1 1 0 2 2 0 1 0 1 2 0 0 2 2 1 NA 1 0 0 1 0 2 0 0 0 1 2 1 1 0 0 1 2 1 1 1 1 1 2 1 1 NA 0 NA 0 2 2 2 1 1 0 1 2 1 1 0 0 1 0 1 0 1 1 2 1 2 0 1 1 1 1 0 1 0 0 1 2 1 1 1 0 0 2 0 2 1 1 1 1 2 0 0 0 0 1 1 2 1 1 1 0 2 2 0 1 1 2 1 2 0 1 1 1 0 2 0 2 1 0 2 0 1 2 1 2 0 1 2 1 0 0 0 1 1 0 1 1 1 2 1 1 1 0 2 1 1 2 1 2 1 1 1 1 1 1 0 0 0 2 1 NA 1 2 0 1 1 1 1 1 1 0 1 1 1 1 2 1 0 2 1 0 1 0 0 1 1 0 1 1 0 1 1 1 1 0 0 0 2 1 1 2 1 1 2 0 NA 2 1 1 NA 0 1 1 0 1 1 1 0 2 1 1 0 1 1 0 1 0 0 1 1 0 2 2 2 1 1 0 1 1 1 1 1 2 NA 1 1 1 1 0 2 0 1 1 0 2 2 0 2 0 1 1 2 0 1 0 0 2 0 2 0 1 1 0 1 0 2 1 2 1 2 1 1 1 1 0 0 1 1 1 1 1 2 2 1 2 0 1 1 NA 0 1 2 1 0 2 1 1 NA 0 2 NA 1 NA 1 1 1 1 NA 0 1 2 1 0 NA 1 1 2 1 1 0 0 0 1 2 0 2 2 0 1 2 NA 1 1 0 0 1 0 1 0 1 1 0 1 0 2 2 1 1 NA 0 1 0 1 0 0 1 2 0 1 1 1 0 1 0 0 2 1 1 2 2 2 0 0 1 0 0 2 1 0 1 2 0 1 1 1 0 2 1 1 1 0 2 0 1 1 2 0 2 1 1 1 0 1 2 1 0 0 1 1 1 2 0 1 0 0 0 2 1 1 1 2 0 2 1 1 1 1 0 1 0 2 0 1 0 0 2 2 1 0 1 0 0 1 1 2 0 0 0 1 0 1 2 1 NA 2 1 1 2 2 2 1 1 2 1 1 0 1 2 1 1 2 2 2 1 0 1 1 1 1 0 0 1 2 NA 0 2 2 1 1 0 1 1 1 2 1 2 NA 1 2 1 0 0 1 0 1 NA 2 1 1 1 0 1 0 1 1 2 1 1 1 2 1 2 1 1 1 0 2 0 0 1 1 0 1 2 2 0 2 1 2 0 0 1 1 0 0 2 0 0 1 0 NA 1 1 1 1 1 1 NA 0 0 2 2 1 1 1 1 0 1 1 2 1 2 0 1 0 2 1 0 0 0 1 1 1 1 1 0 0 1 0 1 1 2 1 1 1 1 0 0 0 0 0 2 0 1 1 2 1 0 0 1 1 1 0 0 1 1 2 1 1 2 0 1 2 1 0 0 0 1 0 1 2 1 1 1 1 NA 1 0 1 0 NA 1 1 0 1 0 1 1 1 0 1 1 2 2 1 0 0 0 0 1 1 1 2 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 2 0 1 1 1 1 0 2 1 1 2 2 2 1 0 1 1 2 NA 1 1 0 24 | per22 per22 0 0 2 2 1 1 1 0 0 1 0 1 2 2 2 1 1 0 2 2 0 0 2 1 0 2 2 1 NA 0 0 1 0 0 0 0 0 1 0 2 1 1 0 0 2 1 2 2 1 0 0 1 0 0 1 NA 0 0 1 2 0 2 1 1 1 0 1 1 0 2 1 0 1 1 1 0 0 1 1 0 0 0 1 0 2 1 1 1 1 2 2 1 0 1 0 1 0 2 0 2 2 1 0 1 2 1 0 0 1 2 1 2 1 1 0 1 1 1 0 1 1 2 2 2 0 0 0 0 2 0 1 1 0 0 0 1 2 1 0 1 0 1 2 1 1 1 0 1 0 2 0 2 2 1 1 NA 0 2 2 1 0 2 0 1 1 1 0 1 0 2 2 1 2 0 1 1 1 1 1 1 2 2 1 1 2 1 2 1 1 2 1 2 2 2 1 1 0 1 1 1 1 1 2 1 2 1 0 2 2 1 1 1 2 2 0 1 2 1 0 0 1 0 1 2 0 1 0 2 0 1 0 1 1 1 0 2 1 0 1 0 0 2 1 1 1 2 2 2 0 1 1 1 0 2 1 1 0 1 2 1 0 0 1 2 0 0 1 1 1 1 2 2 2 1 0 0 0 1 2 0 1 1 2 0 1 1 0 2 0 1 1 2 NA 2 1 1 0 1 2 1 1 1 1 1 1 1 1 0 2 0 1 0 1 2 1 2 1 0 2 0 1 0 2 1 2 2 1 NA 1 1 1 1 1 1 1 0 2 1 1 0 0 0 1 0 1 1 0 2 1 0 1 1 1 1 1 1 0 0 1 1 1 0 1 1 1 0 0 1 2 0 1 1 0 1 0 0 1 0 1 0 2 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 1 2 1 2 2 0 0 2 1 1 1 0 2 2 1 1 0 1 1 1 1 1 2 1 1 2 1 2 2 1 1 1 0 1 1 0 0 0 1 1 0 0 0 2 1 0 2 0 2 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 0 2 1 1 1 0 1 1 1 1 0 0 1 1 1 1 1 2 2 0 2 0 0 1 2 2 0 1 1 1 0 1 2 0 2 1 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 2 1 1 1 2 1 0 2 2 0 0 2 0 2 1 1 NA 1 1 1 1 2 0 1 2 0 0 0 1 0 1 2 2 1 1 0 1 1 0 1 2 1 0 0 1 1 NA 1 2 2 1 1 0 1 0 1 0 2 2 1 2 1 2 1 1 1 2 0 1 1 2 1 1 2 1 1 1 2 1 1 1 0 2 1 2 2 0 1 2 1 2 2 1 1 1 NA 2 NA 1 0 0 1 1 1 1 1 0 2 0 2 1 1 1 0 1 1 1 0 2 1 1 0 1 2 2 1 2 2 1 2 1 1 1 0 NA 0 1 2 1 0 1 0 0 2 NA 0 1 2 1 1 1 1 1 0 1 1 1 2 1 1 NA 1 2 1 0 1 1 1 1 0 2 2 0 1 1 NA 1 0 2 2 0 0 0 1 1 1 1 0 2 2 2 2 1 2 2 0 1 1 1 1 1 0 0 0 0 1 1 2 0 2 0 2 1 1 0 1 1 0 1 1 1 0 1 1 0 1 2 0 2 0 1 1 2 1 0 1 1 0 1 0 0 0 1 1 1 0 NA 2 2 1 1 0 0 2 0 2 1 2 0 0 0 1 0 0 2 2 1 2 2 0 1 0 0 1 0 1 1 1 1 1 1 1 0 1 0 0 1 1 1 1 1 2 1 1 0 0 1 1 2 1 2 1 1 1 2 1 2 0 1 2 0 1 0 1 2 0 0 0 2 2 1 1 0 1 0 1 0 1 1 2 NA 1 1 0 0 2 1 1 1 1 2 0 2 2 1 NA 0 2 0 2 1 2 1 0 0 1 1 2 0 0 2 1 0 2 0 2 1 0 1 1 0 NA 0 0 1 1 1 2 1 1 1 0 1 0 1 2 1 0 1 1 1 0 2 1 1 0 0 0 1 1 1 1 1 2 0 1 0 0 0 2 2 0 1 2 1 1 1 1 NA 1 1 2 0 2 2 1 0 0 1 0 1 2 0 0 1 0 0 2 2 2 NA 2 1 1 0 2 2 1 1 1 2 1 2 2 0 1 0 1 1 2 2 0 0 1 1 1 1 1 0 2 2 0 1 2 1 1 1 2 1 1 1 0 1 0 2 1 25 | per23 per23 0 0 2 2 0 1 1 1 1 1 0 1 0 2 1 1 1 0 1 1 2 1 0 2 1 1 2 0 1 1 1 1 1 0 1 1 1 1 2 0 2 1 1 2 0 1 1 2 1 1 1 1 NA 2 1 1 1 1 0 2 2 0 2 2 1 0 1 0 1 0 2 1 2 2 1 1 0 2 1 NA 1 0 0 0 1 2 1 1 2 1 1 2 0 0 1 0 1 1 0 1 0 0 NA 1 0 1 1 1 1 1 1 NA 0 1 1 2 1 2 1 1 0 1 1 1 0 0 0 1 0 0 2 1 1 2 1 1 2 0 0 2 0 1 0 1 1 1 1 1 1 2 2 1 0 1 NA 1 2 1 2 1 1 1 2 0 2 0 2 0 NA 0 1 1 2 1 1 NA 1 0 1 0 0 2 1 0 0 1 1 1 0 1 1 0 2 0 1 1 2 1 2 1 2 1 0 0 1 1 2 1 0 2 2 1 2 2 1 2 0 2 0 1 1 0 1 0 0 0 2 1 2 2 2 1 0 1 1 2 1 0 0 2 1 0 0 1 2 1 1 1 2 2 0 1 1 0 1 2 0 2 1 0 0 2 0 1 0 0 2 1 1 0 0 0 0 2 1 1 1 2 0 1 1 0 2 1 1 0 0 1 1 0 0 1 0 0 0 1 2 0 1 1 2 NA 0 1 0 0 1 0 1 1 0 0 1 2 0 0 1 1 0 2 0 1 2 2 1 0 1 2 2 1 0 1 2 2 1 1 0 1 0 1 0 1 1 1 1 2 0 0 0 1 2 0 1 1 0 1 2 2 2 0 2 1 0 2 1 0 0 2 1 1 NA 1 2 0 0 1 1 2 0 1 0 0 2 2 2 2 1 0 2 1 2 1 1 1 1 0 1 0 1 1 1 1 0 1 0 0 2 1 1 0 0 2 1 2 2 1 0 1 1 0 0 2 1 1 0 1 1 0 0 1 0 1 1 2 1 1 1 1 1 1 0 1 0 0 1 1 0 1 1 1 2 0 0 1 1 1 NA 0 2 0 0 1 0 1 0 1 0 1 2 1 1 NA 0 2 0 1 1 1 2 0 1 1 1 0 0 0 0 2 0 2 2 0 1 1 1 0 1 0 1 2 0 1 0 1 1 2 2 0 2 1 2 1 1 1 2 0 1 2 2 1 0 0 1 0 0 NA 1 0 NA 0 0 1 0 2 1 1 2 2 2 0 NA 1 2 0 1 1 1 0 1 1 0 2 1 1 1 1 0 1 1 1 1 1 0 0 2 0 1 0 1 2 2 0 0 2 1 1 1 1 1 1 1 1 2 0 1 1 NA 2 1 1 2 1 2 1 1 1 1 0 1 1 1 1 1 1 0 0 1 2 1 2 1 2 1 1 2 1 1 2 1 NA 2 1 2 2 1 1 1 1 1 2 1 1 1 1 0 0 1 0 1 2 0 1 2 2 2 0 1 0 1 2 1 0 1 1 1 1 0 0 1 1 1 2 1 1 1 0 1 1 1 2 2 0 0 2 1 1 0 1 1 1 0 1 1 1 0 0 1 2 0 NA 0 1 0 2 1 2 1 0 1 2 1 1 1 0 2 2 0 1 1 0 2 1 1 2 1 0 0 1 2 2 1 1 1 0 1 0 1 2 0 1 0 2 0 0 1 2 2 0 0 1 1 1 2 0 0 1 1 0 1 1 2 1 2 2 2 1 1 2 0 1 2 0 0 1 1 1 0 0 0 1 1 1 1 1 0 2 1 1 2 2 1 1 0 1 1 2 0 NA 1 1 1 1 2 0 1 2 0 2 2 0 1 1 2 0 1 1 1 1 1 0 1 1 2 0 1 1 2 1 2 1 0 0 0 1 0 1 1 1 1 1 1 0 0 0 1 2 2 0 2 1 2 1 1 1 2 0 1 1 1 1 1 0 1 1 0 1 1 2 2 0 2 0 1 2 0 1 1 0 0 2 1 0 1 0 1 NA 1 1 2 1 0 1 1 1 1 0 1 0 NA 1 NA 1 0 1 2 1 0 1 1 1 1 1 1 0 0 1 1 0 0 1 1 1 1 2 2 1 1 1 1 1 2 0 0 1 1 2 NA 0 2 1 1 2 1 0 0 1 1 2 2 1 1 1 1 1 0 1 0 1 1 1 0 2 1 0 0 1 0 0 1 1 2 0 0 1 1 NA 0 0 1 0 2 2 2 1 1 1 0 0 1 0 0 0 0 1 0 2 2 1 0 1 2 1 1 0 1 1 2 0 2 0 1 2 1 1 26 | per24 per24 0 0 2 2 1 2 NA 2 1 0 0 1 0 NA 2 1 0 2 2 2 1 2 2 0 1 2 0 0 2 1 1 0 2 0 0 1 1 2 0 1 1 1 1 1 1 1 1 0 1 2 NA 2 2 2 2 NA 2 1 0 0 1 1 1 1 1 0 1 1 2 2 0 0 1 1 2 1 1 1 2 0 1 1 2 2 2 0 2 1 2 0 2 2 1 0 0 1 1 2 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 NA 1 2 1 1 1 2 0 0 2 1 1 2 2 0 1 0 0 0 1 1 1 0 1 2 1 1 0 1 1 0 1 1 0 2 1 1 2 0 2 0 0 0 2 1 2 0 0 2 1 0 2 1 1 2 0 0 0 2 2 1 2 1 1 0 0 0 1 0 2 1 2 1 1 1 0 2 2 1 1 1 0 1 0 1 0 1 1 NA 0 1 0 2 1 0 2 1 0 1 1 1 0 1 2 0 2 0 1 1 1 0 0 2 0 0 1 1 1 1 1 0 0 1 1 1 2 1 1 1 1 1 1 0 NA 1 1 1 1 1 2 0 0 2 0 2 1 1 1 1 1 2 1 1 0 1 0 1 2 0 0 1 1 NA 1 1 2 2 2 1 0 1 1 1 1 0 1 0 0 2 2 2 0 2 1 2 1 2 2 2 1 1 0 1 2 1 2 0 0 1 1 0 1 2 0 2 1 0 0 2 0 2 1 0 2 0 1 0 0 0 1 1 1 1 2 1 2 0 0 0 2 0 2 2 1 2 2 0 1 0 0 1 1 1 1 1 1 1 0 2 0 0 2 0 1 1 2 0 0 0 1 2 1 1 0 2 0 0 0 0 1 2 0 0 1 2 2 0 0 1 1 1 1 1 NA 0 2 2 1 0 2 1 1 0 0 0 1 1 1 0 1 1 1 NA 1 2 2 1 1 1 0 1 1 1 1 2 1 0 1 2 0 1 0 0 2 1 1 0 1 0 0 1 1 0 1 2 0 0 1 1 0 1 0 NA 1 1 0 0 1 2 0 1 0 1 1 2 1 1 1 1 1 0 1 1 1 1 0 0 1 2 1 2 1 0 0 1 2 1 2 1 2 0 2 2 1 1 2 2 1 1 1 2 2 1 0 0 0 1 1 1 2 1 2 0 0 0 2 1 1 1 1 1 2 1 1 1 0 1 NA 0 1 2 2 0 0 NA 0 1 0 2 1 2 1 1 1 0 0 1 1 0 0 0 1 1 0 1 0 1 1 1 2 2 2 1 0 0 1 2 0 1 0 0 1 2 1 1 0 1 2 1 2 2 1 0 1 1 1 2 0 1 0 0 0 0 2 0 1 1 1 0 1 0 1 1 1 1 1 1 1 0 2 1 1 1 1 1 2 2 1 2 0 1 0 1 2 2 0 1 2 1 1 1 1 1 2 1 1 0 1 1 1 0 0 0 0 0 0 2 2 0 0 1 1 0 2 2 0 0 0 1 1 2 1 1 0 0 2 0 2 1 0 2 0 1 2 0 1 0 0 1 0 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 1 0 0 1 1 0 0 2 1 0 1 1 1 1 0 2 2 1 0 1 2 1 1 2 1 1 1 1 1 1 1 1 0 1 1 0 0 0 0 0 2 1 1 2 0 0 1 0 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 2 0 0 2 2 2 NA 2 0 1 0 0 0 0 0 1 1 2 0 1 1 2 1 2 1 1 2 1 0 1 1 2 1 1 0 1 1 2 1 1 1 2 1 2 1 2 1 2 0 2 0 1 1 1 1 1 2 0 2 1 1 1 2 1 0 1 2 1 2 1 0 0 2 1 0 1 2 1 2 0 2 1 2 1 1 1 1 1 0 0 2 2 1 0 2 0 1 1 1 1 2 2 1 0 1 2 1 1 1 0 1 0 1 1 1 1 1 0 1 0 1 1 1 2 1 0 1 1 1 1 2 0 1 1 2 1 2 0 1 0 2 2 1 1 2 0 0 1 1 0 1 0 1 2 2 2 1 0 NA 0 0 1 2 NA 1 1 1 0 1 1 1 2 1 0 1 1 1 1 1 1 1 1 1 0 2 0 1 0 0 1 1 2 1 1 0 1 0 0 1 1 0 0 1 2 0 2 2 0 1 0 1 1 0 0 0 0 1 2 1 1 0 0 1 1 0 1 0 0 1 2 1 2 0 1 1 1 27 | per25 per25 0 0 2 1 0 2 0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 0 1 2 0 1 2 1 0 2 0 0 1 0 2 1 1 1 0 0 2 0 2 0 1 1 0 1 2 1 0 0 0 2 0 0 1 1 1 1 0 1 0 2 1 1 1 2 NA 1 1 2 1 NA 2 1 1 1 1 0 1 0 1 1 2 0 0 1 1 0 1 1 0 1 0 1 1 0 1 1 0 2 2 1 1 2 2 1 0 1 0 2 0 0 1 1 1 1 1 1 0 2 1 2 1 1 0 0 0 1 1 1 1 2 0 1 1 0 1 1 1 1 2 2 2 1 1 2 0 0 1 2 2 2 0 2 2 0 1 1 1 2 1 0 0 0 2 0 2 1 0 2 1 1 0 1 0 2 1 0 2 2 1 1 1 0 1 1 0 1 1 1 0 2 2 0 0 2 2 0 0 1 1 1 1 2 1 0 0 0 NA 2 1 2 0 1 1 1 0 0 1 1 1 1 0 1 0 1 0 1 1 1 0 0 1 2 1 2 2 2 1 0 2 0 0 2 0 NA 2 1 1 2 0 2 1 0 1 0 1 2 1 0 0 0 2 1 1 0 0 1 2 1 0 2 1 1 1 2 0 0 2 0 0 1 1 0 2 1 1 0 0 1 0 2 2 1 2 1 0 0 2 1 1 1 0 0 1 2 1 0 1 1 1 NA 2 1 1 1 1 1 2 1 0 1 2 1 NA 0 0 1 0 0 NA 1 1 NA 2 0 1 0 1 1 0 1 0 1 0 2 1 1 0 0 1 2 2 1 2 0 0 1 2 1 2 2 1 1 0 0 2 0 0 1 1 0 1 0 2 1 1 1 1 2 0 1 1 1 1 0 1 0 2 0 NA 1 2 1 1 0 2 1 1 2 2 2 2 2 1 1 1 2 0 2 1 2 0 2 2 2 0 1 0 1 1 1 1 1 1 1 2 1 0 1 1 1 0 1 1 1 0 1 1 0 0 1 1 1 1 0 2 2 1 1 0 1 0 1 0 2 1 1 1 1 0 0 1 1 1 2 1 2 1 2 1 1 0 2 1 0 1 0 2 0 1 2 1 0 0 0 2 0 1 0 2 1 1 1 1 2 1 1 0 1 1 0 0 0 1 2 1 2 0 2 1 NA 1 2 0 0 1 0 2 2 1 1 1 0 NA 0 0 1 1 1 1 1 0 1 2 1 1 0 1 0 0 1 1 1 2 0 0 0 0 2 1 1 1 1 1 1 1 1 1 2 0 0 1 1 1 1 0 NA 2 1 0 1 2 0 1 0 1 2 0 0 1 1 1 0 2 0 2 0 2 0 1 1 0 1 0 0 2 1 1 0 0 0 1 1 0 1 0 0 0 1 1 2 1 1 1 1 1 0 1 0 2 0 2 1 0 1 0 1 1 2 1 2 1 0 0 0 0 1 1 2 0 0 1 1 2 1 1 0 2 0 1 1 1 0 0 1 2 1 0 0 0 2 0 0 0 0 1 0 1 1 1 2 1 1 0 2 1 2 1 1 1 2 1 0 0 1 1 2 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 2 1 1 1 1 1 1 1 0 1 1 1 1 0 2 1 1 2 1 2 NA 0 2 1 0 1 0 0 2 0 1 0 1 1 0 1 1 2 1 1 0 1 0 1 1 0 0 1 0 0 1 2 NA 0 0 1 0 1 1 0 2 1 2 1 2 2 0 1 1 2 0 0 1 1 1 2 0 NA 0 0 0 2 0 2 0 1 1 1 1 1 2 2 2 0 1 2 1 2 1 1 1 1 0 1 1 0 1 0 1 1 0 0 2 NA 2 2 1 1 1 1 1 1 1 1 1 2 1 1 0 1 1 2 0 0 1 2 1 1 1 1 1 0 2 0 1 1 0 0 0 1 1 1 1 0 1 1 0 2 1 1 2 0 1 2 0 1 2 0 2 2 2 1 1 2 1 0 0 0 2 2 1 1 1 0 0 2 1 0 1 0 0 1 1 1 1 0 1 1 1 1 0 2 1 1 0 0 1 1 1 1 1 0 0 1 2 1 0 0 2 1 1 0 1 NA 1 1 2 1 0 2 2 0 2 1 0 1 1 1 0 1 1 0 0 1 0 0 1 1 1 2 2 1 0 0 1 1 0 2 2 0 1 1 NA 1 2 0 1 2 2 0 0 0 2 1 2 2 1 1 0 0 1 1 1 1 1 0 NA 1 0 1 1 1 1 1 1 2 2 0 28 | per26 per26 0 0 2 2 2 2 1 2 1 1 1 1 1 1 NA 1 2 1 1 1 0 0 1 2 0 1 0 2 1 0 1 1 2 1 1 1 0 1 0 0 0 1 2 1 1 1 1 2 0 NA 2 1 0 0 1 0 0 1 1 2 1 0 NA 1 1 1 2 1 2 0 1 1 1 2 0 1 0 0 1 1 1 NA 1 0 1 0 0 1 0 0 0 1 2 1 2 1 1 0 1 1 2 1 NA 2 0 1 1 1 0 1 1 0 2 2 2 1 1 2 0 1 2 0 0 0 0 0 0 0 2 1 0 1 0 1 0 1 0 2 1 0 2 0 0 0 1 1 2 1 1 2 1 0 1 0 1 2 0 1 1 1 0 0 0 2 2 1 2 1 0 2 1 1 1 1 2 2 0 NA 1 1 0 2 1 2 0 1 1 2 2 0 1 1 1 2 0 0 1 1 0 0 1 1 0 1 2 1 1 0 0 1 2 1 1 NA 1 1 0 1 0 0 2 0 1 0 0 0 2 2 1 1 2 1 0 2 2 1 0 0 1 1 1 2 0 0 2 1 1 0 1 1 1 2 0 0 1 0 2 0 2 0 1 0 2 1 1 2 2 1 1 0 2 1 1 0 1 1 2 0 2 1 0 2 1 1 1 1 0 0 1 1 2 0 0 1 0 2 1 2 2 1 1 2 2 1 1 2 1 0 1 1 0 1 1 1 1 0 NA 0 1 1 1 0 2 1 0 1 1 1 2 NA 0 1 2 1 1 1 1 1 NA 1 1 0 1 1 1 0 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 2 0 0 1 1 2 1 1 1 0 0 1 1 1 0 1 0 0 2 2 1 2 1 0 1 0 1 1 1 1 0 1 1 0 1 2 0 2 1 0 0 0 1 1 0 0 0 2 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 2 1 2 1 0 0 2 0 NA 2 2 1 1 2 1 1 1 0 1 0 0 1 2 1 1 0 0 0 1 0 1 1 1 1 0 1 0 1 0 0 NA 0 0 0 2 1 1 0 1 2 0 2 1 2 2 2 0 1 1 2 1 1 0 1 0 2 1 0 0 1 1 1 1 1 2 2 2 2 1 1 1 0 1 1 0 1 1 0 0 1 1 1 2 0 0 2 2 1 1 1 NA 1 2 0 1 0 1 2 1 1 1 1 0 1 2 2 1 2 0 1 1 0 1 0 2 0 0 0 1 1 2 1 0 0 1 0 0 1 0 1 1 0 0 2 0 2 NA 2 2 2 0 0 0 0 1 NA 1 1 1 0 1 NA 0 0 1 0 0 1 0 0 0 1 2 0 2 0 0 2 2 0 1 1 1 1 0 0 1 1 0 2 1 1 0 1 0 2 1 0 0 2 2 2 1 1 1 1 1 1 1 1 2 2 NA 0 0 2 2 1 1 1 2 1 2 1 NA 0 1 0 1 NA 1 1 1 0 1 1 1 2 1 1 2 1 1 1 1 1 1 0 1 2 2 2 0 1 0 1 1 1 2 1 1 1 2 0 1 2 1 1 1 1 1 1 2 0 1 0 1 0 1 2 2 0 0 2 1 0 NA 2 1 1 2 1 0 2 0 0 0 0 0 1 2 0 1 1 1 1 0 1 0 0 NA 1 0 0 2 2 0 1 1 1 1 0 1 1 0 1 0 1 1 1 0 1 2 1 0 2 2 1 1 2 2 1 0 1 0 2 1 1 1 0 1 0 1 2 2 0 1 0 1 1 2 1 0 2 0 1 0 0 1 1 0 1 1 0 0 1 1 NA 0 1 2 0 1 2 0 0 2 1 2 1 1 1 1 1 0 1 NA 1 0 2 0 0 2 1 0 1 1 0 1 2 1 0 0 0 1 1 1 2 0 NA 0 1 0 2 1 1 1 1 0 1 2 1 1 2 1 2 2 0 2 0 2 2 0 1 1 0 1 0 0 1 1 1 NA 1 1 1 0 2 1 0 0 1 1 1 1 1 1 1 1 1 2 2 0 1 1 2 2 2 1 2 0 1 0 0 1 1 0 2 2 1 1 0 1 1 1 2 1 1 1 0 0 1 0 0 1 1 2 2 0 0 1 1 0 2 1 0 0 0 1 1 0 1 1 2 1 2 2 1 2 0 1 2 2 1 1 2 2 1 0 0 2 0 1 0 1 0 1 2 2 1 0 0 1 1 1 0 1 1 1 1 1 0 1 0 1 NA 1 2 0 1 0 0 1 2 0 1 29 | per27 per27 0 0 2 1 1 0 1 2 1 2 0 0 1 1 1 2 0 0 1 2 0 0 0 0 1 1 2 1 NA 1 1 2 1 0 2 0 NA 0 0 1 0 1 2 0 0 0 1 1 0 1 0 0 2 1 1 1 1 2 1 2 0 NA 1 1 0 1 1 0 1 2 2 1 NA 1 1 0 0 1 1 2 1 1 1 1 1 2 1 2 1 0 2 1 0 0 1 1 0 0 1 0 0 1 1 1 1 0 1 0 0 1 1 1 2 1 1 1 1 0 2 1 0 2 0 1 1 0 1 0 1 0 2 0 1 1 0 0 1 0 2 0 0 0 2 1 1 1 2 0 2 1 1 0 0 0 1 1 1 NA 0 0 0 1 1 1 1 2 1 0 1 2 1 NA 1 0 1 0 2 1 2 0 0 1 0 2 1 2 1 2 1 NA 0 1 1 2 1 NA 0 0 2 2 0 1 2 2 1 1 1 0 1 1 1 2 1 1 1 0 1 0 1 2 1 0 1 0 2 0 0 1 1 0 2 0 1 2 1 2 2 2 1 0 0 0 0 1 2 1 2 0 0 1 0 0 1 0 0 1 1 1 1 0 0 1 2 1 2 1 0 0 0 1 1 1 0 1 2 1 1 1 1 0 0 2 2 0 NA 2 1 0 2 1 2 1 NA 1 2 1 1 0 0 1 0 1 1 1 0 2 2 0 1 1 1 1 1 0 0 0 2 1 1 1 0 1 1 2 0 2 1 2 1 2 1 0 0 0 NA 1 1 2 1 NA 1 2 2 2 2 2 1 1 0 0 2 2 1 1 0 1 1 2 2 1 1 1 NA 1 1 1 1 2 1 0 0 2 2 0 0 1 1 2 NA 1 2 0 1 1 2 2 1 1 1 0 NA 1 1 2 0 0 1 1 1 0 2 1 NA 2 1 0 2 2 0 1 2 2 1 0 0 1 1 0 0 1 0 2 1 2 1 1 1 1 1 NA 1 2 1 0 1 1 NA 2 1 1 0 1 1 1 0 0 1 0 1 1 2 0 0 1 0 1 1 1 1 1 0 2 2 1 0 0 0 1 0 0 2 1 0 1 1 1 2 2 0 2 1 1 2 0 1 0 1 1 1 1 0 0 2 2 2 1 0 2 0 1 1 2 1 1 1 1 0 2 0 0 2 2 1 1 0 1 1 0 1 1 2 1 0 2 0 1 1 0 0 1 1 1 1 2 1 1 0 2 2 1 2 1 0 2 1 0 2 1 1 2 0 1 1 1 0 1 1 1 0 1 1 1 2 NA 0 1 NA 1 0 2 0 0 2 1 2 1 1 0 2 1 1 1 1 0 0 1 1 2 1 0 0 0 1 2 2 2 1 1 1 1 2 2 2 0 2 0 NA 1 0 2 2 0 0 0 0 0 0 1 1 2 0 1 1 2 0 1 1 0 0 1 1 1 1 1 1 1 1 NA 2 2 1 2 0 1 1 0 0 0 1 2 1 1 1 1 2 2 1 2 0 1 0 1 0 1 0 1 2 2 0 1 2 1 2 2 0 0 1 1 0 1 0 2 0 1 1 0 2 0 2 0 0 1 0 1 2 0 0 0 2 0 0 0 1 NA 1 2 2 0 1 1 0 1 1 2 2 1 0 0 1 0 0 2 1 2 1 0 0 1 0 1 1 0 2 0 2 0 1 1 0 2 0 1 1 0 1 1 2 1 2 2 2 1 1 0 2 1 1 1 0 2 1 0 1 1 2 0 0 2 0 1 0 2 1 1 1 0 0 1 1 1 1 1 1 2 0 0 1 0 1 2 1 1 1 0 0 0 0 2 2 2 0 1 0 0 1 0 2 2 0 1 2 0 2 2 2 1 0 2 0 0 2 1 1 1 1 0 2 0 1 1 0 0 1 1 2 1 1 1 0 2 2 0 2 0 0 0 2 0 0 1 1 1 2 1 2 1 0 0 1 2 0 2 1 1 1 1 1 2 1 2 2 1 1 2 1 1 1 1 0 2 0 1 1 1 0 2 1 2 0 2 1 1 1 2 1 1 1 0 2 1 2 1 1 0 0 1 2 0 1 2 1 0 0 0 0 0 1 1 0 0 1 1 1 1 0 1 0 1 2 0 0 1 1 0 2 1 2 2 0 1 0 0 1 1 2 1 0 1 1 1 2 1 2 1 1 0 1 0 2 1 1 0 1 1 2 0 2 0 1 0 0 1 0 1 0 1 1 0 2 0 1 1 1 0 2 0 0 2 1 1 0 0 1 1 0 0 2 0 1 0 1 1 1 2 30 | per28 per28 0 0 2 2 2 1 1 2 1 2 1 0 0 2 1 1 2 1 1 1 1 0 0 1 2 0 1 0 2 0 1 0 1 1 1 0 1 1 2 1 2 1 NA 0 1 1 1 1 1 2 0 2 2 1 NA 0 0 1 2 1 0 1 1 1 0 0 1 0 1 1 1 1 0 0 1 1 2 0 1 0 1 1 0 0 0 2 1 1 2 0 2 0 1 0 2 2 0 0 1 0 0 1 1 0 0 1 1 1 1 NA 1 2 1 1 1 0 0 1 2 0 1 1 1 1 1 0 1 2 0 1 1 2 2 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 0 1 2 1 0 1 0 1 0 2 NA 1 0 0 1 0 1 0 1 0 1 2 1 0 1 0 0 1 1 1 1 1 1 1 1 0 0 2 1 2 0 0 1 1 2 1 1 2 2 1 2 2 1 2 0 1 0 2 1 2 0 1 0 1 1 0 1 1 1 2 0 1 1 2 1 NA 1 1 0 NA 1 1 2 2 2 1 2 2 1 2 1 1 2 2 1 2 2 0 0 0 2 0 1 1 1 1 1 0 1 0 1 1 2 0 1 1 2 1 2 1 2 0 1 1 1 1 0 0 0 NA 2 0 1 1 1 1 1 1 0 NA 1 2 0 2 1 0 1 0 0 2 1 0 1 1 1 1 2 1 2 2 2 2 0 1 2 2 0 1 1 0 0 0 0 0 0 0 1 0 0 2 2 0 1 1 1 1 0 2 0 1 2 1 NA 1 2 1 1 0 1 0 0 0 1 0 1 1 0 1 1 0 1 0 1 0 1 0 1 1 1 1 1 2 2 0 2 1 2 1 2 0 0 1 0 1 0 1 1 1 0 1 1 1 1 1 1 1 0 1 0 NA 0 0 1 1 2 0 2 0 2 0 0 2 0 0 0 1 0 1 0 0 0 1 0 0 2 2 0 2 1 2 1 2 1 1 1 2 0 1 1 1 1 1 0 1 1 NA 2 1 2 2 NA 0 0 0 0 2 1 2 2 2 1 1 0 2 0 1 1 0 0 1 1 0 0 1 0 1 NA 0 0 0 2 1 1 2 2 1 2 2 1 NA 2 1 1 2 2 0 0 0 0 1 1 1 1 1 0 2 0 0 2 1 1 1 1 0 0 0 1 1 0 2 2 1 1 1 1 0 0 0 1 1 2 1 1 2 0 1 2 0 1 2 1 1 1 1 1 1 1 0 2 1 0 NA 0 1 1 1 1 0 1 0 2 0 0 2 2 1 2 0 0 0 1 0 1 1 1 1 2 1 1 1 1 0 2 2 2 0 2 2 0 0 1 0 0 1 2 0 0 0 1 2 0 0 0 1 1 1 0 1 0 2 1 1 1 0 0 1 1 0 1 2 0 1 1 1 1 1 2 2 1 2 1 1 0 1 1 1 1 1 1 1 1 2 0 1 1 2 0 2 0 2 2 2 1 0 1 0 1 2 0 1 1 1 1 0 1 0 2 0 0 1 1 1 1 0 NA 1 0 0 0 NA 0 1 1 1 2 0 1 NA 0 1 1 NA 1 1 1 0 0 1 2 1 1 2 1 1 0 0 2 2 0 0 2 1 1 1 1 0 1 1 2 1 0 1 0 2 1 0 2 0 0 0 0 1 1 2 1 1 1 0 1 0 0 0 1 1 1 0 2 1 0 2 0 2 0 1 0 1 1 1 0 2 2 2 2 0 0 1 1 0 1 1 1 2 1 1 2 0 2 1 2 2 2 2 1 2 1 1 0 1 2 2 1 1 1 1 1 1 1 2 2 2 0 1 0 1 1 1 0 0 1 0 1 2 1 1 2 0 1 0 0 0 1 0 0 0 2 1 0 2 2 1 2 1 2 2 1 1 1 0 0 1 2 1 1 0 1 2 2 2 1 0 1 1 NA 1 NA 0 1 2 0 1 2 0 2 1 1 0 2 0 1 0 0 1 1 2 0 0 0 1 1 2 1 1 1 0 1 0 0 1 1 2 1 1 1 1 1 0 2 0 1 0 1 0 2 1 1 1 1 1 1 1 2 2 1 1 NA 2 1 2 2 1 1 1 2 1 2 0 0 2 1 0 1 0 1 2 1 0 NA 1 2 2 NA 1 0 0 0 1 2 1 1 1 1 2 1 1 1 2 0 0 1 1 0 0 2 1 1 1 1 1 1 0 0 1 0 2 2 1 1 2 1 0 0 0 1 1 1 0 0 1 0 1 1 2 0 2 1 0 1 1 0 1 1 0 0 2 31 | per29 per29 0 0 2 1 1 2 0 0 1 1 2 0 0 1 2 0 2 0 0 1 2 2 2 1 1 2 1 0 0 2 0 0 1 0 2 1 0 1 2 2 0 1 0 1 2 0 2 1 1 2 1 1 1 1 1 2 0 2 1 0 0 0 0 1 2 1 1 1 1 2 1 1 2 1 0 1 1 1 0 1 1 1 2 1 0 0 1 0 1 0 0 NA 2 0 0 0 1 1 2 1 2 2 1 1 1 2 1 2 1 1 1 1 1 1 0 1 0 1 0 2 0 1 1 1 0 0 0 0 2 1 1 2 1 1 2 1 0 0 0 0 1 2 0 1 1 1 2 1 1 0 NA 1 1 0 1 1 2 1 0 1 0 1 1 0 0 2 0 2 1 1 2 0 1 1 0 1 0 1 0 2 1 1 1 1 1 2 0 2 2 0 2 1 1 2 1 1 2 2 1 0 2 1 1 1 2 0 2 0 0 0 0 1 0 1 1 1 2 0 0 2 2 1 2 2 1 2 1 2 0 1 1 0 1 1 1 1 1 1 2 1 1 1 1 1 0 0 2 0 1 1 NA 1 1 2 1 1 NA 2 0 1 0 1 1 0 1 0 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 2 0 1 NA NA NA 2 0 1 1 0 0 2 1 2 1 0 0 1 0 0 1 1 1 1 1 1 2 2 0 2 1 0 1 1 1 1 1 1 1 0 2 2 1 1 2 2 0 0 0 2 NA 1 1 1 1 1 1 1 1 0 1 2 0 1 1 2 1 2 2 1 1 2 0 1 0 0 2 2 0 1 1 1 0 1 1 1 0 0 1 1 1 1 1 0 0 2 1 0 1 1 2 1 1 1 1 1 0 1 1 0 1 1 0 1 2 1 0 2 1 1 0 0 2 0 2 0 0 1 1 2 1 2 1 1 NA 1 1 0 2 NA 1 1 1 2 1 2 1 0 1 1 1 2 0 0 0 1 1 0 0 1 0 1 2 0 1 1 1 0 2 2 1 0 2 0 1 0 1 1 1 0 0 0 0 1 0 2 1 2 1 1 1 0 0 1 1 1 1 0 1 2 2 0 2 1 2 0 2 2 0 2 2 2 1 1 1 1 1 2 2 1 1 2 1 1 2 0 1 1 1 1 0 1 1 2 0 2 0 0 1 0 2 0 1 2 0 1 0 0 1 1 0 1 1 0 2 0 1 2 1 1 0 1 0 1 1 2 0 2 0 1 2 1 1 1 0 1 1 1 2 2 2 1 1 2 0 1 2 1 0 0 0 2 0 0 1 2 2 1 0 2 0 1 0 2 1 1 1 1 0 0 0 1 0 0 1 0 1 2 0 0 2 2 2 1 1 1 0 0 1 2 0 1 1 2 2 1 0 2 1 1 2 0 1 1 2 2 0 1 0 1 0 2 1 0 2 0 1 0 1 1 0 1 0 1 1 1 0 1 1 0 0 1 1 0 1 0 1 1 2 0 1 0 0 1 1 1 0 2 1 1 2 1 0 1 2 1 0 1 1 1 1 0 1 1 0 1 1 0 0 1 1 2 1 2 1 1 1 2 2 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 2 2 0 0 1 0 0 1 1 0 1 1 1 1 1 0 2 0 2 1 1 1 1 1 0 2 0 1 1 0 1 0 1 1 1 1 0 1 1 2 2 0 1 1 1 0 1 1 0 1 1 1 1 0 1 2 1 0 1 2 0 2 0 0 1 2 2 1 0 1 1 1 1 1 2 0 1 2 0 2 1 1 1 1 1 0 2 1 1 1 1 1 2 2 1 2 0 1 0 NA 1 0 0 0 1 1 2 1 2 1 1 2 1 1 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 1 1 2 2 0 1 1 0 1 1 1 1 0 1 2 1 0 2 0 2 1 0 1 2 2 1 2 0 0 2 1 1 0 1 1 1 1 1 0 0 2 NA 0 1 1 0 1 1 0 2 2 0 NA 0 2 1 2 1 2 1 1 1 0 0 1 1 2 1 NA 0 1 1 0 1 0 1 1 1 2 2 1 1 1 0 1 NA 2 1 2 1 0 1 1 0 2 1 0 2 1 2 1 1 1 2 0 2 0 1 1 1 2 1 2 0 1 2 1 2 1 1 0 NA 0 2 1 1 1 0 1 1 1 0 1 1 1 1 0 2 1 1 1 1 2 0 1 1 1 2 1 2 0 1 2 2 1 0 2 0 32 | per30 per30 0 0 2 2 0 0 1 1 1 0 1 0 1 0 1 0 0 1 2 NA 1 0 1 1 1 1 1 2 1 1 2 0 1 0 2 2 0 2 1 0 1 1 1 1 1 1 0 2 0 1 1 0 1 1 0 1 0 1 1 0 2 2 1 1 2 0 0 1 2 2 0 1 1 1 1 2 0 1 2 0 1 1 1 0 0 0 1 0 2 0 0 0 1 2 0 0 0 NA 1 2 1 0 NA 1 1 0 0 2 1 2 0 1 1 2 1 1 2 0 1 1 1 0 2 2 1 1 2 1 0 1 1 0 1 1 0 0 0 0 0 0 2 0 0 2 0 1 1 1 0 1 0 2 1 0 1 2 0 0 1 2 2 1 0 1 1 1 0 2 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 2 1 0 2 0 1 0 0 2 1 1 0 2 1 1 0 1 2 0 0 1 0 NA 1 1 1 1 2 2 0 2 1 0 1 1 1 0 0 0 0 1 1 1 0 0 NA 1 1 1 1 1 2 1 1 2 2 2 0 1 0 1 1 1 0 2 1 1 1 0 2 2 2 1 0 1 1 2 0 1 0 0 1 1 2 0 1 1 1 1 2 0 0 0 1 2 0 1 2 1 1 0 2 2 NA 2 2 1 1 0 2 1 2 0 0 1 0 0 1 0 0 1 0 0 0 0 2 1 1 2 1 0 2 1 0 0 2 1 1 0 1 0 2 1 2 1 2 1 1 1 1 1 0 2 0 1 0 2 2 NA 0 1 2 2 0 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 2 1 1 0 1 2 1 0 1 NA 0 0 1 1 2 1 2 2 1 1 1 1 0 2 1 1 1 2 1 0 1 1 2 1 1 2 1 2 2 2 1 1 0 1 2 2 0 0 1 2 1 1 1 1 0 0 1 0 1 1 0 1 1 1 1 0 0 2 2 1 2 1 1 2 0 1 2 0 0 0 1 1 0 0 0 1 2 1 0 1 1 2 0 2 2 0 1 1 1 1 0 1 1 1 NA 1 0 1 0 2 1 1 0 0 2 2 0 1 1 0 1 0 NA 1 2 1 0 2 2 0 1 1 0 2 2 2 0 1 1 1 1 1 2 1 0 1 1 1 2 0 0 1 0 1 0 1 0 0 1 2 0 1 2 0 0 0 0 1 1 0 1 0 1 1 0 1 1 0 2 2 1 0 2 1 2 2 1 1 1 0 NA 1 1 1 1 0 1 0 1 0 1 1 1 1 1 0 1 1 1 1 1 0 2 1 NA 0 0 1 NA 1 0 2 1 1 1 0 2 1 0 1 2 0 1 0 2 2 2 1 0 0 2 1 1 0 1 1 2 0 0 0 0 2 2 0 1 0 2 1 0 2 1 1 0 2 1 1 NA 0 1 1 1 1 1 0 0 1 2 1 0 2 2 0 1 0 1 1 0 1 1 2 1 0 0 1 0 0 0 2 1 1 1 0 1 0 2 1 2 1 1 2 1 1 0 2 0 1 1 0 1 1 0 2 1 2 1 2 0 1 1 0 0 2 1 1 0 0 0 0 1 2 1 1 1 1 1 1 0 0 1 1 1 1 0 1 1 0 1 2 2 2 0 1 1 1 2 1 1 0 0 0 1 1 1 0 0 1 2 0 0 0 0 1 1 1 0 2 1 1 0 0 2 1 0 1 1 1 1 0 1 1 0 0 0 1 2 1 1 1 0 0 1 0 1 1 0 1 0 1 1 1 0 0 1 0 1 1 1 1 1 2 1 1 0 1 0 0 2 1 1 0 0 1 2 1 1 0 2 1 1 1 0 1 2 1 1 0 1 1 1 1 1 2 2 0 1 1 2 1 2 2 2 2 1 1 1 1 1 0 0 2 2 2 0 1 2 0 1 0 0 0 2 2 1 1 1 0 1 1 1 2 0 1 1 1 1 2 1 0 1 1 0 0 0 2 1 0 1 1 1 1 1 2 0 1 1 1 2 1 2 1 0 0 0 0 1 1 1 0 1 1 0 1 2 1 1 1 0 0 0 1 1 2 1 1 0 2 0 1 1 2 2 1 1 NA 1 NA 0 NA 1 1 1 0 1 0 2 0 1 0 1 0 1 0 1 1 1 0 0 1 1 2 0 1 0 0 1 1 0 0 1 1 0 1 1 0 1 1 0 0 2 1 0 1 1 0 1 1 NA 0 1 1 1 2 1 1 1 0 1 0 2 1 0 2 0 1 1 2 1 0 1 1 1 0 33 | per31 per31 0 0 2 2 1 1 0 1 1 0 1 0 2 0 1 1 1 1 1 0 1 1 0 0 0 0 0 1 0 2 1 2 1 1 0 0 0 1 1 1 1 1 1 0 1 1 2 0 2 0 2 1 1 0 NA 1 1 1 1 1 2 1 2 0 0 2 2 2 2 0 0 1 1 1 1 1 2 1 1 2 2 0 1 2 2 1 1 2 1 1 1 1 1 1 0 2 1 2 0 1 1 1 0 1 2 1 0 1 0 0 0 2 0 2 0 1 1 2 2 2 1 1 1 0 0 1 1 0 0 1 1 2 0 0 2 2 1 2 0 1 1 0 2 1 0 1 2 1 1 2 0 2 1 1 0 1 2 1 1 0 1 2 1 2 0 0 1 1 2 0 0 0 1 0 1 0 1 2 2 1 1 1 1 1 1 0 0 0 0 1 2 0 0 1 1 NA 0 0 1 1 2 0 1 0 2 1 1 0 1 0 0 0 0 0 1 0 0 2 2 1 1 1 2 1 2 2 0 0 2 0 0 1 1 1 2 0 1 1 1 0 1 2 0 1 0 0 1 0 1 1 1 1 1 1 1 0 1 1 2 2 0 2 0 1 1 NA 1 1 0 0 0 0 1 0 1 2 2 0 1 1 1 2 1 1 0 1 1 0 2 2 0 0 0 2 2 0 0 1 1 0 0 1 1 NA 0 1 1 2 NA 1 1 1 1 1 1 0 2 2 2 2 2 1 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 2 1 1 2 2 1 1 1 0 1 2 NA 0 1 2 0 2 1 0 2 1 2 1 2 2 0 0 0 2 1 1 0 1 0 1 0 0 1 1 2 0 2 2 1 0 1 0 0 1 1 2 2 0 1 NA 1 1 0 0 2 0 0 1 0 1 0 1 2 2 0 2 1 1 2 1 1 0 2 1 0 1 1 1 0 0 2 1 2 0 2 2 0 0 1 2 2 1 0 1 1 1 0 1 0 0 1 0 0 0 1 0 1 1 1 1 1 1 2 1 1 1 1 0 0 NA 0 1 0 1 2 0 1 1 1 1 0 1 0 1 0 2 0 0 2 0 1 1 1 0 1 1 1 0 1 1 2 2 1 1 1 0 1 0 1 0 0 2 1 1 1 1 1 2 1 1 0 1 0 1 0 1 1 2 2 1 1 1 1 2 2 1 1 0 NA 0 1 1 0 1 1 1 1 0 2 1 1 1 1 1 0 1 1 1 1 0 1 2 0 1 1 1 2 0 1 1 1 2 0 1 1 1 2 2 1 1 0 0 0 1 1 2 0 NA 1 2 1 1 1 1 2 2 2 1 0 0 0 2 1 2 1 1 0 1 0 0 2 2 1 2 1 0 1 0 0 2 1 0 1 0 1 0 1 1 2 0 1 2 2 0 0 1 1 1 1 1 0 2 0 2 1 0 0 0 1 0 2 1 2 1 1 0 1 2 0 0 2 2 1 1 1 1 1 1 2 0 0 1 0 1 1 2 2 1 0 1 0 1 0 2 0 2 2 2 2 2 1 0 0 1 0 0 1 0 1 0 2 0 1 0 0 0 2 1 1 0 1 2 0 0 1 0 2 0 1 1 0 0 1 1 0 0 0 1 1 1 1 0 2 0 2 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 2 2 1 1 1 2 1 0 1 1 1 1 1 1 1 1 0 1 1 0 0 0 2 2 0 2 2 1 1 1 0 1 2 0 1 1 2 2 1 1 2 1 1 2 0 2 1 1 0 2 2 1 2 0 1 1 1 1 1 0 1 2 NA 1 0 2 1 1 2 1 0 1 0 1 2 1 0 2 2 1 2 1 1 1 1 2 1 0 1 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 0 2 0 1 0 0 2 1 0 1 NA 1 0 1 0 1 1 1 1 2 1 0 1 1 0 2 0 0 0 0 2 1 0 2 1 2 1 1 1 1 0 0 1 0 2 1 2 1 0 1 0 0 1 1 0 0 1 1 1 1 1 0 2 1 1 1 0 2 2 0 0 0 0 0 2 2 1 2 1 1 0 1 1 1 0 0 0 0 1 1 1 0 2 1 1 1 1 0 2 1 1 2 2 1 1 0 1 0 0 1 2 1 1 1 1 0 1 0 0 2 2 2 0 0 1 1 2 0 1 1 1 1 1 0 1 1 1 1 0 1 0 1 0 1 1 1 0 1 2 34 | per32 per32 0 0 2 1 1 1 1 0 1 1 0 2 1 1 0 2 0 1 0 0 0 1 1 0 2 1 1 0 0 0 0 1 2 1 0 1 1 1 1 1 1 1 1 0 2 1 1 1 1 2 0 0 0 0 1 1 1 1 1 2 2 1 2 0 1 1 2 1 0 2 0 1 0 0 0 0 1 1 1 0 NA 1 1 2 2 2 1 1 1 1 1 1 1 0 1 1 1 0 2 2 0 2 0 1 1 1 0 0 0 0 1 2 1 2 0 1 1 2 1 0 0 1 0 1 2 2 1 0 1 0 1 0 0 2 0 2 1 0 2 2 1 1 1 0 1 0 1 1 1 0 2 1 1 1 2 2 2 0 1 2 1 1 NA 2 1 0 1 1 1 0 1 1 1 1 0 2 0 1 1 0 0 0 1 1 0 1 1 1 1 1 1 1 0 1 0 1 0 0 1 2 1 1 1 2 0 0 1 1 1 2 0 1 2 1 0 1 2 1 NA 0 0 2 1 0 0 2 0 2 1 0 2 0 1 2 1 1 1 2 1 1 1 0 1 0 1 1 0 1 1 0 2 1 1 2 0 0 1 1 NA 1 1 1 1 2 0 0 0 1 1 0 1 1 1 2 0 0 0 0 1 2 0 0 0 0 0 0 1 0 1 1 0 2 1 0 0 0 0 2 0 2 NA 2 2 1 0 2 1 0 1 0 1 1 2 1 0 1 0 1 1 1 1 2 0 1 0 1 NA 2 1 1 1 1 1 1 1 1 2 1 1 2 2 1 0 2 0 0 2 2 1 0 0 2 2 1 2 2 1 1 0 0 0 1 0 1 1 1 1 1 0 0 0 2 1 2 1 2 1 1 1 1 2 0 1 0 1 1 2 1 1 1 2 0 0 1 1 1 1 2 2 1 1 0 0 1 0 1 1 0 0 1 1 1 1 1 2 0 1 1 2 1 1 1 1 1 1 1 0 0 0 NA 1 1 0 2 2 0 1 0 0 2 1 1 2 0 2 2 0 1 0 1 0 2 2 NA 1 2 1 NA 2 2 1 2 1 1 0 1 0 1 1 1 0 1 2 0 1 0 1 0 2 0 0 1 2 0 2 0 0 0 2 2 0 0 0 1 1 2 1 0 2 NA 2 1 2 1 1 0 NA 2 1 0 0 0 0 1 2 0 1 0 1 0 2 2 1 1 1 1 1 1 1 0 1 1 2 1 1 1 1 1 2 2 1 1 2 2 0 2 1 2 2 1 1 0 2 1 2 1 0 2 1 1 0 1 0 1 0 0 1 2 1 1 1 2 1 0 1 2 1 2 0 1 1 0 2 1 2 1 1 1 1 2 0 2 2 0 2 0 0 1 0 0 1 0 0 1 1 2 NA 1 1 0 1 2 0 0 0 1 1 0 1 1 2 0 1 2 0 1 1 1 1 2 0 1 0 2 1 1 2 1 0 1 NA 2 2 2 0 2 0 1 0 1 1 2 2 1 1 1 1 1 0 2 0 1 0 1 2 2 0 1 1 2 0 2 1 1 0 1 2 0 0 1 0 2 1 1 1 0 1 1 1 1 1 2 0 2 2 1 0 1 2 2 1 0 1 2 2 0 0 1 NA 0 1 0 1 1 1 1 2 2 0 0 2 0 0 0 1 2 1 1 1 NA 2 1 0 2 0 0 2 0 0 0 0 1 1 0 2 1 2 1 1 1 1 1 2 0 NA 1 NA 0 1 0 0 2 NA 0 NA 2 0 0 0 0 0 1 0 2 1 0 1 0 0 1 1 2 0 0 0 0 1 0 0 2 0 1 1 0 0 2 1 2 1 1 0 0 0 1 0 1 1 1 1 2 1 2 0 NA 0 0 2 1 1 1 2 2 2 0 1 0 1 0 1 2 1 0 0 2 1 1 1 0 NA 1 0 1 1 2 1 1 2 1 1 0 0 0 1 0 0 1 1 0 0 1 2 0 2 0 1 0 1 2 0 1 2 1 0 1 0 0 0 1 1 NA 1 1 NA 1 2 1 0 1 1 1 1 1 1 1 1 1 1 2 1 1 0 1 1 1 0 0 1 0 0 1 1 0 0 2 1 1 0 0 2 1 0 0 2 2 2 0 2 2 1 1 0 1 0 2 1 1 1 1 1 2 1 2 2 0 2 0 2 1 1 0 0 2 0 2 2 0 0 1 1 2 2 0 0 0 1 1 2 2 0 1 1 1 2 1 2 1 1 1 0 0 1 1 1 0 0 2 0 1 1 1 1 1 1 0 0 1 1 2 2 1 1 0 1 0 35 | per33 per33 0 0 2 1 0 1 0 1 1 1 1 1 0 1 0 0 1 0 1 0 0 2 1 0 1 2 1 1 1 0 2 1 0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 1 0 0 0 NA 0 1 0 0 1 0 0 2 0 1 0 0 2 1 2 0 1 0 1 1 0 1 0 0 1 2 1 2 1 2 0 0 1 0 0 2 0 1 2 2 1 0 0 1 2 1 1 1 2 2 0 0 1 0 2 1 1 0 0 1 1 1 1 1 0 0 1 1 1 0 2 1 0 0 0 1 0 2 1 2 1 2 2 2 1 1 2 2 1 1 1 1 1 1 2 0 0 0 1 1 0 2 1 2 0 1 1 1 0 1 1 1 1 2 1 NA 1 1 1 0 0 1 0 1 0 2 0 1 0 0 0 0 NA 0 2 0 1 0 0 2 0 0 1 0 1 1 1 2 1 1 0 1 1 NA 1 2 2 1 0 1 0 1 1 2 1 1 2 1 2 1 1 1 0 1 1 1 0 1 2 2 2 0 2 1 1 1 0 0 1 1 0 2 1 1 1 0 1 0 1 1 1 0 0 2 1 0 1 1 0 1 0 0 2 0 0 1 1 2 1 0 1 1 1 1 1 2 2 2 0 1 2 1 1 1 2 1 1 2 0 0 1 2 0 2 1 1 1 2 0 0 1 1 0 1 1 0 0 1 0 2 1 1 1 0 0 1 NA 0 2 1 0 1 0 1 0 NA 0 1 2 1 0 2 0 0 0 1 1 0 1 1 0 2 1 0 NA 0 1 1 1 1 0 1 1 0 0 2 0 0 0 1 0 0 0 1 1 1 0 0 0 0 1 1 0 0 1 1 1 1 1 1 1 2 0 1 2 2 1 2 0 1 1 1 0 0 1 0 1 0 0 1 2 1 1 2 2 0 1 1 1 0 0 2 2 0 2 1 1 1 NA 1 0 2 0 1 0 1 2 0 0 1 0 1 0 2 0 2 2 2 1 1 2 2 0 1 1 0 0 1 1 2 2 0 0 1 1 1 1 2 1 2 1 0 1 0 2 2 1 1 1 2 1 2 2 1 1 1 1 1 0 0 1 1 1 0 1 2 1 0 2 1 0 1 1 1 0 1 1 0 1 1 1 1 2 2 1 1 0 1 1 1 2 1 1 1 1 1 2 1 0 0 1 1 0 1 1 2 NA 0 2 1 1 1 0 0 0 1 1 NA 1 1 1 1 1 2 1 1 1 2 1 0 2 0 1 2 0 0 0 0 1 0 1 1 0 0 2 1 1 0 1 1 1 1 1 2 2 0 0 1 1 2 1 1 0 2 0 1 1 1 1 2 1 0 0 1 2 0 2 1 0 1 1 0 1 1 2 1 0 2 1 1 2 0 1 2 1 1 1 0 1 2 1 0 1 0 1 1 0 0 NA 0 1 0 1 1 1 2 2 1 1 0 1 1 1 1 2 2 0 2 0 1 1 0 2 1 0 1 1 1 1 NA 0 0 1 1 0 2 0 0 0 2 0 1 0 1 2 1 2 1 1 2 0 1 0 1 2 0 2 1 2 2 1 0 2 2 1 2 0 2 0 0 2 0 0 2 0 1 0 0 1 2 2 2 0 0 0 2 0 0 1 1 1 1 1 0 2 1 1 2 2 1 1 1 1 1 0 1 0 1 0 1 1 1 1 0 2 1 1 2 1 1 1 1 1 0 1 1 1 1 0 0 NA 0 2 1 0 0 2 2 2 1 1 0 1 0 1 0 1 0 0 2 2 2 1 1 0 2 0 1 2 1 0 1 2 0 1 0 0 0 1 1 1 0 0 2 1 0 0 2 0 0 1 0 0 0 1 1 0 0 2 0 0 1 1 2 1 1 2 1 0 1 1 2 0 1 2 2 1 0 1 1 1 2 2 1 1 1 0 2 2 2 1 0 1 1 1 0 1 1 2 2 0 1 0 1 2 1 1 1 1 1 0 NA 0 NA 2 1 0 0 1 1 2 0 1 2 1 2 1 0 1 1 2 1 1 0 2 2 0 0 0 1 2 1 1 0 1 1 2 1 1 1 1 2 1 0 1 1 2 0 2 1 NA 2 1 0 0 1 1 0 1 1 2 1 1 NA 0 1 1 2 1 0 1 1 1 1 2 2 2 0 1 1 0 1 0 1 1 2 1 1 1 1 2 2 1 1 2 0 2 1 0 1 1 0 2 0 2 2 2 2 1 1 0 1 0 1 0 0 1 0 1 2 2 1 0 1 1 2 1 2 0 1 1 1 36 | per34 per34 0 0 2 2 0 2 1 2 0 2 2 0 0 1 0 1 1 NA 0 1 0 0 1 2 1 0 1 1 0 2 0 1 0 1 1 1 0 1 2 1 0 2 2 1 1 2 1 0 2 0 1 0 1 2 1 2 1 1 0 1 0 2 1 1 0 0 2 1 2 0 1 2 1 2 NA 2 1 0 1 1 0 2 2 1 0 0 1 1 2 2 0 2 2 0 0 NA 1 1 2 1 2 1 0 1 1 1 2 1 1 1 2 1 0 1 2 0 2 1 0 1 1 2 2 1 1 1 2 1 1 2 2 NA 1 0 2 0 1 2 1 2 1 2 0 0 1 0 1 1 0 1 2 2 2 1 1 0 1 1 0 1 1 0 1 0 1 2 0 1 2 1 0 1 0 1 NA 2 1 1 1 2 0 2 2 1 1 2 0 2 1 0 1 1 1 1 1 1 1 0 1 1 0 2 1 0 1 1 0 0 0 2 1 1 1 0 1 1 1 1 2 2 0 2 1 0 1 2 0 2 1 2 2 1 NA 0 2 1 1 0 1 2 2 1 2 1 1 0 1 2 0 1 2 0 0 1 2 2 1 1 1 2 0 0 0 1 2 2 2 1 1 0 1 2 2 0 1 2 1 0 2 1 2 1 1 1 1 2 1 1 1 0 2 1 0 1 1 2 2 1 2 2 0 1 1 1 2 1 2 1 1 0 0 2 0 0 0 0 1 1 0 1 0 1 1 1 1 0 2 1 0 2 2 1 0 0 1 0 1 1 1 0 2 0 1 0 1 0 2 1 1 1 0 1 0 1 2 0 1 0 2 1 1 1 0 1 1 2 1 1 1 1 2 2 0 2 2 1 2 1 1 1 1 1 1 0 1 2 0 1 2 2 2 0 0 2 1 2 0 1 NA 1 1 0 2 0 1 1 2 2 1 2 2 2 2 0 0 2 2 1 0 2 2 2 0 2 1 0 1 0 2 2 0 1 1 2 2 1 1 0 1 0 2 0 1 1 1 1 1 2 1 NA 1 2 2 2 0 2 1 0 2 2 0 0 1 1 1 0 1 0 0 0 1 0 0 2 1 0 1 0 2 1 1 1 2 1 2 1 0 1 1 1 2 2 0 1 0 2 1 0 0 2 1 NA 1 1 1 1 1 1 0 1 2 1 2 1 2 0 1 0 1 1 1 1 0 1 1 2 1 2 2 0 2 2 0 1 1 0 1 1 2 0 1 0 1 0 2 1 0 1 0 1 1 2 1 0 2 2 1 1 1 2 NA 0 1 1 0 1 1 1 2 0 2 1 1 1 1 1 1 0 0 2 1 1 1 0 1 2 1 1 0 NA 2 0 1 1 0 2 2 0 2 0 2 1 1 1 1 1 0 1 1 1 1 1 2 0 1 1 1 1 1 2 2 1 NA 1 0 1 0 1 0 1 1 0 1 1 1 2 1 0 1 0 0 1 1 1 1 0 1 2 0 1 0 1 1 2 1 2 1 1 1 0 0 1 2 0 0 1 0 2 1 0 0 2 0 2 1 0 1 1 1 1 2 0 1 0 1 1 2 1 1 1 1 1 0 1 1 0 1 0 0 1 0 0 1 1 1 1 0 0 0 1 1 0 1 1 1 1 2 1 1 2 1 0 0 1 2 1 2 2 2 0 0 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 0 1 2 2 1 1 1 1 NA 0 0 1 0 2 1 0 1 0 1 1 2 2 1 1 1 1 2 0 2 1 1 0 2 0 1 1 0 2 1 0 2 1 1 0 1 1 0 0 1 1 0 1 1 1 0 2 2 0 0 NA 1 1 1 1 1 1 2 1 1 0 0 0 2 2 1 0 2 1 2 0 0 1 1 1 1 1 1 2 0 1 1 2 1 0 1 1 0 1 2 0 2 1 2 1 1 1 2 1 2 1 1 0 0 1 1 1 1 1 1 2 1 1 1 1 0 1 2 1 0 1 1 1 2 1 0 1 2 1 1 1 2 1 2 1 0 1 1 2 2 0 2 NA 1 2 0 1 0 1 2 1 0 2 2 0 1 0 0 1 0 1 1 1 1 1 0 1 0 0 2 0 2 0 1 1 1 1 1 0 0 0 2 1 1 1 0 0 1 2 1 0 0 2 0 1 1 1 0 2 2 2 1 0 2 0 2 0 0 1 0 1 0 1 1 1 1 0 0 2 1 1 2 0 2 1 0 2 1 0 1 2 0 1 1 1 NA 1 1 1 0 1 2 1 0 0 2 1 37 | per35 per35 0 0 2 1 1 1 1 2 1 1 1 2 1 NA 1 2 NA 1 2 2 2 2 1 1 1 1 0 1 2 1 2 1 1 0 1 1 1 1 1 2 2 0 1 1 0 1 1 1 1 2 2 1 0 0 0 2 0 0 2 0 1 NA 0 1 1 0 2 0 2 1 1 0 1 1 2 0 1 1 1 2 1 1 2 1 1 1 2 2 0 0 1 0 0 0 2 0 1 1 2 2 1 2 0 0 0 1 1 0 1 2 1 NA 1 1 1 0 0 2 1 0 1 1 0 2 2 1 1 1 2 2 2 1 1 1 1 2 2 0 2 1 1 1 2 0 0 0 1 1 2 2 0 2 0 0 1 2 1 1 0 1 1 1 2 1 1 0 1 0 2 0 1 1 1 2 1 1 0 1 0 1 1 1 2 2 0 1 1 0 0 1 1 0 2 1 0 1 0 0 1 0 0 1 2 1 0 1 1 2 0 0 NA 0 1 0 1 0 1 0 2 1 1 0 1 2 2 1 1 2 0 1 1 1 1 2 1 1 1 1 1 1 2 0 1 1 1 1 1 1 1 0 2 1 0 1 0 0 1 0 0 2 1 1 0 1 2 1 1 2 2 1 2 0 2 1 2 1 0 1 2 2 2 1 1 1 0 1 2 1 2 1 1 2 1 1 0 0 1 1 1 1 1 1 0 0 1 0 1 1 0 0 1 2 1 2 1 2 1 0 2 2 1 2 1 1 2 1 1 0 1 0 2 1 1 0 1 1 1 0 1 1 2 1 0 0 1 1 1 NA 2 1 1 2 1 0 2 1 0 1 1 2 0 0 2 0 0 1 0 1 2 2 1 0 0 0 2 0 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 0 0 0 2 0 1 1 0 0 0 2 1 1 0 1 1 1 1 0 2 NA 2 2 2 0 1 1 0 1 1 2 2 0 1 0 2 1 2 1 1 1 2 NA 0 1 1 0 2 1 0 2 0 1 0 1 2 1 1 1 1 1 1 1 1 0 0 0 0 2 2 1 2 2 1 NA 1 0 2 2 1 1 1 1 2 1 0 0 0 1 2 1 2 2 1 1 0 0 1 0 0 1 2 0 0 1 2 2 0 2 2 0 1 2 0 0 0 1 0 2 1 1 0 2 0 2 1 2 1 1 1 1 2 1 2 0 1 2 2 2 0 1 2 2 1 1 2 1 1 1 0 1 1 1 2 1 1 1 0 2 1 1 2 0 1 1 0 0 1 NA 1 0 1 1 1 1 1 1 2 0 1 1 0 1 1 2 0 2 1 0 1 1 2 1 1 0 1 1 0 2 2 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 1 0 2 2 2 1 1 2 0 NA 2 1 0 1 1 1 2 2 1 2 0 1 1 2 0 0 0 1 2 1 0 1 0 1 1 1 1 0 1 1 1 1 2 0 1 1 0 1 1 2 1 1 1 1 0 0 0 1 NA 2 1 1 2 1 0 NA 1 1 2 2 1 1 1 1 2 0 1 1 0 0 0 1 1 2 1 1 1 1 0 1 0 0 0 2 2 1 2 0 1 1 NA 1 0 0 0 2 1 2 0 2 1 0 0 2 1 1 1 NA 1 1 2 1 0 2 1 1 0 0 1 1 1 1 1 0 2 2 2 2 NA 0 1 0 1 1 1 1 2 0 1 1 1 1 1 1 2 1 1 1 2 1 0 0 2 0 0 0 1 0 1 1 0 2 1 1 1 2 2 1 NA 0 1 2 0 0 1 1 1 0 2 0 2 1 1 1 1 2 0 2 0 1 1 0 2 1 1 2 2 0 0 1 0 1 0 1 1 NA 2 0 1 0 1 2 0 0 1 2 2 2 1 1 1 2 2 2 0 2 2 0 0 2 1 1 1 1 2 0 0 1 1 0 1 0 1 1 0 0 0 0 0 0 1 2 2 2 0 0 1 2 0 2 1 1 1 0 1 1 1 0 1 0 1 0 1 2 0 0 1 1 2 1 0 2 1 0 1 1 1 2 1 0 1 1 2 0 0 2 1 1 0 1 1 1 0 1 1 0 1 1 1 2 2 1 2 1 1 0 0 1 0 0 0 2 0 0 0 1 0 1 1 0 2 2 1 0 1 1 1 0 0 NA 0 0 2 1 2 2 2 1 0 1 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 2 1 2 0 NA 2 0 0 1 2 2 1 1 0 1 0 1 0 0 1 0 1 1 38 | per36 per36 0 0 2 1 0 1 0 1 2 1 1 2 1 0 1 2 0 1 2 1 1 2 NA 0 1 0 0 0 1 0 0 2 1 1 1 1 1 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 2 2 1 1 1 2 2 0 1 2 1 1 2 1 1 1 0 0 2 1 2 1 0 1 2 0 1 1 0 2 1 0 0 0 2 1 0 0 1 1 2 1 1 1 0 0 2 0 0 1 1 1 0 1 0 2 1 0 0 1 1 2 1 0 1 1 2 NA 1 1 1 2 0 1 1 1 1 1 2 1 1 0 0 1 2 0 0 0 2 1 0 1 2 0 2 1 0 1 1 0 2 2 1 1 2 1 0 1 1 0 1 1 0 2 2 1 1 1 0 0 0 1 2 1 1 0 2 1 2 0 0 0 0 2 1 1 1 0 2 1 2 2 2 2 0 2 1 0 1 0 0 1 1 1 2 1 1 2 1 0 1 1 2 0 0 2 2 1 1 0 1 1 1 1 2 0 1 1 2 0 0 2 1 1 0 2 1 1 0 1 1 2 0 0 0 1 0 2 1 2 1 1 1 2 1 1 2 0 1 0 2 1 0 2 1 2 2 0 1 2 2 1 1 1 1 1 1 0 1 1 1 1 0 0 1 1 0 1 1 2 1 0 2 1 2 0 2 0 2 0 1 2 2 0 2 1 2 0 2 1 1 2 0 2 0 0 0 2 1 0 2 2 2 0 1 1 2 1 1 0 0 1 1 1 0 1 1 1 0 1 1 1 1 0 NA 2 0 1 0 0 1 1 2 0 2 1 1 1 1 2 1 2 1 0 1 1 0 1 2 NA 1 1 1 0 0 NA 1 0 0 2 1 0 2 0 1 2 1 1 1 2 1 1 2 1 0 2 1 2 0 2 2 2 1 1 1 2 1 2 1 2 1 0 1 0 0 0 1 1 2 0 1 2 1 1 1 1 0 2 1 0 0 2 0 2 0 1 0 1 2 2 1 1 0 2 0 1 1 2 0 1 0 2 0 0 1 2 1 1 1 1 2 2 0 0 0 1 0 1 1 1 2 NA 2 1 1 1 0 1 1 2 1 0 2 1 2 2 0 0 0 0 1 1 1 0 0 1 1 2 1 2 2 1 0 1 2 0 1 0 1 1 1 1 0 2 1 0 1 0 1 1 1 2 1 0 2 1 2 0 0 1 1 0 1 0 1 1 1 1 0 1 0 1 0 0 1 0 0 1 1 0 2 0 1 0 2 1 0 1 1 1 1 0 1 2 1 2 0 1 0 2 0 0 0 2 1 1 1 1 2 0 0 1 1 1 0 2 2 0 1 1 1 1 1 1 1 1 0 0 1 2 1 0 2 1 2 1 1 1 2 1 0 1 1 1 1 NA 1 NA 1 1 0 1 1 2 0 1 2 0 NA 2 2 1 0 1 0 0 2 0 1 2 1 0 1 2 2 0 0 1 0 1 1 1 0 1 1 0 0 0 1 0 0 1 1 1 0 1 1 1 1 1 1 0 1 2 1 2 1 1 1 0 1 0 1 1 0 0 1 1 1 1 0 1 1 2 1 2 0 1 1 2 0 1 1 1 1 1 0 1 2 0 2 0 2 1 0 1 2 2 1 1 2 1 0 1 1 1 1 1 0 0 1 0 2 0 0 0 2 0 0 0 1 1 1 1 2 1 0 1 0 2 2 1 1 0 1 1 1 0 0 0 0 2 0 1 1 0 1 2 1 1 1 2 NA 1 2 0 2 1 0 0 1 1 1 1 2 0 0 1 1 2 2 1 0 0 0 1 0 1 2 0 1 1 2 1 1 2 NA 1 0 1 1 NA 1 1 1 0 2 1 0 0 1 1 1 1 2 1 1 1 2 2 0 1 1 1 NA 1 1 1 1 0 0 0 2 1 0 0 1 1 1 1 2 0 2 1 0 0 0 1 1 2 2 0 2 1 0 0 0 0 0 1 NA 0 2 1 1 1 1 2 1 0 2 2 2 0 1 1 1 1 2 2 0 1 1 2 2 1 1 0 1 0 1 2 0 2 2 1 0 NA 1 1 1 0 0 1 NA 1 0 2 0 1 1 2 2 1 0 1 1 0 1 1 1 1 2 1 0 1 0 1 1 0 2 2 1 0 1 0 1 NA 1 1 1 2 2 0 0 1 1 2 1 1 1 1 1 1 0 0 1 2 0 1 1 0 0 1 0 0 0 0 1 1 0 0 2 1 0 0 1 1 1 1 0 0 1 0 2 0 1 1 1 1 1 1 39 | per37 per37 0 0 2 2 0 2 1 1 1 0 1 1 1 0 0 2 0 0 0 1 1 1 1 1 1 NA 0 2 1 2 1 0 0 1 1 0 1 0 1 2 0 0 1 1 0 1 0 2 2 2 1 1 1 1 2 0 1 0 1 1 1 0 2 1 1 1 1 0 1 1 2 2 NA 1 1 1 0 1 1 1 1 1 2 2 1 0 0 2 1 1 0 1 2 1 0 0 1 1 1 1 2 0 0 1 1 2 0 0 0 2 2 1 0 2 1 2 1 0 1 2 2 1 1 1 2 1 0 1 0 NA 0 0 1 1 1 1 0 2 1 1 0 1 2 1 0 0 1 2 0 1 2 0 0 1 0 1 0 1 1 1 0 2 1 1 1 1 2 0 1 1 1 0 0 2 1 0 2 2 2 1 1 NA 0 1 1 0 1 0 2 0 2 1 0 NA 2 0 0 0 1 1 1 2 1 2 1 1 0 NA 1 2 1 1 1 0 0 0 0 2 1 0 2 2 1 2 0 0 1 1 0 2 1 0 2 0 1 1 0 1 0 NA 1 0 2 2 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 0 0 1 0 2 0 2 1 1 0 2 1 1 0 1 2 1 2 1 0 0 0 0 1 1 1 0 1 1 1 2 0 0 0 1 0 2 1 1 1 1 2 0 2 1 NA 1 1 1 2 1 1 1 1 0 1 0 1 2 2 0 1 2 2 1 1 0 1 1 1 1 1 0 0 2 2 0 1 1 1 1 NA 2 2 2 1 1 2 0 1 1 2 1 0 1 0 1 1 0 0 0 1 NA 2 2 2 2 2 0 1 1 0 0 NA 1 1 1 0 1 1 2 0 1 2 1 1 0 1 0 1 2 1 1 1 0 1 1 1 0 1 2 1 1 1 1 1 1 1 1 1 1 2 2 0 1 1 0 2 1 2 1 1 1 0 2 0 1 1 2 1 0 2 2 0 0 2 2 1 1 1 1 1 1 0 0 1 1 0 1 1 0 2 0 1 1 2 2 2 1 1 0 0 1 1 2 0 1 1 1 2 0 2 1 1 2 1 0 1 0 1 0 0 0 1 0 0 0 1 0 2 0 1 2 2 1 1 0 2 2 1 0 2 0 1 2 0 1 0 0 2 1 2 0 0 0 1 1 0 1 0 0 1 2 1 0 1 0 1 0 2 2 1 1 1 0 1 1 2 1 2 0 2 0 2 0 1 1 2 0 0 0 1 1 1 1 0 0 1 2 0 0 1 2 2 2 0 1 0 0 0 0 1 1 2 1 0 NA 0 NA 1 0 1 1 1 1 0 2 1 1 1 1 0 2 1 1 1 0 1 2 0 2 0 0 1 1 1 1 0 2 1 1 0 0 1 0 1 1 1 0 2 1 2 2 1 1 0 1 NA 2 1 1 0 0 2 0 2 1 0 0 1 1 2 1 1 1 0 0 0 1 NA 1 1 2 0 1 2 2 1 0 1 2 1 1 1 0 1 1 0 NA 1 2 2 1 1 0 1 2 1 1 NA 0 1 0 2 2 1 2 1 2 0 0 1 2 0 2 0 2 2 0 0 1 2 NA 1 NA 1 1 1 1 0 1 0 0 0 2 1 1 2 0 1 0 0 1 1 1 1 2 2 1 1 1 1 1 1 2 0 0 1 1 1 2 2 1 1 1 1 2 1 2 2 1 2 0 0 2 0 2 1 1 0 2 0 1 1 1 1 1 1 1 1 1 0 0 0 1 1 2 1 1 1 1 2 1 1 0 2 1 1 NA 1 2 1 2 1 0 0 1 0 0 0 1 1 0 0 1 2 0 0 1 2 0 1 1 1 0 1 0 1 1 1 1 2 1 1 1 0 1 1 1 1 1 0 2 0 0 1 0 1 0 1 0 1 1 0 0 2 0 2 1 1 2 0 1 2 0 2 1 2 1 1 2 1 2 2 NA 0 0 1 2 1 2 2 2 1 1 2 0 2 2 1 1 1 2 1 1 2 2 0 1 2 0 1 1 1 2 2 0 1 1 1 1 1 2 2 1 1 1 2 1 1 2 0 1 1 1 0 1 2 1 1 1 0 1 0 1 0 1 2 1 0 1 1 1 2 2 2 1 2 2 1 2 1 1 0 1 0 0 1 1 1 1 NA 0 2 2 1 1 1 2 2 1 0 1 2 2 1 1 1 0 0 1 2 1 1 1 0 0 1 2 0 0 0 0 0 0 2 1 0 1 1 2 1 1 1 1 1 40 | per38 per38 0 0 2 2 1 1 0 1 1 2 1 1 1 1 0 2 1 0 1 1 1 2 0 0 1 0 2 1 2 1 1 1 1 1 1 1 2 0 2 2 1 0 1 1 2 1 1 2 0 2 2 1 1 NA 2 0 0 1 1 2 1 1 1 1 0 1 1 0 2 1 1 0 1 1 1 1 1 2 2 1 2 0 2 1 1 1 2 0 0 0 1 1 1 1 2 2 NA 2 1 0 1 1 1 1 1 0 1 1 1 1 0 1 1 0 0 2 1 1 2 1 1 2 1 1 2 1 1 0 1 1 0 1 0 1 1 2 1 0 1 1 0 1 0 1 NA 1 1 1 1 1 2 1 1 0 2 2 NA 1 1 1 1 0 1 0 2 NA 2 2 1 1 2 1 1 2 1 1 1 0 0 1 0 1 2 1 0 2 1 0 2 1 0 2 1 1 1 1 1 0 0 0 1 1 1 0 1 1 2 1 2 1 1 0 2 0 0 1 0 1 1 1 2 1 1 1 2 2 1 2 1 1 1 1 0 NA 0 2 1 1 2 0 1 1 1 1 0 2 0 0 2 1 2 1 1 0 1 1 0 2 1 1 0 2 1 1 0 1 2 0 1 0 1 1 0 1 1 0 1 2 0 0 1 1 0 0 0 1 1 1 0 1 2 1 2 2 1 2 1 2 1 0 1 1 1 0 0 1 0 1 2 1 0 0 2 1 2 1 1 0 1 1 1 1 1 0 0 1 0 0 1 1 1 1 0 1 1 1 1 2 0 2 1 1 1 0 2 2 0 1 2 1 0 1 2 1 1 1 1 1 2 1 1 2 1 2 0 2 1 0 0 2 2 1 1 0 1 2 1 1 0 1 0 0 1 1 NA 0 0 0 2 1 1 1 0 1 0 1 0 2 NA 1 0 1 2 1 0 2 0 1 0 2 1 2 2 1 1 1 1 0 1 1 1 1 2 1 0 NA 2 0 0 1 1 0 1 0 1 1 1 2 0 0 0 0 1 1 1 0 1 2 1 1 0 0 1 1 0 1 1 2 2 1 2 1 1 1 2 1 NA 1 1 2 1 1 1 2 1 1 1 1 2 0 1 0 2 1 2 0 2 2 1 2 1 1 1 0 1 1 1 0 1 0 1 1 1 0 1 2 1 1 2 1 2 2 0 1 0 1 1 0 1 1 0 2 0 0 1 1 1 1 0 1 0 1 1 1 2 0 0 0 1 0 1 1 1 1 2 1 0 1 2 0 0 1 1 2 1 1 0 2 0 0 2 1 1 1 1 1 1 0 2 2 1 2 0 1 0 1 1 1 1 1 0 1 1 1 2 1 2 1 2 1 2 2 1 1 0 1 1 0 2 2 0 2 0 1 0 0 1 1 1 0 1 1 1 0 0 1 2 0 0 0 2 1 1 0 2 2 0 1 2 1 0 2 1 1 2 NA 1 1 1 1 1 0 1 0 0 0 2 1 1 0 1 1 0 1 1 2 2 0 1 2 1 1 1 1 1 1 2 1 0 1 0 1 0 1 0 1 1 1 0 1 0 0 1 1 0 2 0 1 1 1 0 1 2 2 1 1 1 1 2 1 1 1 0 0 1 1 1 1 1 1 1 0 2 1 0 0 NA 0 1 2 1 0 1 1 2 1 2 0 1 1 2 1 0 1 1 0 1 1 1 0 1 2 2 1 1 0 1 0 2 0 2 0 1 2 0 2 1 0 1 0 0 1 1 2 1 0 1 2 1 1 2 1 2 1 2 1 1 0 0 1 2 0 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 0 2 1 1 2 1 2 1 1 NA 1 0 1 1 0 1 2 0 0 0 1 1 0 1 1 0 0 1 2 1 1 1 0 2 0 1 1 1 2 0 1 1 2 0 0 1 2 2 1 0 1 0 1 2 2 1 0 0 0 2 0 0 2 2 1 2 0 1 1 2 2 1 0 0 0 0 1 1 0 0 0 0 2 1 1 1 1 0 2 1 0 2 0 0 0 0 1 1 1 1 1 0 0 1 1 1 2 2 2 0 0 2 0 1 1 1 1 1 0 1 1 1 0 1 0 2 0 0 0 0 1 1 1 0 1 1 2 2 0 0 1 0 0 1 2 0 1 0 1 1 1 2 1 1 2 1 1 2 0 1 0 1 2 1 1 1 0 0 2 1 1 0 1 1 2 1 0 2 2 1 0 0 0 2 2 1 1 1 0 1 2 2 1 2 1 0 0 0 NA 0 2 0 1 1 41 | per39 per39 0 0 2 1 2 0 0 1 1 0 0 0 2 1 1 0 1 1 1 0 1 0 0 2 1 1 1 0 1 1 1 1 0 1 2 2 1 0 2 0 0 2 1 1 1 1 0 1 2 0 1 1 1 1 2 1 1 0 1 0 2 1 2 2 2 2 1 1 1 1 0 2 0 0 1 2 NA 1 1 1 1 1 1 1 0 2 1 2 1 0 2 0 2 1 1 1 1 1 1 0 0 1 0 1 1 1 0 0 2 1 1 0 2 0 1 1 0 0 1 0 1 1 0 0 0 0 1 1 2 1 1 1 0 1 1 1 1 1 1 0 0 1 2 1 1 0 1 2 0 1 2 1 2 0 1 0 1 1 1 1 0 2 0 0 2 0 0 1 1 1 2 1 2 0 1 0 1 1 0 0 1 1 0 1 2 1 0 1 0 1 1 0 0 0 1 1 1 1 1 1 2 0 1 2 1 1 1 0 1 0 2 2 1 0 1 2 1 2 0 0 NA 1 0 1 0 0 2 0 2 0 1 2 2 2 0 0 0 NA 2 0 1 1 0 0 2 2 1 1 0 0 0 1 1 1 1 1 1 0 1 1 1 0 0 0 0 2 1 2 2 2 0 1 1 1 1 0 NA 1 1 1 1 1 2 1 0 0 1 1 1 0 2 1 0 1 2 0 1 0 2 0 1 2 1 0 0 0 0 1 1 1 0 2 1 1 1 0 2 1 0 1 1 1 2 1 2 0 0 1 0 2 0 0 0 1 0 1 1 0 2 1 1 1 1 0 1 0 0 1 0 1 1 0 1 0 1 1 1 2 1 1 0 1 1 2 1 2 2 1 1 1 1 1 1 1 2 1 NA 2 1 1 1 1 0 1 1 1 1 1 0 1 1 1 2 0 2 0 0 2 1 1 1 1 0 0 0 2 0 1 1 1 0 2 1 0 0 2 2 1 0 1 2 1 1 1 0 1 1 0 0 1 1 1 1 0 1 1 2 0 0 1 1 0 1 2 1 1 1 0 1 2 2 1 0 0 1 1 2 0 1 1 2 1 0 0 1 1 1 2 1 1 0 1 0 0 1 1 2 1 2 2 0 0 1 1 1 1 1 2 2 2 2 2 0 1 NA 2 NA 1 0 1 0 2 1 1 0 2 1 NA 1 0 1 1 0 0 1 1 1 2 0 1 1 2 0 0 0 1 1 1 1 1 2 2 1 2 1 1 1 0 0 1 1 2 1 1 1 1 1 2 1 0 0 2 1 2 1 1 1 1 NA 1 1 1 1 1 0 1 0 1 1 0 1 1 2 1 1 2 2 1 1 1 2 2 1 1 0 2 0 NA 1 1 1 1 1 2 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 2 0 2 2 1 1 1 1 1 0 1 1 0 2 1 1 0 0 0 1 1 1 0 2 NA 2 2 2 1 1 0 1 1 0 2 NA 0 1 0 0 0 1 1 1 1 1 1 1 2 1 NA 1 1 2 0 0 1 1 1 2 0 2 1 1 2 0 0 1 0 1 1 1 2 2 1 2 1 0 2 2 0 2 0 2 0 1 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 1 2 1 0 2 2 2 1 2 1 1 1 1 1 1 1 0 1 0 0 1 1 2 0 1 2 0 0 2 2 0 0 2 1 0 1 0 0 0 2 1 0 1 1 0 1 1 1 0 1 0 2 1 0 0 0 2 1 0 2 1 1 0 2 0 1 2 1 1 1 0 0 1 1 0 1 1 1 1 1 1 2 2 0 2 0 0 1 1 0 1 NA 1 0 0 1 2 1 1 0 1 1 1 0 0 0 0 1 1 1 0 1 0 NA 2 0 1 0 1 0 2 1 2 0 0 0 2 1 0 1 0 2 0 2 2 1 1 0 0 0 1 1 0 0 1 2 1 0 2 2 1 0 0 0 1 1 0 1 1 0 1 0 1 2 1 2 2 2 0 1 2 1 1 2 1 0 1 1 1 1 1 1 1 0 1 1 2 0 NA 1 1 1 2 1 1 0 1 1 2 0 2 0 0 0 1 0 1 1 2 0 1 0 1 1 2 0 2 0 2 2 1 0 1 1 2 1 1 1 1 0 1 0 NA 1 1 2 1 1 1 1 1 0 1 0 2 1 2 0 1 2 1 1 2 0 1 0 1 1 1 2 2 1 2 2 1 0 0 2 2 1 1 0 1 0 1 1 1 0 0 0 1 NA 1 NA 2 1 NA 0 0 0 1 1 42 | per40 per40 0 0 2 1 0 0 2 1 2 1 1 1 2 1 0 1 1 2 1 1 1 1 0 1 1 1 2 1 1 1 2 0 0 0 2 2 1 0 2 NA 0 0 0 2 2 1 1 2 0 2 0 1 0 NA 0 0 1 1 2 1 1 0 1 1 1 0 0 1 0 0 1 2 1 0 1 0 1 1 1 0 2 1 0 1 0 1 1 0 2 1 1 1 0 2 0 0 2 2 0 1 1 0 1 1 1 2 0 1 1 1 0 1 2 1 0 0 1 1 2 2 1 0 1 0 0 2 1 1 2 0 0 0 1 2 1 1 0 0 2 NA 0 0 1 0 2 2 0 1 2 2 2 0 0 1 2 2 NA 0 1 1 2 1 2 2 2 0 2 2 1 0 0 1 1 1 0 NA 2 0 0 1 1 0 0 1 0 0 0 NA 0 1 1 2 1 1 1 2 1 0 1 1 2 1 0 1 1 2 0 1 1 1 2 2 1 1 1 1 1 2 2 1 1 1 1 0 1 1 2 1 0 1 1 2 1 1 2 1 0 1 0 0 0 0 1 1 1 1 1 0 2 0 1 1 1 1 2 2 1 1 1 1 1 0 1 1 1 2 1 1 1 1 1 0 2 1 1 0 0 1 2 1 0 2 0 0 0 0 1 1 0 1 1 0 2 1 0 NA 2 1 1 0 0 1 0 0 0 NA 1 2 0 1 1 1 1 0 0 0 1 0 1 0 1 1 1 2 1 2 1 2 0 0 0 2 1 2 1 1 1 1 1 1 0 1 2 1 1 2 0 0 2 1 0 1 1 0 1 1 0 1 1 2 1 0 0 1 2 0 2 0 1 1 2 1 1 1 2 NA 1 1 1 1 0 2 2 1 2 0 1 2 1 2 2 1 0 1 0 1 2 1 0 2 2 2 1 2 0 2 2 0 2 0 1 1 0 0 1 2 1 0 0 0 0 0 1 1 1 1 2 1 2 1 2 1 0 0 2 1 2 2 0 2 0 0 2 0 0 0 NA 2 1 1 2 1 1 2 0 1 0 1 1 0 1 2 1 1 1 1 1 0 0 1 0 1 0 1 0 2 1 1 0 2 0 0 0 2 1 0 2 1 1 0 1 0 1 0 1 2 1 2 2 0 2 0 2 2 0 2 1 2 1 2 1 1 2 1 2 0 1 1 1 1 0 0 0 0 2 1 1 2 0 1 1 1 2 1 1 0 1 2 2 2 1 2 0 2 1 0 2 2 2 1 1 2 2 2 1 1 2 2 1 0 1 1 1 2 1 1 1 2 1 0 NA 2 2 0 1 1 1 0 2 1 1 0 2 0 0 0 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 0 1 1 2 0 1 0 0 1 2 1 1 0 2 1 0 1 1 2 0 1 2 2 0 0 0 1 0 1 1 0 1 1 1 1 1 1 1 0 1 1 0 1 1 1 0 2 1 1 2 0 0 0 1 2 1 0 1 1 1 0 1 0 1 1 NA 2 1 1 2 0 1 1 0 1 2 1 2 1 2 1 NA 1 2 1 2 1 1 0 1 2 1 1 2 1 1 2 1 2 0 2 1 2 1 0 0 2 2 NA 1 1 1 1 1 1 2 1 2 1 0 0 0 1 2 1 1 0 1 1 1 0 0 0 0 1 1 0 1 1 1 2 0 2 1 1 2 2 1 0 1 1 2 0 1 NA 1 1 0 2 1 0 1 1 1 1 2 0 1 1 1 0 1 2 0 0 1 2 1 1 1 0 1 0 1 1 0 1 2 2 1 2 2 0 1 0 1 1 2 2 1 1 1 2 2 1 1 2 2 1 2 1 1 1 2 2 0 1 0 1 2 1 1 1 2 0 1 1 0 0 2 1 0 0 1 2 0 1 0 0 0 1 0 2 1 0 1 1 1 2 2 1 1 2 1 1 0 1 0 0 1 1 1 1 1 0 1 1 2 2 1 2 0 1 2 0 1 2 1 0 1 1 1 0 1 0 1 2 1 1 2 1 1 1 0 NA 1 2 1 1 1 2 1 0 2 0 0 1 1 1 1 NA 1 1 1 1 0 1 1 0 0 1 1 0 2 1 1 1 1 1 0 0 1 1 2 0 0 1 0 0 0 1 1 0 NA 2 0 1 1 1 2 0 0 0 0 1 1 NA 0 0 0 1 1 1 1 0 1 1 1 0 0 2 2 1 0 1 1 1 0 1 1 1 0 0 1 2 0 1 2 1 2 1 0 1 1 1 0 2 1 43 | per41 per41 0 0 2 2 2 1 2 2 1 0 0 1 0 0 2 1 0 1 2 1 0 0 1 0 1 2 0 0 2 1 1 2 1 1 0 1 2 1 1 0 2 1 1 1 1 1 1 0 1 1 0 0 1 2 1 2 1 2 1 1 1 1 1 2 1 2 0 1 1 1 0 2 2 0 NA 0 0 2 1 0 1 1 0 1 1 1 1 1 0 1 1 0 1 0 0 1 2 1 1 0 1 2 1 1 1 1 1 1 2 2 0 2 1 1 1 0 1 1 1 1 0 1 1 2 1 2 1 0 1 2 1 0 0 1 1 2 1 1 1 1 0 2 1 0 0 1 1 0 1 0 1 0 1 0 0 0 1 1 1 0 2 0 2 0 2 1 0 1 1 2 1 1 1 1 0 1 0 2 1 NA 0 1 0 1 0 1 1 2 0 0 0 1 0 0 0 1 0 0 1 1 1 2 0 2 1 1 1 2 0 0 0 1 2 2 1 2 1 1 1 1 1 2 0 1 1 2 1 1 1 1 0 1 1 1 0 1 NA 0 0 2 2 0 1 1 1 0 0 2 0 1 0 0 2 1 1 0 2 1 0 1 1 0 1 1 2 1 1 0 2 2 0 2 1 1 1 0 1 1 0 2 0 1 0 2 0 1 1 1 2 2 0 0 2 1 1 1 1 1 0 0 2 1 2 2 1 1 2 0 0 1 2 0 0 2 1 1 0 1 1 1 1 NA 1 NA 2 2 1 2 1 1 NA 1 1 0 1 NA 2 0 2 1 2 1 1 2 1 0 2 2 0 1 1 0 0 0 0 0 1 0 1 1 0 1 1 1 1 NA 1 1 1 1 2 0 2 0 1 0 1 2 2 1 NA 1 1 2 0 0 1 0 2 1 1 2 1 2 1 1 0 1 0 2 0 1 0 2 2 1 NA 0 2 2 0 1 0 1 2 1 0 1 1 0 1 1 0 1 0 0 0 1 0 1 1 1 2 1 1 0 2 0 0 2 1 2 0 1 0 2 2 0 1 NA 2 0 1 1 2 1 1 1 1 1 1 1 0 0 2 2 1 2 2 1 1 0 1 0 1 0 2 0 1 1 0 0 0 1 1 1 1 NA 2 0 0 1 2 1 2 1 1 1 1 0 1 1 0 2 NA 1 0 1 0 1 1 1 0 2 0 2 1 2 1 1 1 1 0 1 2 2 2 0 2 1 0 1 1 1 1 1 1 1 0 1 2 1 NA 1 1 0 1 1 0 1 0 1 0 2 2 1 2 0 2 1 2 0 NA 1 0 0 1 1 2 1 0 0 2 1 0 0 2 0 0 1 1 0 0 1 2 1 2 1 1 0 2 0 0 0 2 0 0 1 0 2 1 2 0 1 1 2 1 2 1 0 0 1 1 0 1 1 1 1 2 0 2 1 0 0 1 0 2 1 1 1 1 1 NA 1 1 1 0 1 1 1 1 0 0 0 0 2 0 0 2 1 0 2 2 1 0 0 2 0 1 2 2 0 1 1 1 1 0 2 1 0 1 0 1 2 1 1 0 2 2 1 1 0 1 0 1 2 1 0 NA 2 0 1 1 1 0 1 1 0 1 1 0 1 1 2 1 0 2 1 0 1 2 1 1 1 0 2 1 2 1 0 0 1 0 1 1 1 0 0 1 0 0 1 2 2 0 1 0 2 1 0 1 1 2 1 1 0 1 1 0 1 1 1 2 1 2 0 1 0 1 1 0 1 0 2 1 0 1 1 1 1 0 NA 2 1 0 1 2 0 0 1 1 0 0 0 1 0 0 0 0 1 1 1 1 1 1 0 1 1 0 2 2 1 0 1 1 0 NA 0 1 1 0 1 1 0 0 1 0 1 1 0 1 1 2 0 0 1 0 1 1 2 2 0 0 2 2 1 2 0 0 2 1 2 0 1 1 NA 1 0 1 1 0 1 1 1 1 1 1 1 0 1 2 1 1 0 1 1 1 1 0 1 2 0 1 1 0 1 1 1 1 0 1 1 0 1 1 1 1 0 0 1 0 1 1 0 1 0 2 1 1 1 0 2 1 1 1 0 1 NA 1 1 2 1 1 2 0 2 1 0 1 1 1 2 0 0 1 0 0 0 0 2 0 1 1 0 1 1 0 1 1 1 1 1 0 0 0 2 2 0 1 2 2 1 0 1 0 1 0 0 1 1 0 2 0 0 2 1 1 1 2 0 2 2 0 1 0 2 0 2 1 0 2 2 1 1 1 0 1 1 1 1 0 2 1 0 0 2 0 2 1 2 1 2 1 1 44 | per42 per42 0 0 2 2 1 0 0 0 1 1 0 1 2 2 1 1 1 1 1 NA 1 1 0 0 0 1 1 1 0 1 0 1 0 2 0 NA 0 1 0 0 0 NA 0 0 1 2 0 0 0 0 1 0 0 0 1 1 1 0 1 1 1 1 0 0 0 1 0 0 1 1 1 0 2 1 1 1 0 2 0 2 2 0 0 1 1 1 0 2 1 1 1 1 1 2 2 2 1 0 0 1 1 1 1 0 1 2 1 2 1 2 0 1 0 1 2 0 1 0 1 2 2 0 1 2 1 1 1 1 1 1 1 1 0 0 1 1 0 1 1 1 2 1 NA 1 1 2 1 2 0 1 1 0 1 0 2 1 1 NA 1 0 1 0 0 0 1 1 2 1 1 0 1 1 0 NA 2 0 1 0 2 1 1 1 1 1 1 0 2 2 1 2 1 1 0 1 2 1 1 0 1 0 2 1 2 2 2 0 1 1 0 1 1 2 1 0 1 1 1 1 2 0 0 1 1 0 2 2 1 1 1 1 0 0 1 2 0 0 2 0 2 2 0 2 0 1 2 1 2 2 1 0 2 1 0 1 2 1 1 1 0 0 1 2 2 2 1 1 2 0 1 2 0 1 1 1 1 1 1 0 1 1 1 1 1 2 0 1 2 2 0 1 2 2 0 1 0 1 2 2 0 0 1 1 1 1 1 1 2 0 1 1 0 1 2 1 1 1 1 1 2 NA 0 1 2 1 1 NA 2 0 1 1 0 0 1 2 2 2 1 0 1 0 0 1 1 0 1 2 0 2 2 0 1 0 1 0 0 1 0 0 1 0 2 0 2 2 2 NA 0 0 1 1 1 2 0 0 1 2 1 0 1 1 2 0 0 1 1 1 0 1 1 0 0 1 2 1 2 0 2 2 1 2 1 0 0 0 1 1 0 1 0 2 2 1 2 2 1 0 1 2 1 0 0 1 1 1 1 1 NA 0 1 2 0 0 1 1 1 1 1 2 1 0 1 2 0 2 1 1 1 1 0 1 1 1 2 1 1 2 1 0 2 0 0 1 0 1 1 1 2 1 2 0 1 1 1 0 0 1 0 0 1 0 1 0 1 NA 1 0 2 2 0 1 1 2 1 2 1 1 1 1 0 0 1 0 1 0 0 2 1 1 1 2 0 2 1 2 1 1 0 1 2 1 0 1 2 2 0 2 1 0 1 1 0 0 2 2 2 1 2 1 0 2 0 0 2 1 1 1 1 0 0 2 1 2 0 1 0 2 0 1 1 0 1 1 2 1 2 0 1 0 1 2 0 2 1 0 1 1 1 0 0 2 0 1 1 2 1 2 1 NA 0 2 1 0 1 0 2 0 2 1 1 1 1 2 1 0 0 0 1 2 2 0 0 2 0 1 2 1 1 2 2 2 1 0 1 0 0 1 1 2 2 1 0 1 0 2 1 1 1 1 2 2 1 1 1 0 1 1 0 1 0 0 0 0 2 2 NA 1 2 1 1 0 0 0 1 1 1 1 2 1 1 0 0 1 NA 1 1 0 1 2 0 1 1 1 1 0 1 0 2 NA 0 1 0 1 1 1 2 NA 2 0 2 1 2 1 0 1 1 2 1 0 0 0 1 0 0 0 1 1 1 1 0 1 1 2 1 1 1 0 1 1 2 1 2 0 1 0 1 1 1 2 1 1 1 1 1 0 0 2 1 0 1 1 2 1 0 1 0 2 1 0 2 2 2 1 1 1 0 2 2 0 1 2 1 1 0 2 0 1 0 1 1 1 2 1 0 2 1 0 1 1 0 2 0 1 1 2 1 1 1 0 1 1 1 1 1 0 0 2 0 NA 0 1 1 1 0 1 1 2 0 1 1 0 1 2 0 1 NA 1 1 0 1 0 0 1 1 1 0 1 0 1 0 1 1 1 0 0 2 0 1 1 2 1 0 1 0 1 1 0 1 2 1 2 1 1 1 1 0 1 0 1 2 1 0 2 1 1 1 2 0 2 0 0 1 1 2 1 0 1 1 1 NA 2 1 0 1 2 0 0 1 1 1 NA 0 2 0 0 1 2 1 1 1 2 0 2 1 2 2 2 2 2 0 1 1 0 2 2 1 1 1 1 1 1 1 1 1 0 1 1 1 2 2 2 1 1 0 NA 1 0 1 2 0 1 2 0 1 2 2 0 1 0 1 2 2 1 1 1 0 1 2 1 1 1 1 0 1 1 NA 0 1 0 0 1 2 0 1 1 2 1 1 0 1 2 1 0 1 1 0 2 1 1 1 2 0 0 0 0 45 | per43 per43 0 0 2 1 2 0 0 1 0 0 1 2 1 0 1 0 2 1 0 1 0 2 1 2 1 2 0 2 1 0 0 2 1 0 0 0 0 1 1 0 1 1 1 1 1 1 0 0 1 NA 1 1 1 1 0 2 1 1 1 2 2 2 1 2 1 1 0 0 2 1 0 2 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 1 1 1 0 0 2 0 2 0 1 2 1 1 0 1 2 2 0 0 0 1 2 2 0 0 2 1 0 0 1 1 0 0 1 2 1 0 2 0 0 1 1 0 1 2 0 1 1 0 0 2 0 1 1 1 2 0 1 2 1 0 1 1 1 1 1 2 2 1 0 0 0 2 1 0 2 2 1 0 1 2 1 NA NA 1 2 1 0 1 1 2 0 1 1 2 0 1 0 0 1 1 1 1 1 2 1 1 0 0 1 1 0 1 0 1 0 NA 1 0 0 NA 1 0 2 0 1 2 1 2 2 0 1 2 1 1 1 0 0 0 2 0 1 1 1 0 0 0 0 1 1 1 0 1 0 1 2 1 1 0 1 0 1 0 1 1 0 1 1 1 2 2 2 0 1 1 2 0 2 1 0 0 1 1 0 2 0 2 0 2 2 0 0 1 2 2 1 2 2 0 2 1 0 1 0 1 0 1 2 1 0 2 0 1 1 0 0 0 0 1 2 2 1 1 1 1 1 1 0 1 1 0 0 0 2 1 1 0 0 0 0 1 1 0 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 0 0 2 1 1 1 2 0 1 1 1 1 0 1 1 0 1 2 2 0 0 1 1 0 0 1 1 2 0 1 1 1 1 0 1 2 1 1 1 1 1 2 2 0 1 1 2 1 0 1 1 0 0 1 0 1 1 1 0 2 0 0 NA 2 1 1 2 0 1 0 1 0 2 1 2 1 1 2 0 1 0 1 2 2 2 NA 1 0 NA 0 0 1 1 1 2 0 1 2 NA 0 1 1 2 1 1 1 2 0 0 0 0 1 0 1 2 0 0 1 2 2 1 2 2 1 0 1 0 0 1 2 1 0 2 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 2 1 1 0 2 1 2 0 0 0 0 1 0 0 1 2 0 1 1 2 1 1 1 2 1 1 1 1 1 1 0 0 1 1 1 1 0 1 1 2 0 1 1 2 1 1 0 1 2 1 0 1 1 1 2 0 2 1 0 1 1 2 2 1 1 1 1 0 2 2 1 1 2 1 1 1 0 2 0 2 2 2 0 0 1 0 1 0 0 1 0 1 0 1 1 2 1 2 1 0 1 0 1 1 0 1 1 1 1 2 2 1 1 0 0 0 2 0 0 1 NA 0 2 1 0 1 1 NA 2 0 2 0 1 1 1 2 2 0 1 0 1 0 1 2 1 0 1 2 1 0 0 1 1 0 1 0 1 1 1 0 1 1 0 2 2 1 1 1 2 1 1 1 1 2 2 0 1 1 1 1 2 1 0 0 1 1 0 0 0 0 2 1 1 1 2 2 1 1 1 0 NA 2 1 1 1 1 1 1 1 1 0 1 2 1 0 1 0 1 1 1 2 NA 1 1 1 1 1 1 0 0 0 2 0 0 1 2 2 0 0 0 1 1 1 0 1 2 1 2 1 2 0 2 2 2 NA 2 1 0 1 1 1 0 0 0 2 0 1 1 1 1 1 1 1 NA 1 0 1 0 1 0 2 2 1 1 1 2 0 1 2 0 0 0 2 0 0 1 1 0 NA 1 1 1 1 0 0 1 1 1 1 1 2 1 2 0 1 0 2 1 0 0 2 NA 2 1 0 2 2 1 1 0 1 1 1 2 2 NA 2 0 1 2 1 0 2 1 1 1 0 1 0 1 0 1 2 1 0 1 1 2 1 1 2 1 0 2 0 1 0 1 0 2 2 1 1 2 0 1 2 1 2 0 1 2 1 1 0 2 2 1 1 1 2 1 1 1 2 0 0 2 0 2 0 1 1 1 1 0 1 1 2 2 0 1 2 1 1 1 1 1 0 0 1 1 1 0 1 1 1 0 1 1 2 0 2 1 1 1 1 2 1 1 1 0 1 1 1 2 1 1 2 2 1 1 0 1 1 NA 0 0 1 1 2 1 0 1 0 2 1 2 1 0 1 2 NA 1 1 1 1 1 NA 1 2 1 1 2 0 1 1 0 2 2 1 1 2 2 1 2 2 1 1 1 2 1 1 1 1 0 1 1 46 | per44 per44 0 0 2 1 1 1 2 1 NA 1 1 1 1 1 2 1 1 1 1 0 1 0 1 1 2 1 1 2 1 0 2 1 0 0 1 2 0 2 1 1 1 1 1 2 0 1 2 1 0 1 1 1 2 1 0 0 2 1 0 0 0 1 0 0 2 1 1 1 2 1 1 0 1 0 2 2 2 1 0 1 2 2 0 1 0 1 1 0 1 0 0 2 1 2 2 1 2 1 1 1 1 1 1 0 1 1 0 0 1 2 1 0 0 0 2 1 2 1 1 0 1 1 2 1 2 1 1 2 1 2 1 1 2 1 2 1 NA 0 0 NA 1 0 1 0 0 1 1 1 1 2 1 1 1 1 1 1 1 0 1 1 1 0 1 2 1 1 0 2 2 0 0 NA 1 0 2 1 0 0 2 0 0 0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 0 0 0 1 1 1 1 2 0 1 2 0 2 0 0 1 1 0 0 1 1 0 1 0 0 2 1 1 0 2 0 1 2 0 1 0 2 1 0 0 2 1 1 1 0 NA 1 0 0 0 1 0 0 0 0 2 0 0 1 1 2 1 1 2 2 1 2 2 1 0 2 1 NA 1 1 2 0 2 0 0 1 0 0 1 1 2 1 NA 0 1 2 0 0 0 1 2 2 1 0 0 2 2 1 1 0 0 1 0 1 1 0 1 1 1 0 2 1 1 2 1 0 1 0 1 1 2 0 2 1 1 1 1 0 2 0 1 1 1 0 1 0 0 1 1 0 0 2 0 1 1 0 0 1 1 1 1 1 2 1 2 1 1 1 2 0 1 0 0 1 1 2 0 2 0 2 0 1 2 1 1 1 1 2 0 1 0 1 1 1 1 0 1 2 1 0 2 NA 2 2 1 2 0 1 1 1 0 0 0 1 1 1 0 2 0 2 0 1 0 0 0 0 1 1 2 1 0 2 1 2 2 0 2 2 2 2 1 1 0 0 1 1 2 1 2 0 1 2 1 1 2 1 2 1 1 0 1 0 1 1 2 0 0 0 0 0 1 0 1 0 0 0 1 2 1 1 1 1 1 0 1 0 0 0 1 0 0 NA 1 2 1 0 1 1 1 2 1 0 1 2 1 0 2 NA 1 1 2 2 0 0 1 1 2 0 0 1 0 1 1 2 1 0 1 0 1 1 0 0 2 0 0 0 0 1 2 1 NA 0 1 1 2 1 0 1 1 0 2 2 1 1 1 0 1 1 1 NA 1 0 1 0 0 2 0 0 2 2 2 2 1 1 1 1 1 1 1 2 2 1 1 2 0 1 1 0 1 0 1 2 2 0 1 0 1 2 2 2 2 0 1 1 0 1 1 0 1 1 1 2 0 1 2 0 0 1 1 0 0 1 2 1 0 0 1 1 1 1 0 1 1 1 1 2 0 1 1 2 1 0 1 2 0 1 1 1 2 2 1 1 1 1 0 0 2 0 2 1 1 2 1 1 0 0 0 1 1 2 2 1 1 1 1 1 1 2 2 1 2 0 0 2 1 1 1 2 1 1 1 1 1 0 1 0 2 1 1 2 1 2 1 2 0 0 1 1 1 0 1 2 1 1 1 2 1 2 2 2 2 0 1 1 0 0 1 1 0 0 1 2 1 1 1 0 2 1 0 1 2 2 0 1 1 1 1 1 2 1 0 NA 1 2 0 1 2 1 0 1 0 1 2 0 1 1 2 1 1 1 0 0 1 1 2 2 0 1 2 1 1 1 1 2 2 1 1 1 0 1 0 2 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 2 0 2 2 0 0 1 1 0 1 NA 1 2 NA 1 0 2 0 2 1 2 2 1 0 1 1 0 1 1 0 1 0 1 2 2 1 2 2 0 0 1 2 2 0 0 1 1 1 1 1 1 0 2 1 1 0 2 2 0 0 2 0 0 0 2 1 1 1 2 2 1 0 1 1 1 1 1 1 2 0 1 1 1 0 1 2 1 1 0 0 2 1 1 1 2 1 1 2 1 0 1 2 2 2 1 1 NA 1 2 1 0 1 1 0 2 0 1 0 2 1 1 0 1 1 1 1 0 2 1 2 2 1 1 0 NA 0 0 2 1 1 0 2 2 2 2 2 1 1 2 2 1 1 1 0 0 1 1 0 1 1 1 1 0 1 0 2 1 1 0 1 1 2 2 0 0 2 0 NA 1 1 1 0 1 2 1 0 1 1 1 1 0 0 0 0 0 0 1 NA NA 2 0 1 1 1 1 1 47 | per45 per45 0 0 2 1 1 2 1 0 0 0 1 1 1 1 1 0 0 1 1 1 2 2 1 0 2 1 1 1 1 1 1 2 1 2 2 NA 1 1 1 1 2 0 1 2 1 2 1 0 0 0 2 2 2 0 2 0 2 NA 1 0 1 1 1 1 1 0 0 2 0 0 1 1 2 1 0 1 0 1 0 2 1 2 1 0 1 1 1 0 1 1 2 1 NA 0 0 0 1 1 1 0 1 2 0 1 1 1 1 2 1 2 2 1 1 1 0 0 1 2 1 1 0 1 0 0 1 1 1 1 2 1 1 1 NA 1 1 2 0 1 0 1 0 1 0 1 1 1 1 1 2 2 0 2 0 1 1 1 0 2 1 1 0 0 2 0 1 1 2 2 0 1 2 2 1 1 0 0 2 2 1 0 1 0 0 0 1 1 0 1 2 0 2 1 1 0 1 1 NA 1 0 2 1 2 1 0 0 0 1 1 1 2 0 NA 0 1 1 0 0 1 1 0 1 1 0 0 2 0 0 0 1 1 1 0 0 2 0 1 2 1 0 0 1 1 1 0 2 1 1 1 2 1 1 1 2 2 2 0 1 1 2 1 0 1 1 1 1 0 0 1 1 1 1 1 2 0 0 0 0 1 1 0 1 1 0 0 1 0 1 0 0 2 2 1 2 0 1 1 1 1 0 1 0 2 0 0 2 0 1 2 1 1 0 1 1 2 1 1 0 1 0 2 1 0 1 1 1 2 2 1 2 1 1 2 0 0 0 0 2 1 1 0 1 0 2 0 0 0 1 1 0 1 1 1 0 1 1 2 1 1 1 2 2 0 0 1 1 2 1 0 1 2 2 1 2 0 0 2 2 0 0 1 NA 0 1 2 0 1 2 0 1 0 1 1 1 1 0 1 1 1 1 1 1 0 0 1 1 2 1 0 2 1 2 1 2 1 1 1 1 2 2 2 2 2 1 2 2 0 1 2 1 1 1 2 0 2 1 1 0 1 0 0 1 1 0 1 1 2 1 1 1 2 1 1 2 1 1 0 0 2 1 1 2 1 2 1 0 0 1 1 0 0 1 0 1 1 2 2 2 0 1 1 1 0 0 0 1 1 1 1 1 1 0 0 2 0 1 2 1 0 1 1 1 1 1 0 0 0 2 2 1 2 2 0 0 2 2 0 1 1 0 NA 0 0 1 1 2 0 0 1 1 1 2 1 1 0 1 1 2 1 0 2 1 0 1 0 1 0 0 0 2 2 1 0 1 1 0 2 1 2 1 1 1 0 1 1 1 0 0 0 0 1 2 1 1 1 0 2 1 0 1 NA 0 1 0 1 2 0 1 2 1 0 1 0 1 1 1 1 1 1 2 1 2 0 0 0 1 1 2 0 1 1 2 1 1 1 0 0 0 1 1 1 1 1 0 1 1 0 0 1 1 1 2 1 1 1 1 1 1 0 0 0 1 1 1 1 0 1 2 1 0 1 1 0 2 2 1 1 2 1 1 2 0 0 1 2 1 0 1 1 1 0 1 1 NA 2 1 1 2 0 1 1 2 1 0 0 2 1 1 1 2 0 1 2 1 0 2 1 1 0 0 1 1 1 NA 0 1 2 2 2 0 0 1 0 1 0 1 1 2 2 1 1 2 0 0 1 0 0 2 2 2 1 1 2 1 2 1 1 1 0 2 2 1 1 0 1 0 1 1 0 0 1 1 1 1 0 NA 1 2 0 0 1 1 1 2 1 2 0 1 1 0 2 1 1 2 1 1 0 1 1 1 1 2 1 0 0 1 0 1 0 1 0 1 2 2 1 1 1 1 0 0 0 2 1 2 2 0 1 2 0 0 1 0 2 1 0 1 1 1 1 1 0 0 2 1 0 0 1 0 0 0 1 2 2 1 2 0 1 0 0 2 2 0 1 1 0 1 1 0 1 2 1 0 0 1 0 1 0 1 1 1 1 1 0 0 0 0 2 1 0 1 1 1 0 0 1 0 2 0 2 1 2 1 2 1 1 2 0 1 2 2 0 2 2 0 2 0 0 1 1 1 1 2 2 0 2 1 0 2 2 0 1 1 1 1 0 2 2 1 0 1 2 2 1 0 2 2 0 0 0 1 2 2 1 1 1 1 1 1 1 1 0 1 0 1 1 0 2 1 2 2 2 1 2 1 1 0 1 2 1 1 1 1 0 2 0 1 2 0 1 2 2 0 1 1 2 0 1 0 1 NA 1 1 0 0 0 2 0 1 1 2 1 0 1 2 0 1 2 1 0 1 1 1 2 0 2 48 | per46 per46 0 0 2 1 1 0 2 1 1 1 1 2 1 0 1 1 1 0 1 2 1 1 2 1 2 0 2 1 1 1 1 1 0 2 1 2 1 1 1 0 1 1 1 1 0 2 0 1 1 0 1 1 1 2 2 0 0 2 1 1 2 0 1 1 1 2 2 1 1 1 1 1 0 1 1 0 1 0 1 1 0 NA 1 1 0 2 0 1 0 1 0 2 0 1 0 1 2 1 0 0 1 1 1 0 0 1 1 1 1 0 1 1 0 2 1 2 2 0 1 1 2 1 0 2 1 0 2 1 2 1 2 1 1 0 2 1 1 0 1 1 1 0 2 0 1 1 0 1 1 0 0 2 0 1 2 1 2 2 2 2 0 1 1 0 0 1 1 1 1 2 1 0 0 1 1 1 0 1 0 0 2 1 0 1 1 1 1 1 2 1 NA 0 1 1 2 2 1 1 1 1 0 2 0 1 1 NA 0 2 1 1 1 0 0 0 0 0 1 1 1 1 0 2 2 1 2 0 0 1 0 2 2 1 1 0 0 2 0 0 0 1 2 2 0 1 1 NA 1 2 0 1 1 2 0 2 0 1 2 0 2 1 1 1 1 0 2 0 0 0 2 2 1 1 1 0 0 0 0 0 2 1 1 1 0 1 1 1 2 1 0 1 0 0 2 0 1 1 0 1 2 1 2 1 0 0 1 2 1 NA 2 2 0 1 0 2 0 1 0 1 0 1 1 1 2 0 0 0 2 1 1 1 1 1 2 1 1 1 2 1 0 0 1 2 1 1 2 1 1 2 0 1 1 1 0 2 2 2 0 1 1 0 2 0 2 1 0 0 0 2 0 1 1 0 0 1 2 0 2 1 1 1 1 1 2 0 2 1 1 1 2 1 0 1 0 2 NA 1 1 1 2 2 1 0 1 1 2 0 1 1 1 2 2 2 0 2 1 2 1 0 1 1 1 1 1 1 0 0 1 2 0 1 1 1 0 1 0 0 1 0 1 0 2 1 1 1 2 2 0 1 2 0 0 1 0 0 1 0 0 1 1 1 1 0 2 0 1 2 0 1 0 0 1 1 2 0 0 1 1 1 1 2 2 1 1 0 0 1 1 1 0 1 2 2 0 0 1 0 1 1 1 0 1 1 2 1 2 NA 1 2 0 0 0 1 0 1 1 1 1 1 0 1 2 1 1 0 1 0 1 0 0 1 1 1 2 0 1 2 1 1 1 0 2 0 1 2 2 1 0 1 1 1 1 1 1 1 2 1 1 2 1 1 0 1 2 2 1 1 0 0 1 1 1 0 2 1 1 0 1 1 1 0 0 0 1 1 0 1 0 0 0 1 1 1 1 1 1 1 2 0 1 0 1 NA 0 2 2 0 1 0 0 1 2 0 2 1 1 1 2 0 0 1 0 0 1 1 0 0 1 1 2 2 1 0 2 0 2 1 1 0 0 2 0 0 2 2 1 0 2 1 2 1 1 1 0 1 1 1 0 1 1 0 1 1 1 0 2 1 1 0 1 1 1 1 0 0 1 1 2 2 0 2 1 2 2 1 0 1 1 1 1 1 1 1 1 0 1 0 1 2 1 1 1 0 0 1 0 1 2 1 0 0 2 1 1 1 0 1 0 1 1 1 1 0 1 1 1 0 0 2 2 1 1 NA 2 0 1 2 1 1 2 0 1 0 1 1 0 1 1 0 2 1 1 NA 1 1 1 2 1 2 1 1 1 1 1 1 2 0 1 1 2 1 2 2 1 1 1 2 1 1 1 2 2 2 0 1 0 0 0 2 2 1 1 0 1 2 0 0 1 1 1 1 1 1 1 0 1 0 1 1 1 2 1 2 1 2 1 1 2 0 1 1 1 1 0 1 1 2 0 1 0 2 1 2 0 NA 0 0 1 1 1 2 0 0 1 2 1 2 2 1 1 2 2 1 0 2 1 NA 0 1 2 1 1 1 2 1 0 0 2 1 0 1 1 1 1 1 2 0 1 2 1 0 2 2 0 1 2 0 1 1 1 1 0 0 1 0 2 2 0 1 1 0 2 1 0 1 1 0 0 1 1 1 1 2 0 2 2 2 1 1 2 1 2 2 1 1 1 0 1 1 1 2 0 1 0 0 2 0 1 1 2 2 0 1 0 2 0 2 0 1 2 1 1 1 NA 1 1 1 1 1 0 2 0 0 1 1 1 2 2 2 1 2 1 2 2 1 2 1 1 1 1 0 1 NA 0 2 1 1 1 2 1 1 2 0 0 0 1 2 0 2 1 1 1 1 1 1 49 | per47 per47 0 0 2 1 0 0 1 2 1 1 0 1 0 1 1 1 2 2 0 1 2 0 1 0 2 0 1 2 0 1 0 1 1 1 1 0 1 2 1 0 2 1 2 NA 0 2 0 1 1 1 0 1 1 2 1 0 1 1 0 1 2 2 1 0 1 1 2 1 1 1 1 2 0 2 0 1 1 1 1 0 2 1 1 1 1 2 0 1 0 1 2 2 0 1 1 1 0 1 2 1 0 0 NA 0 2 1 1 2 1 1 2 0 0 0 0 2 1 2 1 2 1 1 NA 0 1 2 0 1 1 0 1 0 1 1 1 1 2 1 0 2 1 2 0 1 0 1 0 0 2 2 1 0 1 0 1 NA 1 0 0 2 2 0 0 1 2 2 0 1 0 1 0 1 1 2 1 1 0 0 0 2 1 1 2 1 1 1 1 0 0 0 0 0 0 1 NA 0 1 1 2 0 0 2 0 1 1 1 1 2 1 1 2 2 0 2 2 2 0 1 1 0 1 0 1 1 2 1 0 1 1 0 0 1 0 1 0 0 1 2 NA 1 0 2 1 0 0 NA 0 0 2 1 0 1 1 0 2 2 0 1 2 0 1 1 2 1 1 1 0 1 0 0 1 0 2 2 0 2 1 1 2 2 1 0 0 1 2 1 0 1 1 1 NA 0 1 0 2 0 2 0 0 1 0 0 2 1 1 2 1 1 1 1 1 0 1 0 1 2 0 1 0 1 NA 1 1 1 1 0 1 0 0 0 1 0 1 0 0 1 2 1 1 1 1 1 1 0 2 2 0 1 1 2 0 0 2 0 2 0 1 2 2 1 2 1 2 1 0 0 1 1 1 2 1 0 0 NA 1 1 1 2 1 1 1 1 0 0 0 1 2 1 1 1 0 1 1 0 1 1 2 0 0 1 1 2 2 0 2 0 1 0 0 0 0 2 0 2 1 1 2 1 2 0 0 1 1 1 1 1 0 0 1 2 1 2 1 0 0 0 0 1 2 2 1 1 1 1 0 1 2 2 1 1 2 1 1 1 0 1 2 0 1 0 0 1 1 0 1 2 0 1 1 1 1 1 1 2 1 1 0 0 1 1 1 0 0 0 1 0 1 0 2 1 0 2 1 1 0 1 0 2 1 1 2 1 1 0 1 0 1 1 1 2 1 1 0 0 0 1 0 0 0 2 0 1 1 1 0 2 0 1 2 2 1 1 1 1 2 2 1 1 0 1 0 1 1 2 1 2 2 0 0 NA 2 1 2 1 1 1 0 1 1 1 2 2 1 0 1 1 2 1 0 0 1 1 1 0 2 1 1 0 2 1 0 1 1 1 0 1 1 2 2 1 0 1 2 0 0 1 1 1 1 1 1 2 2 2 2 2 1 0 2 1 2 0 1 1 0 1 0 0 1 0 2 1 0 1 2 1 1 1 1 0 0 1 2 1 0 1 1 0 1 2 1 0 1 0 1 0 0 0 2 1 1 1 0 1 2 1 1 2 1 1 1 1 1 2 1 1 1 2 1 0 1 2 2 0 1 0 1 1 1 1 2 2 2 NA 0 1 0 2 2 2 2 1 2 1 0 0 2 0 1 0 2 2 0 1 1 1 1 0 1 0 1 1 1 0 1 1 1 1 2 0 1 0 1 1 2 0 1 0 0 1 1 1 2 0 1 1 2 NA 0 1 2 1 1 1 1 1 1 0 1 1 2 1 NA NA NA 1 0 1 2 1 1 1 1 1 0 0 1 0 2 0 2 1 1 1 1 2 0 1 1 1 1 1 2 1 1 1 2 0 0 0 1 1 0 0 0 2 1 1 2 1 0 2 1 0 0 0 0 0 1 2 0 0 0 1 0 1 1 0 0 1 1 1 0 1 1 2 2 0 2 1 1 0 0 1 2 2 0 2 0 1 1 2 2 1 2 1 0 1 2 1 0 2 0 1 1 0 0 2 0 1 0 2 0 0 1 1 0 0 1 0 0 1 1 NA 1 0 2 0 1 1 0 2 1 1 1 0 1 2 0 2 2 1 1 0 0 1 1 0 0 1 0 2 1 2 0 2 1 1 0 0 0 1 0 1 2 0 1 1 1 1 2 1 2 0 0 1 0 0 2 0 1 1 2 1 1 1 2 2 1 2 1 2 0 1 1 1 1 1 2 1 1 2 1 0 1 1 0 2 1 2 0 0 1 0 1 0 1 0 1 1 2 1 1 1 2 1 2 1 2 0 0 0 2 1 0 2 2 2 0 1 2 2 1 1 1 0 1 2 2 1 1 0 1 0 50 | per48 per48 0 0 2 2 0 1 1 1 1 1 2 1 1 0 1 1 0 1 1 2 2 0 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 0 2 0 0 1 1 0 0 2 0 2 0 2 0 0 2 0 0 1 1 1 1 2 1 1 2 0 0 1 1 0 1 2 1 1 2 1 2 2 1 0 2 1 1 1 2 0 0 0 1 2 0 1 0 0 1 1 0 2 2 1 1 0 2 2 1 0 1 1 1 1 1 0 0 2 1 1 2 1 2 1 0 2 0 2 1 1 2 1 1 0 0 0 1 2 0 0 0 2 2 0 0 1 1 2 2 0 1 1 1 0 0 NA 1 1 NA 0 0 2 2 NA 0 NA 2 1 1 1 0 0 1 1 0 0 2 1 1 1 1 1 2 0 1 1 1 1 1 2 1 2 1 1 2 1 2 1 1 1 2 1 1 1 0 1 2 2 1 1 0 1 0 1 1 0 0 0 NA 2 1 1 1 1 1 2 1 1 2 1 1 2 0 1 1 2 2 1 1 1 0 2 0 1 1 1 0 1 0 1 0 1 2 0 2 1 0 2 1 0 0 1 0 1 1 1 2 1 1 1 1 0 1 0 0 1 2 0 2 1 0 0 2 0 0 NA 1 1 2 2 2 0 1 1 2 0 0 1 1 0 0 1 0 2 0 1 2 1 0 0 2 1 0 1 2 1 2 1 2 1 2 0 1 1 0 1 0 0 1 1 2 2 1 0 1 1 1 1 2 0 2 0 2 1 1 1 2 2 0 1 0 1 1 1 1 1 1 1 1 1 1 1 2 1 0 0 0 1 1 1 2 0 1 1 0 1 1 1 2 1 1 2 2 0 1 0 1 2 1 2 0 1 0 2 0 1 0 1 2 1 0 2 2 2 0 1 0 1 2 1 2 0 0 1 2 0 1 0 1 2 NA 0 1 1 0 0 1 1 0 0 0 2 2 2 0 1 2 1 1 1 2 1 1 2 1 NA 1 2 0 1 1 0 0 2 1 1 2 0 1 1 0 1 1 0 2 2 0 1 2 1 0 1 2 1 1 1 2 1 2 1 1 1 1 1 2 0 1 1 1 1 0 0 1 0 1 2 1 1 1 1 1 2 1 2 0 0 1 1 2 2 0 1 0 2 0 0 0 1 1 1 0 1 0 1 0 1 1 0 2 0 1 1 1 0 1 0 1 1 1 0 2 0 2 0 0 2 0 1 1 0 1 1 1 1 0 1 1 1 0 2 1 1 0 1 1 1 0 1 1 1 0 2 1 0 1 1 1 0 0 0 2 0 2 0 1 0 1 1 0 1 2 2 0 NA 0 1 1 1 0 1 1 0 0 0 2 0 1 1 1 1 0 1 2 0 2 1 1 2 0 2 0 0 1 2 1 1 0 1 0 2 1 1 1 0 0 0 2 2 1 1 0 1 0 1 0 1 1 1 NA 0 0 1 2 2 0 2 NA 2 0 1 1 1 0 1 2 0 1 0 0 0 2 2 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 1 1 1 0 1 2 0 1 1 1 0 1 1 0 1 1 1 1 2 2 2 1 1 2 0 1 1 2 0 NA 1 0 0 NA 0 1 0 1 0 0 0 1 2 2 0 0 1 1 1 0 1 1 1 1 1 0 2 1 1 1 1 2 0 0 0 1 1 1 0 2 2 1 1 1 0 2 1 0 2 0 1 2 2 0 0 1 1 0 0 0 0 0 2 0 1 1 1 2 1 NA 1 2 0 1 1 1 1 1 0 NA 1 0 2 1 2 1 0 1 1 0 0 2 2 0 1 1 2 1 0 2 0 2 0 NA 1 1 0 2 2 1 2 0 2 1 0 1 0 0 1 0 0 1 1 2 1 1 1 1 0 1 2 1 1 1 2 0 1 1 2 1 0 1 0 2 0 2 0 2 0 0 1 1 0 1 1 0 2 1 0 0 1 0 1 2 0 1 1 0 1 1 1 1 1 2 2 2 1 0 0 1 1 2 2 1 0 0 2 2 2 0 0 1 0 1 1 1 0 1 2 1 1 0 1 0 1 1 1 1 0 1 0 2 1 2 0 0 2 1 0 1 0 0 2 2 1 1 1 1 2 2 1 0 0 1 1 1 1 0 0 0 0 2 1 1 1 1 0 2 1 1 0 0 0 1 1 2 1 2 2 2 0 2 2 1 1 2 1 1 1 1 1 1 1 0 1 0 0 2 0 1 1 1 2 0 1 0 1 0 1 1 51 | per49 per49 0 0 2 1 1 1 1 1 1 0 0 1 1 2 1 1 1 1 1 0 1 1 0 1 0 1 1 1 1 1 NA 0 0 2 0 1 0 NA 1 2 2 1 1 0 1 1 0 1 2 1 1 0 1 2 0 2 2 2 0 2 1 0 1 0 0 2 1 1 1 2 0 1 2 1 0 1 0 0 1 1 1 1 1 1 2 0 1 1 2 2 1 2 2 0 1 2 1 1 1 0 2 1 0 2 0 1 1 1 1 1 0 1 1 0 0 1 1 1 2 0 1 1 0 0 2 0 2 1 1 0 1 2 1 2 1 1 1 2 0 1 0 0 1 0 2 1 1 NA 1 1 1 0 2 1 0 1 1 1 1 2 1 1 2 2 1 1 0 2 1 2 2 0 0 0 1 2 0 1 1 2 2 2 0 0 1 0 1 0 0 1 0 2 2 2 2 1 1 1 0 1 1 1 1 2 1 0 0 1 1 1 1 2 NA 1 2 1 0 2 2 1 0 0 0 1 0 1 2 0 1 2 2 2 1 1 2 0 0 2 NA 1 1 1 1 2 1 1 0 0 1 2 1 2 1 0 1 0 2 1 1 1 2 1 1 1 1 1 2 0 1 1 0 0 0 2 0 0 1 2 1 0 0 1 2 1 0 2 1 1 2 1 0 0 0 1 1 1 2 1 2 2 1 1 1 2 0 1 1 0 1 0 0 0 0 0 2 1 1 0 0 0 1 0 1 1 1 0 0 0 0 1 1 0 1 1 1 1 2 2 1 1 1 0 1 NA 0 1 0 1 0 1 0 1 2 2 1 NA 2 0 1 2 1 0 0 0 NA 1 1 1 1 1 2 1 2 1 1 1 0 1 0 2 0 0 0 0 0 2 1 1 1 2 1 1 1 0 0 1 2 NA 1 1 0 1 2 0 1 0 1 0 2 1 0 1 1 1 1 0 0 1 0 1 1 2 1 1 1 2 2 0 NA 1 0 0 1 1 1 0 0 1 1 1 2 2 0 1 1 0 1 0 0 2 0 0 1 1 0 1 2 2 1 1 1 1 1 2 2 2 2 2 1 0 1 1 NA 2 1 NA 0 1 1 1 1 1 0 2 0 2 1 1 2 0 0 1 1 1 0 2 0 0 0 2 1 1 0 0 0 0 0 1 1 1 1 2 0 2 1 2 1 1 1 1 1 0 2 1 0 0 2 1 1 1 0 1 0 1 1 1 1 0 0 2 1 0 1 1 1 1 1 1 2 0 0 0 1 1 1 1 1 1 0 1 2 1 0 2 1 2 2 0 1 0 0 0 0 1 2 2 1 0 1 1 0 1 2 0 1 1 1 0 1 0 0 1 1 0 1 1 1 0 0 2 1 0 2 0 2 1 1 NA 1 2 1 0 2 1 2 1 1 2 1 1 1 0 1 0 1 2 0 1 1 1 0 1 2 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 2 2 2 1 1 2 1 1 0 0 1 1 0 1 1 1 0 0 NA 1 1 1 0 1 1 1 1 1 1 1 0 1 2 2 0 1 1 0 0 2 1 1 1 1 2 1 2 1 0 1 1 0 2 2 0 NA 1 1 1 2 1 2 1 1 1 1 0 0 0 2 2 1 1 1 1 0 2 2 1 0 1 0 2 2 1 2 1 2 2 1 2 2 1 0 1 0 2 0 2 2 2 0 0 1 1 0 1 0 1 0 2 1 0 1 1 0 1 2 0 1 2 2 0 0 0 1 1 0 2 1 1 1 1 2 1 1 1 1 0 1 1 1 1 0 0 0 0 1 1 0 2 1 1 1 1 2 NA 2 2 0 0 0 1 1 0 1 1 2 1 0 0 1 1 1 2 0 2 0 1 2 1 2 0 1 0 0 1 0 0 2 0 NA 0 0 2 1 0 2 0 NA 0 NA 2 1 1 2 1 NA 1 1 1 2 0 1 1 1 1 1 1 2 0 1 1 2 2 1 2 1 1 1 1 1 NA 0 0 1 1 2 2 0 1 1 1 1 0 1 NA 1 1 1 0 2 1 1 0 0 0 2 1 1 1 2 2 2 0 2 0 0 1 2 0 1 0 2 2 2 1 1 0 1 0 2 2 0 2 1 0 0 0 1 1 0 0 1 1 2 1 0 1 1 1 0 1 1 0 NA 1 0 0 1 1 0 0 1 2 2 0 1 0 1 1 2 1 0 1 1 0 NA 1 0 0 0 1 1 1 1 1 1 1 0 1 2 1 1 1 1 1 1 1 1 1 0 2 2 1 2 52 | --------------------------------------------------------------------------------