Mercurial > repos > iuc > genehunter_modscore
changeset 0:9e6a43112688 draft default tip
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/genehunter_modscore/ commit bf4a43ac2ae894eeeb6e608badb6ea7f8288c8d9
author | iuc |
---|---|
date | Sat, 09 Dec 2017 05:58:25 -0500 |
parents | |
children | |
files | genehunter_modscore.xml test-data/datain_1.21 test-data/map_1.21 test-data/pedin_1.21 |
diffstat | 4 files changed, 1108 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/genehunter_modscore.xml Sat Dec 09 05:58:25 2017 -0500 @@ -0,0 +1,476 @@ +<tool id="genehunter_modscore" name="Genehunter-Modscore" version="@VERSION@.0" > + <description>Linkage and Haplotypes analysis</description> + <macros> + <token name="@VERSION@">3.0.0</token> + <xml name="macro_npl_opts" > + <param name="extra_npl_score" type="select" label="Type of NPL scoring"> + <option value="all" selected="true" >All</option> + <option value="pairs" >Pairs</option> + <option value="hom" >Homozygous</option> + </param> + </xml> + <!-- Input test file collection --> + <xml name="test_input_files"> + <param name="inp_ped" value="pedin_1.21" /> + <param name="inp_dat" value="datain_1.21" /> + <param name="inp_map" value="map_1.21" /> + </xml> + <!-- End Input test file collection --> + <!-- Output test file(s) --> + <xml name="test_output_fparam"> + <output name="fparam" > + <assert_contents> + <has_text_matching expression="\s*\d+\.\d+\s+-\d+\.\d+(\s+\d+\.\d+){2}\s+rs17000204$" /> + </assert_contents> + </output> + </xml> + <xml name="test_output_haplo"> + <output name="ihaplo" > + <assert_contents> + <has_text_matching expression="1\s+206006\s+206001\s+206002\s+2\s+2(\s+[0-2])+" /> + </assert_contents> + </output> + </xml> + <!-- End Output test file(s) --> + </macros> + <requirements> + <requirement type="package" version="@VERSION@" >ghm</requirement> + <requirement type="package" version="2017.3" >linkage2allegro</requirement> + </requirements> + <version_command><![CDATA[ + echo q | ghm | grep -oP "(?<=(\(version\ ))[^)]+" + ]]> + </version_command> + <command detect_errors='exit_code'><![CDATA[ +ghm < '$setup_file' + +&& linkage2allegro + '${inp_ped}' + '${inp_map}' + genehunter + -l gh.out +#if $section_haplo.analysis_haplo.extra_haplotype + -h haplo.dump +#end if + +&& mv linkage.allegro_lod '${fparam}' +#if $section_haplo.analysis_haplo.extra_haplotype +&& mv linkage.allegro_haplo '${ihaplo}' +#end if + ]]> + </command> + <configfiles> + <configfile name="setup_file" ><![CDATA[ +photo gh.out + +ps off + +## Initiate mod score lod calculation and store IVs, off by default +modcalc ${section_options.section_pvalues.advanced_options_modcalc.extra_modcalc} +## global / single / off + +haplotype ${section_haplo.analysis_haplo.extra_haplotype} +## on / off, generate Haplotypes + +#if $section_haplo.analysis_haplo.extra_haplotype +haplotype method ${section_haplo.analysis_haplo.extra_haplotype_method} +## [MaxProb] / Viterbi +#end if + +analysis ${section_linkage.npl_scoring.extra_mod_analysis} +## NPL / LOD / BOTH, type of linkage analysis + +#if $section_linkage.npl_scoring.extra_mod_analysis.value != 'LOD': +score ${section_linkage.npl_scoring.extra_npl_score} +## pairs / all / hom +#else +score all +#end if + +#if $section_linkage.extra_singlepoint +single point ${section_linkage.extra_singlepoint} +## on / off, dont use multi-point parametric +#end if + +## -- Re-enable in 3.1 +## Algebraic calculation for P-values, default on +## #if $section_options.section_pvalues.advanced_options_alg.extra_alg +## alg ${section_options.section_pvalues.advanced_options_alg.extra_alg} +## Use more memory for algebraic calculations +## algebra ${section_options.section_pvalues.advanced_options_alg.extra_alg_mem} +## #end if + +## Add custom trait models +#if $section_options.section_pvalues.advanced_options_model.extra_mod_model +model ${section_options.section_pvalues.advanced_options_model.extra_mod_modeldisfreq} ${section_options.section_pvalues.advanced_options_model.extra_mod_modelpenet} +#end if + +## Range of markers positions instead of all range +#if $section_options.section_range.advanced_options_positions.extra_mod_positions +## #try +## #assert $section_options.section_range.advanced_options_positions.extra_mod_positions_lowest < $section_options.section_range.advanced_options_positions.extra_mod_positions_highest +## #except AssertionError +## #echo Range minimum is not less than the maximum +## #end try +positions ${section_options.section_range.advanced_options_positions.extra_mod_positions_lowest} ${section_options.section_range.advanced_options_positions.extra_mod_positions_highest} +#end if + +## Untyped, default on +#if $section_haplo.analysis_haplo.extra_haplotype or $section_options.section_sample.extra_includeuntyped +include untyped on +#else: +include untyped off +#end if + +## Eliminate uninformative individuals, default off +discard ${section_options.section_sample.extra_discard} + +## Use untyped founders, default off +ufo ${section_options.section_sample.extra_ufo} + +## Restrict penetrances so that hom wildtype LEQ het LEQ hom mutant, on default +pr ${section_options.section_allfreq.extra_mod_penetrancerestrict} + +## Restrict disease allele frequency to be not higher than the highest allfreq (default 0.5) +#if $section_options.section_allfreq.extra_mod_allfreq +ar $section_options.section_allfreq.extra_mod_allfreq +## Set upper disease allele freq for MOD, default 0.5 ( 0 -> 1 ) +ha $section_options.section_allfreq.extra_mod_highallele +#end if + +## Number of parameters varied together in MOD, default 2 ( 1 -> 5 ) +dimensions ${section_options.section_pvalues.extra_mod_dimensions} + +## Normalize Allele Frequencies, default off +naf ${section_options.section_allfreq.extra_nmaf} + +## off by default +#if '${section_options.section_pvalues.advanced_options_modcalc.extra_modcalc}' == 'single': +## Number of trait models saved in MOD score. +## Only works if algebraic calc is off, and in single modcalc + #if not('${extra_alg}'): + #if '${extra_mod_savedmodels}'!=-1: +saved models $extra_mod_savedmodels + #end if + #end if + +## Long output for modcalc single +$section_options.section_pvalues.extra_mod_longmod + +## Calculate P-values only at the best position, off by default +$section_options.section_pvalues.extra_mod_bep +#end if + + +## Calculate p-values for MOD/LOD scores +#if $section_options.section_pvalues.advanced_options_calcpval.extra_calcpval +cpv $section_options.section_pvalues.advanced_options_calcpval.extra_calcpval_file +## Number of replicates in P-score evaluation, default 0 + #if $section_options.section_pvalues.advanced_options_calcpval.extra_cpv_nor > 0 +nor $section_options.section_pvalues.advanced_options_calcpval.extra_cpv_nor + #end if +#end if + +## Number of sequential simulations in P-score evaluation, default 0 +seq ${section_options.section_pvalues.extra_seq} + +## Store replicates during P-score evaluation, default off +str ${section_options.section_pvalues.extra_storereplicates} ## pre / both / off (default) + +## Simulate untyped individuals, required for haplotypes +#if $section_haplo.analysis_haplo.extra_haplotype or $section_options.section_sample.extra_sun +sun on +#else +sun off +#end if + +## Set random seed for P-score evaluation, default -1 +srs ${section_options.section_pvalues.extra_srs} + +## Display distribution of replicates, default off +sdi ${section_options.section_display.extra_sdi} + +#### General +## Count the number of recombintions, default off +count recs ${section_options.section_display.extra_countrec} + +## Do not skip fully homozygous markers when generating haplotypes, default off +fin ${section_options.section_sample.extra_cpv_fin} + +## Print scores to screen, default on +display scores on + +## Margin before and after marker range to compute scores, default 0 cM +off end ${section_options.section_range.extra_offend} + +## Distance between adjacent scores, either in cM 'distance' irrespective of +## map, or equal 'steps'. Default steps 2 +increment ${section_options.section_range.advanced_options_increment.extra_increment_type} ${section_options.section_range.advanced_options_increment.extra_increment_sizepavu} + +## Units, default haldane +map function ${section_options.section_display.extra_mapfunc} +## Units in scan output, default cM +units ${section_options.section_display.extra_scan_units} + +## Max pedigree size calculated by 2N - F, default 19, trim individuals beyond this +max bits ${section_options.section_range.extra_maxbits} +## Split pedigree larger than max ped size, default off +skip large ${section_options.section_range.extra_maxbits_skiplarge} +## Stores IBD matrics for linkage, default off +cs ${section_options.section_pvalues.extra_computesharing} + + +load markers ${inp_dat} +read map ${inp_map} +use + +scan ${inp_ped} + +## Show total scores from a scan of multiple peds +## - 'het' [alpha], if not given then alpha varies +## - 'stat' +## default below, overridden by params +total stat het + + +## TODO: +## Qualitative / Quantitative trait mapping of sibs, Variance component analysis, TDT +q +]]> + </configfile> + </configfiles> + <inputs> + <param name="inp_ped" type="data" format="linkage_pedin" label="Pedigree" /> + <param name="inp_dat" type="data" format="linkage_datain" label="Recombination Freqs" /> + <param name="inp_map" type="data" format="linkage_map" label="Marker Positions" /> + + <section name="section_haplo" title="Haplotypes" expanded="true" > + <conditional name="analysis_haplo" > + <param name="extra_haplotype" type="boolean" truevalue="on" falsevalue="off" checked="false" label="Haplotype Analysis" /> + <when value="on"> + <param name="extra_haplotype_method" type="select" label="Haplotype Reconstruction Algorithm. MaxProb is fastest, and has more global solution." > + <option value="MaxProb" selected="true" >Maximisation Probability</option> + <option value="Viterbi" >Viterbi</option> + </param> + </when> + <when value="off" /> + </conditional> + </section> + + <section name="section_linkage" title="Linkage" expanded="false" > + <param name="extra_singlepoint" type="boolean" truevalue="on" falsevalue="off" checked="false" label="Single-point Analysis"/> + <conditional name="npl_scoring" > + <param name="extra_mod_analysis" type="select" label="Type of linkage analysis" > + <option value="BOTH" selected="true" >Both</option> + <option value="NPL" >Non-paremetric Linkage</option> + <option value="LOD" >Logarithm-of-the-Odds</option> + </param> + <when value="BOTH" ><expand macro="macro_npl_opts" /></when> + <when value="NPL" ><expand macro="macro_npl_opts" /></when> + <when value="LOD" /> + </conditional> + </section> + + <section name="section_options" expanded="false" title="Advanced Options" > + <!-- P-values --> + <section name="section_pvalues" expanded="false" + title="P-value Options" > + <conditional name="advanced_options_alg" > + <param name="extra_alg" type="boolean" truevalue="on" falsevalue="off" checked="true" label="Use Algebraic calculations for P-Values"/> + + <when value="on" > + <param name="extra_alg_mem" type="boolean" truevalue="on" falsevalue="off" checked="true" label="Remove large memory restrictions for algebraic calculations" /> + </when> + <when value="off" > + <param name="extra_mod_savedmodels" type="integer" value="-1" label="Number of models to save" /> + </when> + </conditional> + + <conditional name="advanced_options_model" > + <param name="extra_mod_model" type="boolean" truevalue="on" falsevalue="off" checked="false" label="Use custom trait models" /> + <when value="on" > + <param name="extra_mod_modeldisfreq" type="float" value="" min="0" max="1" label="Disease allele frequency" /> + <param name="extra_mod_modelpenet" type="text" value="" label="3 or 4 penetrances" /> + </when> + <when value="off" /> + </conditional> + + <conditional name="advanced_options_calcpval" > + <param name="extra_calcpval" type="boolean" truevalue="on" falsevalue="off" checked="false" label="Calculate P-values for MOD/LOD scores" /> + + <when value="on" > + <param name="extra_calcpval_file" type="data" format="txt" label="Filename to produce values" /> + <param name="extra_cpv_nor" type="integer" value="0" min="0" label="Number of replicates in P-value calculations" /> + </when> + <when value="off" /> + </conditional> + + <conditional name="advanced_options_modcalc" > + <param name="extra_modcalc" type="select" label="Inheritance Vector storage for LOD and P-value calculations" > + <option value="global" >Global</option> + <option value="single" >Single</option> + <option value="off" selected="true" >Off</option> + </param> + <when value="single" > + <param name="extra_mod_longmod" type="boolean" truevalue="lm on" falsevalue="" checked="false" label="Produce long output for scores" /> + <param name="extra_mod_bep" type="boolean" truevalue="bep on" falsevalue="" checked="false" label="Calculate P-values only at the best LOD positions" /> + </when> + <when value="global" /> + <when value="off" /> + </conditional> + + <param name="extra_seq" type="integer" value="0" min="0" label="Number of sequential simulations in P-value calculations" /> + <param name="extra_storereplicates" type="select" label="Store replicates during P-value calculations" > + <option value="pre" >Pre</option> + <option value="both" >Both</option> + <option value="off" selected="true" >Off</option> + </param> + <param name="extra_srs" type="integer" value="-1" label="Set Random seed for P-value calculations" /> + <param name="extra_computesharing" type="boolean" truevalue="on" falsevalue="off" checked="false" label="Store IBD matrices" /> + <param name="extra_mod_dimensions" type="integer" min="1" max="5" value="2" label="Number of parameters to vary in LOD calculations" /> + </section> + <!-- End of P Values: Works --> + + <!-- Display Options --> + <section name="section_display" expanded="false" title="Display options" > + <param name="extra_sdi" type="boolean" truevalue="on" falsevalue="off" checked="false" label="Display distribution of replicates" /> + <param name="extra_countrec" type="boolean" truevalue="on" falsevalue="off" checked="false" label="Print the number of recombinations" /> + <param name="extra_mapfunc" type="select" label="Genetic map function units" > + <option value="haldane" selected="true">Haldane</option> + <option value="kosambi" >Kosambi</option> + </param> + <param name="extra_scan_units" type="select" label="Output units" > + <option value="cM" selected="true">CentiMorgans</option> + <option value="rec-frac" >Recombination Fractions</option> + </param> + </section> + <!-- End of display: Works --> + + <!-- Range section --> + <section name="section_range" expanded="false" title="Range options" > + <conditional name="advanced_options_positions" > + <param name="extra_mod_positions" type="boolean" truevalue="on" falsevalue="off" checked="false" label="Define custom position range" /> + <when value="off" /> + <when value="on" > + <param name="extra_mod_positions_lowest" type="float" value="0" min="0" max="1000" label="Lowest position (cM)" /> + <param name="extra_mod_positions_highest" type="float" value="1" min="0" max="1000" label="Highest position (cM)" /> + <!-- Assert: lowest < higher --> + </when> + </conditional> + + <param name="extra_offend" type="float" value="0.0" label="Margin before and after marker range to compute scores (cM)" /> + + <conditional name="advanced_options_increment" > + <param name="extra_increment_type" type="select" label="Increment either the genetic distance across the whole range of markers, or the number of equally-spaced steps between adjacent markers" help="Note that the total number of steps (markers * calc. per step) must not exceed 1000." > + <option value="distance" >Distance</option> + <option value="steps" selected="true" >Steps</option> + </param> + <when value="distance" > + <param name="extra_increment_sizepavu" type="float" min="1.0" value="1" max="1000" label="centiMorgan interval" /> + </when> + <when value="steps" > + <param name="extra_increment_sizepavu" type="integer" min="1" value="2" max="30" label="Number of steps between markers." /> + </when> + </conditional> + + <param name="extra_maxbits" type="integer" min="3" value="19" max="30" label="Max bit-size of the pedigree, computed via '2N-F', for F founders and N non-founders" /> + <param name="extra_maxbits_skiplarge" type="boolean" truevalue="on" falsevalue="off" checked="false" label="Split pedigrees if larger than the max pedigree size" /> + </section> + <!-- End of range:Works --> + + <!-- Frequency section --> + <section name="section_allfreq" title="Allele Frequency Options"> + <param name="extra_nmaf" type="boolean" truevalue="on" falsevalue="off" checked="false" label="Normalize Allele Frequencies" /> + + <param name="extra_mod_allfreq" type="boolean" truevalue="on" falsevalue="off" checked="false" label="Restrict disease allele frequency" /> + + <param name="extra_mod_highallele" type="float" min="0" max="1" value="0.5" label="Set maximum disease allele frequency" /> + + <param name="extra_mod_penetrancerestrict" type="boolean" truevalue="on" falsevalue="off" checked="true" label="Restrict Penetrances" /> + + </section> + <!-- End of Frequency section:Works --> + + <!-- Sample Individuals section --> + <section name="section_sample" title="Sample Options" > + <param name="extra_sun" type="boolean" truevalue="on" falsevalue="off" checked="false" label="Simulate untyped individuals" /> + <param name="extra_includeuntyped" type="boolean" truevalue="on" falsevalue="off" checked="true" label="Include untyped individuals" /> + <param name="extra_cpv_fin" type="boolean" truevalue="on" falsevalue="off" checked="true" label="Process fully homozygous (uninformative) genotypes" /> + <param name="extra_discard" type="boolean" truevalue="on" falsevalue="off" checked="false" label="Discard uninformative individuals" /> + <param name="extra_ufo" type="boolean" truevalue="on" falsevalue="off" checked="false" label="Use untyped founders" /> + </section> + <!-- End of sample individuals --> + </section> + <!-- End of advanced options --> + </inputs> + + <outputs> + <!-- All outputs convert to an Allegro format --> + <data name="ihaplo" format="allegro_ihaplo" label="${tool.name} on ${on_string}: Haplotypes" /> + <data name="fparam" format="allegro_fparam" label="${tool.name} on ${on_string}: MPT Linkage" /> + </outputs> + + <tests> + <test><!-- Defaults with haplo --> + <expand macro="test_input_files" /> + + <param name="extra_haplotype" value="on" /> + + <expand macro="test_output_fparam" /> + <expand macro="test_output_haplo" /> + </test> + <test><!-- Haplotypes via Viterbi resolution --> + <expand macro="test_input_files" /> + + <param name="extra_mod_analysis" value="BOTH" /> + <param name="extra_haplotype" value="on" /> + <param name="extra_haplotype_method" value="Viterbi" /> + <param name="extra_increment_sizepavu" value="10" /> + + <expand macro="test_output_haplo" /> + <expand macro="test_output_fparam" /> + </test> + <test><!-- Parametric LOD with restricted scoring --> + <expand macro="test_input_files" /> + + <param name="extra_mod_allfreq" value="on" /> + <param name="extra_mod_highallele" value="0.8" /> + <param name="extra_npl_score" value="hom" /> + + <expand macro="test_output_fparam" /> + </test> + <test><!-- Haplo + Single IBS with computed founders --> + <expand macro="test_input_files" /> + + <param name="extra_cpv_fin" value="on" /> + <param name="extra_modcalc" value="single" /> + <param name="extra_mod_bep" value="bep on" /> + <param name="extra_srs" value="10" /> + + <expand macro="test_output_fparam" /> + </test> + </tests> + + <help><![CDATA[ + +**Genehunter-MODscore** calculates a *maximized LOD* (MOD) score over a set of genotypes for use in linkage and haplotype analysis. + +Haplotypes are generated using either this maximum probability approach, or via slower more conventional Viterbi crawling. + +Untyped founders can be simulated by reconstructing their haplotypes from offspring, and points of recombination can still be accurately determined in lieu of this. + +Due to the stochastic nature of the analysis, a random seed can be set by the user to produce reproducible results. + +Many more configurable options are outlined in the the official manual_. + +.. _manual: https://www.helmholtz-muenchen.de/fileadmin/GENEPI/downloads/ghm-3.0.pdf + +]]> + </help> + <citations> + <citation type="doi">10.1159/000369065</citation> + <citation type="doi">10.1002/gepi.20264</citation> + <citation type="doi">10.1093/bioinformatics/btl539</citation> + <citation type="doi">10.1186/1471-2156-6-S1-S162</citation> + </citations> +</tool>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/datain_1.21 Sat Dec 09 05:58:25 2017 -0500 @@ -0,0 +1,410 @@ +201 0 0 5 + 0 0.0 0.0 0 + 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 +1 2 # TRAIT + 0.9999 0.0001 + 1 + 0.000 0.000 1.000 +3 2 # rs1296971 + 0.4583 0.5417 +3 2 # rs468601 + 0.1356 0.8644 +3 2 # rs2821973 + 0.4083 0.5917 +3 2 # rs1929150 + 0.3559 0.6441 +3 2 # rs2822124 + 0.4407 0.5593 +3 2 # rs2775054 + 0.2583 0.7417 +3 2 # rs7276618 + 0.4167 0.5833 +3 2 # rs392812 + 0.1000 0.9000 +3 2 # rs2822368 + 0.2833 0.7167 +3 2 # rs6516610 + 0.3167 0.6833 +3 2 # rs447455 + 0.2000 0.8000 +3 2 # rs437521 + 0.1667 0.8333 +3 2 # rs2822554 + 0.1417 0.8583 +3 2 # rs2822572 + 0.1000 0.9000 +3 2 # rs13050350 + 0.3167 0.6833 +3 2 # rs2142236 + 0.0667 0.9333 +3 2 # rs2822677 + 0.0508 0.9492 +3 2 # rs2822696 + 0.0833 0.9167 +3 2 # rs376635 + 0.4500 0.5500 +3 2 # rs2822765 + 0.4333 0.5667 +3 2 # rs2822780 + 0.1667 0.8333 +3 2 # rs465340 + 0.4917 0.5083 +3 2 # rs1888398 + 0.2250 0.7750 +3 2 # rs458052 + 0.3333 0.6667 +3 2 # rs2822907 + 0.3250 0.6750 +3 2 # rs8129531 + 0.2333 0.7667 +3 2 # rs12053660 + 0.1500 0.8500 +3 2 # rs1883003 + 0.2750 0.7250 +3 2 # rs2822974 + 0.4833 0.5167 +3 2 # rs11088231 + 0.1667 0.8333 +3 2 # rs2205239 + 0.4250 0.5750 +3 2 # rs2823045 + 0.2417 0.7583 +3 2 # rs926164 + 0.2750 0.7250 +3 2 # rs2823139 + 0.2417 0.7583 +3 2 # rs2823161 + 0.3667 0.6333 +3 2 # rs2823194 + 0.0750 0.9250 +3 2 # rs2049882 + 0.0917 0.9083 +3 2 # rs1736148 + 0.4417 0.5583 +3 2 # rs2823301 + 0.2583 0.7417 +3 2 # rs6517467 + 0.2333 0.7667 +3 2 # rs2064051 + 0.2333 0.7667 +3 2 # rs9974915 + 0.1000 0.9000 +3 2 # rs2823400 + 0.3583 0.6417 +3 2 # rs726634 + 0.3167 0.6833 +3 2 # rs7283707 + 0.1083 0.8917 +3 2 # rs7283161 + 0.4333 0.5667 +3 2 # rs9982633 + 0.2500 0.7500 +3 2 # rs2823621 + 0.4333 0.5667 +3 2 # rs2051347 + 0.3000 0.7000 +3 2 # rs2823702 + 0.3417 0.6583 +3 2 # rs189457 + 0.3167 0.6833 +3 2 # rs2823748 + 0.3167 0.6833 +3 2 # rs2849869 + 0.2417 0.7583 +3 2 # rs1667568 + 0.0917 0.9083 +3 2 # rs171267 + 0.4417 0.5583 +3 2 # rs11911987 + 0.0333 0.9667 +3 2 # rs2823881 + 0.0417 0.9583 +3 2 # rs2823912 + 0.0917 0.9083 +3 2 # rs2032287 + 0.3333 0.6667 +3 2 # rs4818278 + 0.2667 0.7333 +3 2 # rs11700643 + 0.2833 0.7167 +3 2 # rs418989 + 0.1333 0.8667 +3 2 # rs4818307 + 0.0583 0.9417 +3 2 # rs11701390 + 0.3667 0.6333 +3 2 # rs2824192 + 0.4825 0.5175 +3 2 # rs2824231 + 0.4250 0.5750 +3 2 # rs1501813 + 0.1917 0.8083 +3 2 # rs2824273 + 0.3833 0.6167 +3 2 # rs2824282 + 0.3500 0.6500 +3 2 # rs4536738 + 0.3000 0.7000 +3 2 # rs2824292 + 0.4917 0.5083 +3 2 # rs208885 + 0.2250 0.7750 +3 2 # rs2849886 + 0.1667 0.8333 +3 2 # rs764657 + 0.3917 0.6083 +3 2 # rs9977638 + 0.3417 0.6583 +3 2 # rs2824435 + 0.2000 0.8000 +3 2 # rs243570 + 0.2750 0.7250 +3 2 # rs243587 + 0.4917 0.5083 +3 2 # rs243619 + 0.4667 0.5333 +3 2 # rs2824560 + 0.3333 0.6667 +3 2 # rs200801 + 0.5000 0.5000 +3 2 # rs157740 + 0.3750 0.6250 +3 2 # rs2260211 + 0.1750 0.8250 +3 2 # rs1491781 + 0.3750 0.6250 +3 2 # rs2824646 + 0.2667 0.7333 +3 2 # rs2824669 + 0.3333 0.6667 +3 2 # rs2824688 + 0.1417 0.8583 +3 2 # rs2824699 + 0.0583 0.9417 +3 2 # rs2824704 + 0.3750 0.6250 +3 2 # rs9983595 + 0.1750 0.8250 +3 2 # rs7283555 + 0.1333 0.8667 +3 2 # rs2824733 + 0.2250 0.7750 +3 2 # rs2824760 + 0.4167 0.5833 +3 2 # rs17781453 + 0.2203 0.7797 +3 2 # rs978421 + 0.4583 0.5417 +3 2 # rs2251831 + 0.1167 0.8833 +3 2 # rs1735766 + 0.3833 0.6167 +3 2 # rs2824909 + 0.3667 0.6333 +3 2 # rs8133676 + 0.3083 0.6917 +3 2 # rs8129581 + 0.0417 0.9583 +3 2 # rs1159082 + 0.2083 0.7917 +3 2 # rs432177 + 0.2917 0.7083 +3 2 # rs443581 + 0.1500 0.8500 +3 2 # rs2178993 + 0.4000 0.6000 +3 2 # rs2825304 + 0.3917 0.6083 +3 2 # rs764063 + 0.4667 0.5333 +3 2 # rs2825410 + 0.3917 0.6083 +3 2 # rs856168 + 0.2083 0.7917 +3 2 # rs2825547 + 0.1167 0.8833 +3 2 # rs1489734 + 0.4417 0.5583 +3 2 # rs434435 + 0.1583 0.8417 +3 2 # rs2244367 + 0.2333 0.7667 +3 2 # rs2825673 + 0.1356 0.8644 +3 2 # rs7277498 + 0.2917 0.7083 +3 2 # rs2825728 + 0.1917 0.8083 +3 2 # rs2825750 + 0.0917 0.9083 +3 2 # rs13433388 + 0.1167 0.8833 +3 2 # rs7275645 + 0.1583 0.8417 +3 2 # rs2825924 + 0.3167 0.6833 +3 2 # rs2825960 + 0.3250 0.6750 +3 2 # rs2825977 + 0.1417 0.8583 +3 2 # rs2826065 + 0.4583 0.5417 +3 2 # rs2826125 + 0.4083 0.5917 +3 2 # rs2246644 + 0.2250 0.7750 +3 2 # rs2091991 + 0.2583 0.7417 +3 2 # rs994455 + 0.3250 0.6750 +3 2 # rs2826262 + 0.1000 0.9000 +3 2 # rs2826339 + 0.2833 0.7167 +3 2 # rs1893329 + 0.1833 0.8167 +3 2 # rs2826388 + 0.4083 0.5917 +3 2 # rs1351599 + 0.3250 0.6750 +3 2 # rs229448 + 0.3917 0.6083 +3 2 # rs2826418 + 0.1417 0.8583 +3 2 # rs9974471 + 0.0750 0.9250 +3 2 # rs2826538 + 0.2583 0.7417 +3 2 # rs9981937 + 0.4500 0.5500 +3 2 # rs2826596 + 0.1917 0.8083 +3 2 # rs6518018 + 0.4500 0.5500 +3 2 # rs8126872 + 0.0583 0.9417 +3 2 # rs1980966 + 0.2083 0.7917 +3 2 # rs2826662 + 0.4250 0.5750 +3 2 # rs2826676 + 0.3000 0.7000 +3 2 # rs2826713 + 0.4333 0.5667 +3 2 # rs1373484 + 0.2250 0.7750 +3 2 # rs2826844 + 0.1500 0.8500 +3 2 # rs233803 + 0.0750 0.9250 +3 2 # rs8134226 + 0.2500 0.7500 +3 2 # rs1735990 + 0.4167 0.5833 +3 2 # rs2826982 + 0.3417 0.6583 +3 2 # rs2827045 + 0.1083 0.8917 +3 2 # rs2827102 + 0.1167 0.8833 +3 2 # rs2246589 + 0.2417 0.7583 +3 2 # rs2154723 + 0.4667 0.5333 +3 2 # rs2827203 + 0.3333 0.6667 +3 2 # rs2827251 + 0.0833 0.9167 +3 2 # rs2827308 + 0.4583 0.5417 +3 2 # rs2827322 + 0.0917 0.9083 +3 2 # rs2827338 + 0.3167 0.6833 +3 2 # rs2014609 + 0.3000 0.7000 +3 2 # rs2827606 + 0.2750 0.7250 +3 2 # rs2827641 + 0.2500 0.7500 +3 2 # rs8127947 + 0.1250 0.8750 +3 2 # rs117674 + 0.3083 0.6917 +3 2 # rs198114 + 0.4000 0.6000 +3 2 # rs405227 + 0.4083 0.5917 +3 2 # rs2827880 + 0.1083 0.8917 +3 2 # rs8134936 + 0.0667 0.9333 +3 2 # rs2828019 + 0.1667 0.8333 +3 2 # rs2828068 + 0.3583 0.6417 +3 2 # rs2828098 + 0.4000 0.6000 +3 2 # rs9980706 + 0.2333 0.7667 +3 2 # rs2828167 + 0.2333 0.7667 +3 2 # rs2212575 + 0.3417 0.6583 +3 2 # rs1514417 + 0.1917 0.8083 +3 2 # rs1514414 + 0.4917 0.5083 +3 2 # rs2828457 + 0.1583 0.8417 +3 2 # rs2828520 + 0.3417 0.6583 +3 2 # rs2828549 + 0.0667 0.9333 +3 2 # rs2828622 + 0.2083 0.7917 +3 2 # rs9977556 + 0.2000 0.8000 +3 2 # rs2154734 + 0.3500 0.6500 +3 2 # rs1910670 + 0.2667 0.7333 +3 2 # rs11087904 + 0.0917 0.9083 +3 2 # rs12627150 + 0.2917 0.7083 +3 2 # rs2828914 + 0.1417 0.8583 +3 2 # rs2829026 + 0.2667 0.7333 +3 2 # rs2829049 + 0.4333 0.5667 +3 2 # rs2829086 + 0.3000 0.7000 +3 2 # rs12053689 + 0.0167 0.9833 +3 2 # rs728067 + 0.3833 0.6167 +3 2 # rs4816976 + 0.4083 0.5917 +3 2 # rs2829227 + 0.1833 0.8167 +3 2 # rs17000204 + 0.0833 0.9167 +3 2 # rs2829285 + 0.4167 0.5833 +3 2 # rs17000332 + 0.0917 0.9083 +3 2 # rs17689314 + 0.0750 0.9250 +3 2 # rs4283495 + 0.2083 0.7917 +3 2 # rs2154526 + 0.4250 0.5750 +3 2 # rs2829558 + 0.3500 0.6500 +3 2 # rs12626495 + 0.1667 0.8333 + 0 0 + 0.1 0.000699 0.000751 0.001625 0.000626 0.000902 0.001785 0.000970 0.001647 0.001241 0.000538 0.001138 0.000606 0.000504 0.000859 0.000504 0.001582 0.000504 0.001393 0.000552 0.001420 0.000533 0.000638 0.000596 0.000705 0.000567 0.001541 0.003324 0.001431 0.000703 0.001346 0.001978 0.000846 0.000598 0.000547 0.000887 0.002148 0.000873 0.001850 0.000800 0.000771 0.000785 0.000544 0.001836 0.000556 0.001838 0.000854 0.001010 0.001044 0.000913 0.002090 0.000800 0.003138 0.001451 0.000676 0.001048 0.005681 0.001075 0.001309 0.002052 0.002013 0.001811 0.001415 0.000890 0.000620 0.001575 0.000961 0.000590 0.000592 0.001485 0.000536 0.000692 0.003783 0.000504 0.001024 0.001595 0.002290 0.002725 0.001189 0.000622 0.000829 0.000530 0.001256 0.002036 0.001575 0.001122 0.000963 0.000909 0.001877 0.001159 0.000839 0.002653 0.000589 0.001128 0.001040 0.000572 0.000756 0.000518 0.000842 0.000642 0.000931 0.000852 0.000540 0.001125 0.002038 0.000547 0.000527 0.002150 0.001016 0.000564 0.000620 0.000526 0.001174 0.001572 0.000655 0.000776 0.000504 0.000521 0.000512 0.000629 0.000570 0.000515 0.001805 0.001103 0.001429 0.001403 0.003479 0.001278 0.001141 0.000866 0.000947 0.000979 0.000564 0.003575 0.001911 0.001271 0.000622 0.001919 0.000572 0.000855 0.001534 0.000840 0.000885 0.000505 0.000773 0.002112 0.000568 0.000553 0.000694 0.001058 0.000627 0.002328 0.002346 0.001778 0.000921 0.000535 0.000610 0.000785 0.000673 0.000625 0.000566 0.002054 0.001007 0.000625 0.000545 0.000733 0.000851 0.000544 0.001300 0.000559 0.000871 0.000571 0.000574 0.000588 0.000690 0.002225 0.000511 0.000839 0.001752 0.000544 0.001807 0.000633 0.000547 0.001712 0.001575 0.000512 0.000567 0.000586 0.001449 0.000862 0.001286 0.000506 0.000518 0.000545 0.001830 0.000665 0.000949 0.001156 0.001236 0.000501 + 1 2.0 1.0
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/map_1.21 Sat Dec 09 05:58:25 2017 -0500 @@ -0,0 +1,201 @@ +#Chr Genpos Marker Physpos Nr + 21 0.70496629 rs1296971 13609442 1 + 21 0.77494263 rs468601 13769165 2 + 21 0.85010932 rs2821973 13899316 3 + 21 1.01291458 rs1929150 14051249 4 + 21 1.07552959 rs2822124 14088675 5 + 21 1.16577144 rs2775054 14121682 6 + 21 1.34457997 rs7276618 14197852 7 + 21 1.44169062 rs392812 14252347 8 + 21 1.60661592 rs2822368 14311592 9 + 21 1.73090413 rs6516610 14385827 10 + 21 1.78470487 rs447455 14502698 11 + 21 1.89865013 rs437521 14513560 12 + 21 1.95928889 rs2822554 14585162 13 + 21 2.00968909 rs2822572 14618073 14 + 21 2.09569547 rs13050350 14653413 15 + 21 2.14611500 rs2142236 14748155 16 + 21 2.30459845 rs2822677 14767432 17 + 21 2.35507107 rs2822696 14783326 18 + 21 2.49458320 rs376635 14788185 19 + 21 2.54981913 rs2822765 14843387 20 + 21 2.69205997 rs2822780 14875052 21 + 21 2.74542953 rs465340 14884525 22 + 21 2.80926447 rs1888398 14981052 23 + 21 2.86888387 rs458052 15013563 24 + 21 2.93942924 rs2822907 15057767 25 + 21 2.99612354 rs8129531 15061195 26 + 21 3.15050759 rs12053660 15067326 27 + 21 3.48398239 rs1883003 15147347 28 + 21 3.62725156 rs2822974 15185311 29 + 21 3.69755891 rs11088231 15247441 30 + 21 3.83233721 rs2205239 15365789 31 + 21 4.03050303 rs2823045 15382630 32 + 21 4.11519240 rs926164 15435118 33 + 21 4.17500340 rs2823139 15498654 34 + 21 4.22973041 rs2823161 15515055 35 + 21 4.31848934 rs2823194 15568649 36 + 21 4.53372425 rs2049882 15633372 37 + 21 4.62105207 rs1736148 15735083 38 + 21 4.80636119 rs2823301 15780469 39 + 21 4.88644465 rs6517467 15806025 40 + 21 4.96357163 rs2064051 15860950 41 + 21 5.04209154 rs9974915 15879012 42 + 21 5.09648993 rs2823400 15922925 43 + 21 5.28044978 rs726634 15952748 44 + 21 5.33607360 rs7283707 16048865 45 + 21 5.52020653 rs7283161 16247081 46 + 21 5.60568022 rs9982633 16341775 47 + 21 5.70676016 rs2823621 16453860 48 + 21 5.81125072 rs2051347 16485140 49 + 21 5.90261793 rs2823702 16551609 50 + 21 6.11205825 rs189457 16586547 51 + 21 6.19207523 rs2823748 16597546 52 + 21 6.50682420 rs2849869 16651064 53 + 21 6.65214516 rs1667568 16668191 54 + 21 6.71981324 rs171267 16678743 55 + 21 6.82475021 rs11911987 16722383 56 + 21 7.39610093 rs2823881 16856068 57 + 21 7.50376261 rs2823912 16917157 58 + 21 7.63480472 rs2032287 16930320 59 + 21 7.84039602 rs4818278 16998424 60 + 21 8.04214302 rs11700643 17038979 61 + 21 8.22354552 rs418989 17157305 62 + 21 8.36525000 rs4818307 17217065 63 + 21 8.45433331 rs11701390 17283040 64 + 21 8.51634344 rs2824192 17343668 65 + 21 8.67406372 rs2824231 17392912 66 + 21 8.77025758 rs1501813 17554542 67 + 21 8.82932246 rs2824273 17561990 68 + 21 8.88853994 rs2824282 17645542 69 + 21 9.03723097 rs4536738 17662409 70 + 21 9.09085593 rs2824292 17709047 71 + 21 9.16009205 rs208885 17730794 72 + 21 9.53979856 rs2849886 17786057 73 + 21 9.59018991 rs764657 17848524 74 + 21 9.69271956 rs9977638 17890191 75 + 21 9.85245414 rs2824435 17966268 76 + 21 10.08197365 rs243570 18050577 77 + 21 10.35520368 rs243587 18076288 78 + 21 10.47428859 rs243619 18133788 79 + 21 10.53651389 rs2824560 18225088 80 + 21 10.61943861 rs200801 18255517 81 + 21 10.67244619 rs157740 18325093 82 + 21 10.79821762 rs2260211 18346822 83 + 21 11.00225432 rs1491781 18406009 84 + 21 11.15996564 rs2824646 18428522 85 + 21 11.27225313 rs2824669 18457462 86 + 21 11.36867493 rs2824688 18474751 87 + 21 11.45964144 rs2824699 18483226 88 + 21 11.64771978 rs2824704 18490357 89 + 21 11.76380297 rs9983595 18549169 90 + 21 11.84781755 rs7283555 18581924 91 + 21 12.11384302 rs2824733 18610953 92 + 21 12.17280440 rs2824760 18643999 93 + 21 12.28574212 rs17781453 18653275 94 + 21 12.38984244 rs978421 18764344 95 + 21 12.44711692 rs2251831 18789375 96 + 21 12.52273151 rs1735766 18848058 97 + 21 12.57455115 rs2824909 18854315 98 + 21 12.65879321 rs8133676 18997737 99 + 21 12.72302066 rs8129581 19057910 100 + 21 12.81618598 rs1159082 19121841 101 + 21 12.90145984 rs432177 19186337 102 + 21 12.95549266 rs443581 19216302 103 + 21 13.06810731 rs2178993 19293300 104 + 21 13.27236583 rs2825304 19331922 105 + 21 13.32707225 rs764063 19376899 106 + 21 13.37982622 rs2825410 19494502 107 + 21 13.59530607 rs856168 19626353 108 + 21 13.69705947 rs2825547 19668806 109 + 21 13.75352001 rs1489734 19793599 110 + 21 13.81559903 rs434435 19844160 111 + 21 13.86820051 rs2244367 19866968 112 + 21 13.98574411 rs2825673 19888587 113 + 21 14.14320618 rs7277498 19951997 114 + 21 14.20879296 rs2825728 19969339 115 + 21 14.28647592 rs2825750 19983882 116 + 21 14.33689830 rs13433388 20069219 117 + 21 14.38898773 rs7275645 20167678 118 + 21 14.44017677 rs2825924 20246520 119 + 21 14.50315223 rs2825960 20320715 120 + 21 14.56015678 rs2825977 20348756 121 + 21 14.61166764 rs2826065 20478347 122 + 21 14.79246064 rs2826125 20571466 123 + 21 14.90289354 rs2246644 20645886 124 + 21 15.04596182 rs2091991 20691564 125 + 21 15.18648966 rs994455 20705648 126 + 21 15.53559341 rs2826262 20743064 127 + 21 15.66356127 rs2826339 20806826 128 + 21 15.77781450 rs1893329 20830425 129 + 21 15.86446260 rs2826388 20848008 130 + 21 15.95926952 rs1351599 20913703 131 + 21 16.05729287 rs229448 20933061 132 + 21 16.11368606 rs2826418 20949969 133 + 21 16.47246854 rs9974471 21056224 134 + 21 16.66392288 rs2826538 21110606 135 + 21 16.79121263 rs9981937 21134312 136 + 21 16.85341215 rs2826596 21183086 137 + 21 17.04571292 rs6518018 21296154 138 + 21 17.10290055 rs8126872 21345875 139 + 21 17.18846294 rs1980966 21384976 140 + 21 17.34205820 rs2826662 21414302 141 + 21 17.42614487 rs2826676 21427970 142 + 21 17.51471805 rs2826713 21451562 143 + 21 17.56528732 rs1373484 21594668 144 + 21 17.64265500 rs2826844 21743514 145 + 21 17.85431911 rs233803 21809131 146 + 21 17.91111695 rs8134226 21864007 147 + 21 17.96645267 rs1735990 21972669 148 + 21 18.03585827 rs2826982 22043979 149 + 21 18.14172180 rs2827045 22094903 150 + 21 18.20441422 rs2827102 22169091 151 + 21 18.43775705 rs2246589 22210543 152 + 21 18.67287429 rs2154723 22258522 153 + 21 18.85099488 rs2827203 22289388 154 + 21 18.94321450 rs2827251 22429921 155 + 21 18.99671746 rs2827308 22545897 156 + 21 19.05774110 rs2827322 22564337 157 + 21 19.13631789 rs2827338 22576117 158 + 21 19.20362216 rs2014609 22717064 159 + 21 19.26613313 rs2827606 22865549 160 + 21 19.32281282 rs2827641 22917993 161 + 21 19.52863920 rs8127947 23088645 162 + 21 19.62941496 rs117674 23181728 163 + 21 19.69196960 rs198114 23321910 164 + 21 19.74649998 rs405227 23364298 165 + 21 19.81984364 rs2827880 23421443 166 + 21 19.90502305 rs8134936 23558338 167 + 21 19.95943904 rs2828019 23589727 168 + 21 20.08961268 rs2828068 23618853 169 + 21 20.14554663 rs2828098 23674565 170 + 21 20.23269491 rs9980706 23719145 171 + 21 20.28980444 rs2828167 23752189 172 + 21 20.34721944 rs2212575 23858500 173 + 21 20.40601271 rs1514417 23947028 174 + 21 20.47503438 rs1514414 23981149 175 + 21 20.69805264 rs2828457 24015036 176 + 21 20.74919837 rs2828520 24064990 177 + 21 20.83315713 rs2828549 24145543 178 + 21 21.00866634 rs2828622 24215779 179 + 21 21.06311429 rs9977556 24246806 180 + 21 21.24419008 rs2154734 24262860 181 + 21 21.30751062 rs1910670 24349615 182 + 21 21.36223878 rs11087904 24424999 183 + 21 21.53371556 rs12627150 24432464 184 + 21 21.69150159 rs2828914 24512033 185 + 21 21.74270098 rs2829026 24670327 186 + 21 21.79938994 rs2829049 24704489 187 + 21 21.85804827 rs2829086 24734850 188 + 21 22.00320719 rs12053689 24836768 189 + 21 22.08952329 rs728067 24863804 190 + 21 22.21825129 rs4816976 24889274 191 + 21 22.26888477 rs2829227 24946353 192 + 21 22.32072493 rs17000204 24953391 193 + 21 22.37522446 rs2829285 25002830 194 + 21 22.55858143 rs17000332 25025907 195 + 21 22.62514941 rs17689314 25104707 196 + 21 22.72017895 rs4283495 25323982 197 + 21 22.83590284 rs2154526 25411108 198 + 21 22.95961680 rs2829558 25436468 199 + 21 23.00970055 rs12626495 25531117 200
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/pedin_1.21 Sat Dec 09 05:58:25 2017 -0500 @@ -0,0 +1,21 @@ +1 111 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +1 112 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +1 206003 111 112 1 0 1 1 1 1 1 1 1 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 2 2 2 2 2 1 1 2 2 1 1 1 2 1 1 1 2 1 1 2 2 2 2 1 2 1 1 1 2 2 2 1 2 1 2 1 1 2 2 1 2 1 2 2 2 1 1 1 2 2 2 2 2 1 1 1 1 1 2 2 2 1 1 2 2 1 2 2 2 1 1 1 1 1 1 1 2 1 2 1 2 1 2 2 2 2 2 1 1 1 2 1 2 1 1 1 1 1 1 2 2 1 2 2 2 1 1 1 2 1 1 2 2 1 1 1 2 1 2 1 2 1 1 2 2 2 2 2 2 1 1 2 2 1 2 2 2 1 1 2 2 2 2 1 1 2 2 2 2 1 2 1 1 2 2 1 1 2 2 1 2 1 2 2 2 1 2 1 1 1 1 2 2 1 2 1 1 2 2 1 1 1 2 1 2 1 2 1 2 2 2 1 2 2 2 1 2 1 2 1 2 1 2 1 2 1 1 1 1 2 2 1 2 2 2 1 1 1 1 1 2 2 2 1 2 2 2 1 2 1 1 2 2 2 2 1 1 2 2 2 2 1 2 1 1 1 2 1 1 2 2 2 2 2 2 1 1 2 2 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 1 2 1 2 1 2 1 1 2 2 1 1 2 2 1 2 1 2 1 1 1 2 1 2 2 2 1 1 1 2 1 1 1 1 2 2 1 1 2 2 2 2 2 2 1 1 1 2 2 2 2 2 +1 206001 111 112 1 2 1 1 1 1 1 1 1 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 2 2 2 2 2 1 1 2 2 1 1 1 2 1 1 1 2 1 1 2 2 2 2 1 2 1 1 1 2 2 2 1 2 1 2 1 1 2 2 1 2 1 2 2 2 1 1 1 2 2 2 2 2 1 1 1 1 1 2 2 2 1 1 2 2 1 2 2 2 1 1 1 1 1 1 1 2 1 2 1 2 1 2 2 2 2 2 1 1 1 2 1 2 1 1 1 1 1 1 2 2 1 2 2 2 1 1 1 2 1 1 2 2 1 1 1 2 1 2 1 2 1 1 2 2 2 2 2 2 1 1 2 2 1 2 2 2 1 1 2 2 2 2 1 1 2 2 2 2 1 2 1 1 2 2 1 1 2 2 1 2 1 2 2 2 1 2 1 1 1 1 2 2 1 2 1 1 2 2 1 1 1 2 1 2 1 2 1 2 2 2 1 2 2 2 1 2 1 2 1 2 1 2 1 2 1 1 1 1 2 2 1 2 2 2 1 1 1 1 1 2 2 2 1 2 2 2 1 2 1 1 2 2 2 2 1 1 2 2 2 2 1 2 1 1 1 2 1 1 2 2 2 2 2 2 1 1 2 2 1 2 1 2 1 1 1 1 1 1 1 2 2 2 1 2 1 1 1 2 1 2 2 2 2 2 1 1 1 2 1 2 1 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 1 1 1 2 1 2 1 1 1 2 1 2 1 1 2 2 1 1 2 2 1 2 1 2 1 2 1 1 1 2 2 2 2 2 1 1 2 2 1 2 2 2 +1 206002 0 0 2 1 1 2 1 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 1 2 1 1 2 2 2 2 1 1 1 1 1 2 1 2 1 1 2 2 2 2 1 2 2 2 1 1 2 2 1 2 1 2 1 2 2 2 1 1 2 2 2 2 1 1 1 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 1 1 1 2 1 2 1 1 1 2 1 1 1 2 1 1 1 1 2 2 1 1 2 2 2 2 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 2 2 2 2 2 1 2 1 1 1 2 1 2 1 1 2 2 1 1 2 2 2 2 1 2 1 2 1 2 2 2 1 1 1 1 1 1 2 2 1 1 2 2 1 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 1 1 1 2 2 1 1 1 2 1 2 1 2 2 2 1 2 2 2 1 2 1 2 1 2 1 2 2 2 1 1 1 1 1 1 2 2 1 1 2 2 1 2 2 2 1 2 2 2 2 2 1 1 1 1 2 2 1 2 2 2 1 2 2 2 1 1 1 1 1 2 1 2 1 1 2 2 1 1 1 2 1 2 1 2 1 2 1 2 1 2 1 1 2 2 1 1 1 1 2 2 2 2 1 1 1 2 2 2 1 1 2 2 1 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 1 1 2 2 1 2 1 2 1 1 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 2 2 2 1 1 1 2 1 2 1 1 1 2 2 2 2 2 1 1 1 2 2 2 1 2 1 1 2 2 1 2 1 2 1 2 1 1 2 2 +1 2060018 0 0 2 1 1 1 1 1 1 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 1 1 2 2 1 1 1 2 1 2 2 2 1 2 1 1 2 2 1 1 1 2 1 2 1 2 2 2 2 2 0 0 2 2 1 2 2 2 1 1 2 2 1 2 2 2 2 2 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 1 1 1 2 2 2 1 2 1 1 1 2 1 2 1 1 2 2 1 2 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 2 2 2 2 1 1 2 2 2 2 1 1 1 2 2 2 1 2 1 2 2 2 1 2 2 2 1 2 2 2 1 1 2 2 1 2 1 2 1 2 2 2 1 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 1 2 1 1 1 2 1 1 2 2 1 1 1 2 1 1 2 2 2 2 1 2 1 1 1 2 1 2 1 2 2 2 1 2 2 2 2 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 1 2 1 2 1 2 2 2 1 1 1 1 1 2 2 2 1 2 2 2 2 2 1 1 1 2 1 1 1 2 1 2 1 2 1 1 2 2 2 2 1 1 2 2 1 1 1 2 1 2 1 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 1 1 1 1 1 2 1 2 1 1 2 2 1 1 1 1 1 2 1 2 2 2 1 2 2 2 1 1 1 1 2 2 1 2 1 2 1 2 2 2 2 2 1 1 1 1 2 2 +1 2060010 206001 2060018 1 0 1 1 1 1 1 1 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 1 1 2 1 2 1 2 1 1 1 1 1 2 1 1 1 2 1 2 1 2 2 2 2 2 1 1 2 2 1 1 2 2 1 1 2 2 1 1 2 2 2 2 1 2 1 1 1 1 2 2 1 2 1 2 1 2 2 2 1 2 1 2 1 2 1 2 1 1 2 2 2 2 1 1 1 1 1 1 2 2 1 1 2 2 2 2 2 2 1 1 1 1 1 1 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 1 2 2 1 2 1 1 1 2 2 2 1 2 2 2 1 2 1 2 1 1 2 2 1 1 2 2 1 2 0 0 1 1 2 2 2 2 1 2 1 1 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 1 1 1 2 2 2 1 1 2 2 1 1 1 1 1 2 1 1 1 2 1 1 2 2 1 1 1 2 2 2 1 2 1 2 1 1 2 2 1 1 2 2 1 1 2 2 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 2 2 2 1 1 1 1 1 1 1 2 2 2 2 2 1 1 1 1 2 2 2 2 1 2 2 2 2 2 1 2 1 1 1 1 1 2 2 2 1 2 1 2 1 2 2 2 1 2 1 2 1 1 1 2 1 1 2 2 2 2 2 2 1 1 2 2 1 1 2 2 2 2 1 1 1 2 1 2 1 2 1 2 2 2 2 2 1 2 1 2 1 2 1 2 1 1 1 1 1 2 1 1 1 2 2 2 1 2 2 2 1 2 2 2 1 2 1 2 1 2 1 1 1 2 2 2 2 2 1 2 1 2 1 1 2 2 +1 206004 206001 206002 2 2 1 2 1 2 1 1 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 1 1 1 2 2 1 2 1 1 1 1 1 2 1 1 1 1 2 2 2 2 1 2 2 2 1 1 2 2 1 2 1 2 1 1 2 2 1 1 2 2 2 2 1 2 1 1 1 1 2 2 1 2 1 1 1 2 2 2 1 2 1 2 2 2 1 1 1 1 1 2 1 2 1 2 1 1 1 1 2 2 1 1 2 2 2 2 2 2 1 1 1 1 1 1 2 2 1 2 1 2 1 2 2 2 2 2 1 1 1 1 2 2 1 1 1 1 1 2 1 2 2 2 2 2 1 1 2 2 1 2 2 2 1 1 1 2 1 2 1 2 1 1 2 2 2 2 2 2 1 1 1 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 1 1 1 1 2 2 1 1 1 2 1 2 1 2 2 2 1 2 1 2 1 2 1 2 1 2 1 2 2 2 1 1 1 2 1 1 2 2 1 1 2 2 1 1 2 2 1 2 1 2 1 2 1 1 1 2 1 2 1 1 2 2 2 2 2 2 1 1 1 1 1 2 2 2 1 2 2 2 1 1 1 1 2 2 2 2 1 1 1 2 1 2 1 2 1 2 1 1 1 1 2 2 2 2 1 2 1 1 2 2 1 2 1 2 1 2 1 2 1 1 1 2 2 2 2 2 1 2 1 2 1 1 2 2 2 2 1 1 1 1 1 2 1 2 2 2 2 2 1 2 1 1 1 2 1 2 2 2 1 1 1 1 1 2 1 1 2 2 2 2 1 1 1 2 1 2 2 2 1 2 1 2 1 2 1 1 1 1 2 2 2 2 1 2 2 2 1 1 2 2 +1 206006 206001 206002 2 2 1 2 1 2 1 1 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 1 1 1 2 2 1 2 1 1 1 1 1 2 1 1 1 1 2 2 2 2 1 2 2 2 1 1 2 2 1 2 1 2 1 1 2 2 1 1 2 2 2 2 1 2 1 1 1 1 2 2 1 2 1 1 1 2 2 2 1 2 1 2 2 2 1 1 1 1 1 2 1 2 1 2 1 1 1 1 2 2 1 1 2 2 2 2 2 2 1 1 1 1 1 1 2 2 1 2 1 2 1 2 2 2 2 2 1 1 1 1 2 2 1 1 1 1 1 2 1 2 2 2 2 2 1 2 1 2 1 1 2 2 1 1 1 2 1 2 1 2 1 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 1 1 1 1 2 2 1 1 2 2 1 1 1 1 2 2 1 1 1 2 1 1 2 2 1 1 1 1 2 2 1 1 1 2 1 1 2 2 1 1 2 2 1 2 2 2 2 2 1 2 1 2 1 1 1 2 1 2 1 2 2 2 1 2 2 2 1 1 1 1 1 1 1 2 1 2 2 2 1 1 1 2 1 2 1 2 1 2 2 2 2 2 1 2 1 2 1 1 1 1 2 2 2 2 1 2 1 2 2 2 1 2 1 2 1 1 1 2 1 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 1 2 1 2 1 1 1 2 1 2 2 2 2 2 1 2 1 1 1 2 1 2 2 2 1 1 1 2 1 2 1 1 1 2 1 2 1 1 2 2 1 2 2 2 1 2 2 2 1 2 1 2 1 1 2 2 1 2 1 1 1 2 1 1 2 2 +1 206008 206001 206002 2 2 1 1 1 1 1 1 1 2 1 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 1 2 1 1 2 2 1 2 1 1 1 1 1 1 1 2 1 1 2 2 2 2 2 2 2 2 1 1 2 2 1 1 2 2 1 2 2 2 1 1 2 2 2 2 1 2 1 2 1 2 2 2 1 2 1 1 1 2 2 2 1 2 1 2 1 2 1 2 1 1 2 2 1 2 1 1 1 1 1 1 2 2 1 1 2 2 2 2 1 2 1 2 1 1 1 1 1 2 1 2 1 2 2 2 2 2 2 2 1 2 1 1 1 2 1 2 1 1 1 2 1 2 2 2 2 2 1 1 2 2 1 2 2 2 1 1 1 2 1 2 1 2 1 1 2 2 2 2 2 2 1 1 1 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 1 1 1 1 2 2 1 1 1 2 1 2 1 2 2 2 1 2 1 2 1 2 1 2 1 2 1 2 2 2 1 1 1 2 1 1 2 2 1 1 2 2 1 1 2 2 1 2 1 2 1 2 1 1 1 2 1 2 1 1 2 2 2 2 2 2 1 1 1 1 1 2 2 2 1 2 2 2 1 1 1 1 2 2 2 2 1 1 1 2 1 2 1 2 1 2 1 1 1 1 2 2 2 2 1 2 1 1 2 2 1 2 1 2 1 2 1 2 1 1 1 2 2 2 2 2 1 2 1 2 1 1 2 2 2 2 1 1 1 1 1 2 1 2 2 2 2 2 1 2 1 1 1 2 1 2 2 2 1 1 1 1 1 2 1 1 2 2 2 2 1 1 1 2 1 2 2 2 1 2 1 2 1 2 1 1 1 1 2 2 2 2 1 2 2 2 1 1 2 2 +1 206005 0 0 1 1 1 2 1 1 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 2 1 2 1 2 0 0 1 1 2 2 1 2 1 2 1 2 2 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 1 2 1 2 1 1 2 2 2 2 1 2 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 2 2 2 1 2 1 1 1 1 2 2 2 2 1 2 1 2 1 2 1 2 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 2 1 2 2 2 1 2 1 2 1 2 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 2 1 2 1 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 1 1 1 1 2 2 2 2 1 1 1 1 2 2 1 2 1 1 1 2 2 2 2 2 1 1 1 2 1 1 2 2 1 1 1 2 1 2 1 2 1 1 1 1 2 2 1 1 2 2 1 2 1 2 2 2 1 1 1 2 1 2 1 2 1 2 1 1 1 2 1 2 1 2 1 1 2 2 1 2 1 2 1 1 1 2 1 1 1 2 1 2 1 2 1 1 2 2 2 2 1 2 1 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 1 2 1 2 1 2 1 1 1 1 2 2 2 2 1 2 1 1 2 2 1 1 1 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 1 2 1 1 1 1 1 1 2 2 1 2 1 2 1 1 2 2 1 1 2 2 1 1 2 2 2 2 2 2 1 2 1 2 2 2 1 2 1 2 2 2 2 2 1 1 1 1 1 1 2 2 +1 206007 0 0 1 1 1 1 1 1 1 2 1 2 2 2 1 1 1 2 1 2 1 2 1 2 2 2 1 1 2 2 1 1 2 2 1 2 1 1 2 2 1 2 1 2 1 2 2 2 1 1 1 1 1 2 1 1 1 2 1 2 2 2 1 2 2 2 1 2 1 1 1 2 1 2 1 2 2 2 1 2 1 1 1 1 1 2 1 2 1 1 2 2 2 2 2 2 1 1 1 2 2 2 1 2 1 2 1 2 2 2 1 1 1 1 2 2 1 1 1 2 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 2 1 2 1 2 1 2 2 2 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 2 2 1 2 2 2 1 2 2 2 1 2 1 2 2 2 2 2 1 1 1 1 1 2 1 2 1 1 2 2 1 2 1 1 1 2 1 2 2 2 2 2 1 1 2 2 1 1 2 2 1 1 1 1 2 2 1 2 1 1 1 1 2 2 1 1 2 2 2 2 2 2 1 1 2 2 2 2 1 1 1 1 1 1 1 2 1 2 2 2 2 2 1 1 1 1 1 2 1 2 1 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 1 2 1 1 1 2 2 2 1 2 1 2 1 2 2 2 1 2 1 1 1 1 2 2 1 2 2 2 2 2 1 1 2 2 1 1 2 2 2 2 1 1 2 2 2 2 2 2 1 1 2 2 1 1 1 1 1 2 1 2 2 2 1 1 1 1 1 2 1 1 1 2 2 2 1 1 1 2 1 2 2 2 2 2 1 2 1 2 1 1 1 1 2 2 2 2 1 2 2 2 2 2 1 1 +1 211 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +1 212 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +1 2060011 206005 206004 1 0 1 1 1 1 1 2 1 1 1 2 1 2 2 2 2 2 2 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 1 2 2 1 2 1 2 1 1 1 2 1 1 1 2 1 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 1 1 2 2 1 2 2 2 2 2 1 2 1 1 1 1 2 2 1 2 1 2 1 1 2 2 1 1 1 2 1 2 1 2 1 1 2 2 2 2 1 2 1 1 1 1 2 2 1 2 1 2 1 2 2 2 1 1 1 2 1 1 1 2 1 2 1 1 1 2 1 2 2 2 1 1 1 2 1 2 1 2 1 1 2 2 1 2 1 2 2 2 1 1 1 2 1 2 2 2 1 1 1 2 1 2 1 2 1 1 2 2 2 2 2 2 1 1 1 2 1 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 1 1 1 1 2 2 1 1 1 1 1 2 2 2 2 2 1 2 2 2 1 2 1 2 1 2 1 2 1 2 1 2 1 1 1 1 2 2 1 1 2 2 1 2 2 2 1 2 1 2 1 2 1 2 1 1 1 2 1 1 1 2 1 2 2 2 1 1 1 2 2 2 2 2 1 1 1 2 1 1 1 2 2 2 2 2 1 1 1 2 1 2 1 2 1 2 1 2 1 1 2 2 2 2 1 1 1 2 2 2 1 2 1 2 1 2 1 2 1 1 1 2 2 2 1 2 1 2 1 2 1 1 1 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 1 2 1 1 1 1 1 1 2 2 1 1 1 2 1 2 1 2 1 2 2 2 1 1 1 2 2 2 2 2 1 2 1 2 2 2 1 2 1 1 2 2 2 2 1 2 1 2 1 1 2 2 +1 2060012 206005 206004 1 0 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 1 1 1 1 2 2 1 2 1 1 1 2 2 2 1 2 1 1 2 2 1 2 1 1 1 2 1 2 1 2 2 2 1 2 1 1 2 2 1 1 2 2 2 2 1 2 1 2 1 1 2 2 2 2 1 1 1 2 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 2 1 2 2 2 2 2 1 2 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 2 1 1 1 1 2 2 1 2 1 2 1 2 1 1 1 2 2 2 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 2 1 2 1 2 1 2 2 2 1 1 1 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 1 1 1 1 2 2 1 2 1 1 2 2 2 2 2 2 1 2 1 2 1 2 1 2 1 2 2 2 2 2 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 2 1 2 1 2 2 2 1 1 1 2 2 2 1 1 2 2 2 2 1 2 1 1 1 2 1 2 1 2 1 1 2 2 1 1 1 1 1 2 1 2 1 1 1 2 1 2 1 1 2 2 1 2 1 1 2 2 2 2 1 2 1 2 2 2 1 1 2 2 2 2 1 2 1 1 1 2 2 2 2 2 1 2 1 2 1 1 2 2 2 2 1 1 1 2 2 2 2 2 1 2 2 2 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 2 1 2 1 2 2 2 1 1 1 2 2 2 2 2 1 1 1 1 2 2 1 1 1 2 2 2 2 2 1 2 1 2 1 1 2 2 +1 2060013 212 206006 1 0 1 2 1 2 1 2 1 2 2 2 1 2 1 2 2 2 1 2 1 2 2 2 1 2 2 2 1 2 2 2 0 0 1 1 1 2 2 2 1 1 1 2 2 2 1 1 1 1 2 2 2 2 1 2 2 2 1 1 2 2 1 2 1 2 1 1 2 2 1 1 2 2 1 2 1 1 1 1 1 2 1 2 2 2 1 1 2 2 2 2 2 2 1 2 1 2 1 1 1 1 1 2 1 1 2 2 1 1 1 2 1 2 1 1 2 2 1 2 2 2 1 2 1 1 1 2 1 2 1 1 1 1 1 2 1 2 1 2 1 1 1 2 1 2 1 2 1 1 1 2 1 1 2 2 1 2 2 2 1 2 1 2 1 2 1 1 1 1 1 1 1 2 1 2 2 2 1 2 2 2 1 2 2 2 1 2 1 2 1 2 2 2 2 2 1 1 2 2 2 2 1 1 1 2 2 2 1 2 2 2 1 2 1 2 2 2 1 1 1 2 1 1 2 2 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 2 1 2 2 2 1 2 2 2 2 2 1 1 1 1 1 2 2 2 1 2 1 2 1 2 1 2 1 1 1 2 1 2 1 1 2 2 1 1 1 2 1 1 1 1 1 2 2 2 2 2 1 1 2 2 1 2 1 1 2 2 2 2 1 1 2 2 2 2 1 1 2 2 1 1 1 2 1 2 1 2 2 2 1 2 1 2 2 2 1 1 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 1 1 1 1 1 1 2 2 1 1 2 2 2 2 1 1 1 1 1 2 1 1 2 2 2 2 2 2 1 1 1 2 2 2 1 2 1 2 2 2 1 2 1 1 1 1 1 1 2 2 +1 2060014 206007 206006 2 2 1 1 1 1 1 2 1 1 2 2 1 1 1 2 2 2 1 2 1 2 2 2 1 2 2 2 1 2 2 2 0 0 1 1 2 2 1 1 1 1 1 2 1 2 1 1 1 1 2 2 1 2 2 2 1 2 1 2 1 2 1 2 1 2 1 1 1 2 1 1 1 2 2 2 2 2 1 1 1 1 1 2 1 2 1 1 1 2 2 2 1 2 1 2 2 2 1 2 1 1 1 2 2 2 1 2 1 1 1 1 2 2 1 1 2 2 1 2 1 2 1 1 1 1 1 1 1 2 1 2 1 2 2 2 2 2 2 2 1 2 1 1 2 2 1 2 1 2 1 1 1 2 2 2 1 2 1 1 1 2 1 2 1 2 1 1 1 2 1 2 1 1 1 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 1 2 1 1 1 2 2 2 1 1 1 2 1 2 1 1 2 2 1 2 1 2 2 2 1 1 1 2 1 1 2 2 1 1 1 1 2 2 1 2 1 2 1 1 2 2 1 1 2 2 1 2 2 2 1 2 1 2 1 2 1 1 1 2 1 1 1 2 1 2 2 2 2 2 1 1 1 1 1 1 1 2 1 2 2 2 1 1 1 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 1 1 1 1 1 2 2 2 1 2 1 2 2 2 2 2 1 2 1 1 1 1 1 2 1 2 2 2 2 2 1 1 2 2 1 1 2 2 2 2 1 1 1 2 1 2 1 2 1 2 2 2 1 2 1 1 2 2 2 2 2 2 1 1 1 1 1 1 1 1 2 2 2 2 1 1 2 2 1 1 2 2 2 2 2 2 1 1 1 1 1 1 2 2 2 2 1 1 2 2 1 2 1 2 +1 2060015 206007 206006 1 0 1 1 1 1 1 1 1 2 2 2 1 1 2 2 1 2 2 2 1 2 2 2 1 2 2 2 1 1 2 2 1 1 1 1 2 2 2 2 1 2 1 1 2 2 1 1 1 1 1 2 1 2 1 1 2 2 1 2 2 2 2 2 1 2 1 1 2 2 1 2 2 2 2 2 1 1 1 1 1 1 2 2 1 2 1 1 2 2 2 2 2 2 1 1 1 2 1 2 1 2 1 2 1 1 2 2 1 1 1 1 2 2 1 1 1 2 2 2 2 2 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 2 1 1 1 2 1 2 1 2 1 1 1 2 1 1 2 2 1 2 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 1 1 2 2 1 2 1 1 1 2 2 2 1 1 1 2 1 1 1 2 2 2 1 1 2 2 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 1 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 1 1 1 1 1 2 1 2 2 2 1 2 2 2 1 1 1 1 1 2 1 2 1 1 2 2 1 1 2 2 1 2 1 2 2 2 2 2 2 2 1 1 1 2 1 2 1 1 2 2 2 2 1 2 1 2 1 2 1 2 1 2 1 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 1 2 1 2 1 2 2 2 2 2 1 2 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 2 2 2 2 2 1 2 1 2 2 2 1 2 1 1 2 2 1 2 1 2 1 2 1 2 1 2 +1 2060016 211 206008 2 2 1 2 1 2 1 1 1 1 2 2 1 1 2 2 2 2 2 2 1 1 2 2 1 2 2 2 1 2 1 2 1 1 1 1 2 2 1 2 1 1 1 1 1 2 1 2 1 1 2 2 2 2 1 2 2 2 1 1 2 2 1 1 2 2 1 1 2 2 1 2 2 2 2 2 1 2 1 1 1 2 2 2 1 2 1 1 1 2 2 2 1 2 2 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 1 2 2 1 2 2 2 1 2 1 2 1 1 1 1 1 1 1 2 2 2 1 2 2 2 2 2 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 2 2 2 1 2 1 2 2 2 1 2 1 2 1 1 1 2 1 2 1 1 1 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 1 2 1 1 2 2 2 2 1 1 1 2 2 2 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 1 2 2 1 2 1 1 2 2 1 1 1 2 1 1 2 2 1 1 2 2 1 1 2 2 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 2 2 2 1 2 1 1 1 1 1 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 1 2 2 2 2 2 1 2 1 1 1 2 1 1 1 2 1 2 1 2 1 1 2 2 2 2 1 2 1 1 1 1 1 2 1 2 2 2 2 2 1 1 1 2 1 2 2 2 2 2 1 1 1 2 1 2 1 2 1 2 2 2 1 2 1 1 1 2 2 2 2 2 1 1 1 1 1 2 1 1 2 2 1 2 1 1 2 2 1 1 2 2 2 2 2 2 1 2 1 1 1 1 2 2 2 2 1 1 1 2 1 1 2 2 +1 2060017 211 206008 2 2 1 1 1 1 1 1 1 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 1 1 2 2 1 1 1 2 1 2 1 1 2 2 2 2 1 1 1 1 1 2 1 2 1 1 2 2 2 2 2 2 1 2 0 0 2 2 1 1 2 2 1 2 2 2 1 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 1 1 1 1 2 2 1 1 1 2 1 2 1 2 1 1 1 1 2 2 1 1 2 2 1 2 1 2 1 2 1 1 1 1 1 2 1 2 1 1 2 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 1 2 2 1 2 1 1 1 2 2 2 1 2 1 1 1 2 1 1 2 2 1 1 2 2 2 2 2 2 1 1 1 2 1 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 1 2 1 2 1 1 1 2 1 2 2 2 1 1 1 1 1 1 2 2 1 1 2 2 1 2 1 2 1 2 2 2 1 2 1 2 1 1 1 2 1 2 1 2 2 2 1 2 1 1 1 1 1 2 1 2 1 2 2 2 1 1 1 1 1 2 1 2 1 1 1 2 1 2 1 1 2 2 1 1 1 1 2 2 1 2 1 1 1 2 2 2 1 2 2 2 2 2 1 2 1 2 1 1 1 2 2 2 2 2 1 2 1 1 2 2 2 2 1 2 1 1 1 2 1 2 2 2 2 2 1 2 1 1 1 1 1 1 2 2 1 1 1 2 1 2 1 1 1 2 2 2 1 2 1 2 2 2 2 2 1 1 1 1 2 2 1 1 1 2 2 2 2 2 1 2 1 2 1 1 2 2