313113331111433234142211223442411241123142421222144121322342114423123112142221232312314234433223331424323111121434333121434323243422222342442423213342124131123113311233124213213314232314424314412133213123211223412312244214322344232221432233332314234422131423143344113332431223221312121132421143314344313212311234212314143442414423113441243112334311233212323323324133242144341114244124211314112411133123243442221432344214131244134334323414423244443343232231331441342312422422421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422321411222223422222431334244224142223233413111311144444313212232312423423112234123213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114121332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232333322222443242232342341421222312332113211333322433144434214333341413222422422323311333112324231223133133313224434412242342124322241112323222312443442131334342143141133122331431141412333214223423143123231243432242331114324344334131443231233444431113314212122441431214244242144414442421241343233212121324133232221322344222213243421134334132224211444434142443221311121333132312322243341332434414213132321141143233131314322344324212233334413431443412413424333412232143334422413441432311313314223413441333124231231214232311333311322144324221121114211111411142121412124132223433421313412442313434411222131142321221312432321141212211123322112413221444311313311343124243143313331222422211324433331413234133324334212122322134214234214222212331134213112111221132133433241432414222243233121231322413442333334323412213414414221233221124311214421322124342123311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144334233322224243223141242111321443223223212322341341333442422132143424434231431443132344212441313412214332314342443132422324434222322143212332124122232443224314122441123431344442143224114412323444343333231431132221244424412141232444322431411433333432413244242332113333112133433143443324212133111343333343331322141434423434113311121221341231243433431423413334132242341244111132324313211141232331224423433334341244342341442434313334423213414334431223342142313234323342123312433111434212222133144112211234342214313331214432243433434433132122313334343341324323334311121421221343143111331233114343144343324412143414123244311122234112421242231342143333314321331314334214131213213424321144333331311234134224142323122321441412211444143334431411132114324321143321433231334414341322123111343222213343233431343143211232242321413333441133213132323133233331413212211344313123423332233124124112433443232322112333332132224123313344444413144214132212122431233132432312434113233323141312132442221322231131231433423424342424432432341212242311111432342131223211123332423342422342232441112414431344343324212123422132342343332221141324134333431331314341331141222222311333322322331122323323111122141242221421433224412144324431332323124343414432322341214224123333334344232411223332431232233212224413232412211222341331442331241234333431234141132233113321242133123141100000000010000000000000000012441231342334213212422431144132121411441122111132432431143413341413144213222414312433412100000000000000000000000000100000000000000000000000000000000000000123134231313334234333112444432111211132333141224424231411334132222333114312423332341332223222332141132111113333432444222222141444412323333334413143123321233224321422222323233334212311242413123123133233231313321233313111123333241443313214323312344133423114231233234113443142412112124213333321314232433223334312141434332414224113242422124311143121231211212132244222134112424443233234433231423423121423321113331432131334433221423133222413142312324222313133241433134344133312421243223212433322434244222333231431242322241123412443412322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434134321432322342132223412124123224432323214223322213222341314114434432211213121331432324244143234133131331132423212413342413112123342143312221131321442311312212132223141344213123122112142142222113332213323244444244112331314333314341122331212321433221311331333431342311434411322232324124312112143333343222342442133421233223242414414114112224132334342231233312224314344414214211224233441414342334323341111212143321213422223214343322224321242132441424333323322241432120000000000000000000000100000000000000000000003244342442432441310000000010234142213231010000000000000002434333341312221411141331221231312332314332431444342231411312321324234121411344332134223433431141123423134212223231413313411214131434341441424221343322244213212112241144331442133423121323422322412421121433211123442222223321322221434434114231244321224122313443422313234341414422141324223231313414324123114123344243334444234412342311413333214444111142214123224344213333313331111143121413231241243323223432334213221142233321114321432214211241144234114221134224443411344333231322421113334223344414413143411422241112333134113214443143144313322423123232433233443411231114132423242224122444314424122431222121213122122414133312441324213133133122211413141221211341342132424342342212431132212332221424121241123113332432422443233132232111441231432344213412323212421234244314233421221112332223114322333322423323324422233313321434141243144412324131422312131441331444141313323212431442422223413433323 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121131123113311231124213213144432133221143232141313123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313442144341134224124211313112411133123243442221432342214134134134314323414423244433343232231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341222212233442323222341133323131322423332321334331114132421123213413344144222131333124431322323343131342344221132144231411311222224221324341314312444213121214323133242141412143213342432444242432124242224334223231214331111124412333212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232333322222443242232342341421222312332113211333322433144434214333341413222422422323311333112324231223113133313224434412242312124322241112323222312443442131334342443141133122331431141412323214223423243123213243412244333111324324114133221312411444431144314232122441411234241122144214243223441343233213123322133232221322344222213443421134334132222211444434142443221312421333134312134223343332412214211412121141143233131314322344324212233334413431443432231244333412232143311242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123132232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414242212331134213112111221132133433241422412224221231121433322413444423112321422221341432241432221324111432433322124132123113343224123434343212132133412331342324431232221121441134123232314412211212244444233121444331131334224431243314311131323434414242114212332331143434143231211133334234242322312431312143312143214132343312443443234213223211324132411333144242314121133142132000000000000010000000000000000000000023114321232433431224414221211141342312443212232434233324221313242132421321343423441142213133424444444114333233344443133321221333142311123321313343324144314231322224243223342242311323441221223213324323443333122412132143224314233211221244322433111313413214332312342443132422324432222322143212332144122232343244134122423143331344222222124332224124223424311231122314123424222232123232234112234143211332112431222223134321133331331413143244314444131313313241241211122121432423422313331344213433234231233442223411114132222321244111132344313211341232331424423433334341442342341442434113334422213413334431223344142313234323342223312433111434212222233144114211234142214313331234232243433434433134122311334343241324323334311121421221343143111131433114343344343324412141414123244311342234112421242231322143343314321331314314214131213213424341144333341311434134222142323122321441412211444143332223332333314122121323341211433312432143322123111343222213343233431343143211232242321413333441133213132323133233311413212211344313123423332233124124112433443232322112333332132224123313344444413144214132212122431233132432312434113233323141312132442221322231131231433423424342424432432341212242311111432342131223211123332423342422342232441112414431344341324212123422132342343332221141324134333431331314341331141222222311333322322311122323321111122141242221421433224412144324431332323124343414432322341214224123333334344232411223332431232233212224413232412211222341331442331241234333431234141132213113321242133123141100000000010000000000000000012441231342334213212422431144132123411443122111332432431143413341413144213242414322433412300000000000000000000000000000000000000000000000000000000010000000122132233313344214333112244434111243322332221244244233423133343242332114332421312314214133224334321132114343311414422431222141444312321313332233121442321431224321222422223233334212311442213223121133233231313121211121221123113241441312214323332322333223111221233412111341422112132124233333123314222233223333312141414332412223311211224122313143321231211434132344234333112214443233224413433423221143423321233331421113134233223243123222413324332324242313131241441334142133312423423223212431342232224222313211431242322241323413243422322414333324322313343234434323223334441234332322342323322413131421221123443231133234231244114123433323312422212332231234441223122112222434243234134323232323342132223312322123224432323231223323131232321334434212432433213331331432324224143234133131331132423212211112413134341424222114222313141223433132413311444442122431131122134124142122421214331141122244214412113232323412143114143444331431123213213111211342311434411322212124122414312343313113222342442134423432223242412414114112224132334342211233322242132342142214211224233441414142334323342111212123323311422132113343344224121242132441424211323312143241320000000000001000000000000000000000000000000003244424442434223310001000000212124233432000100000000000002434333341312221411141331221231312332314332431442342231411312321324234121411344332134223433431141123423134212223231413313411214131434341441422223343322242413212112241144331422133423323122214241234122323413211143422221441344122423424432334121442313412144123243422313412223331244343324243211313214324123114123342243334444214412342311413333214242111142214123224344213333313331121113121413211241243343211232314111221322333321114323432212411241241222332221334223243413322333231324441113334213344414413143411422241112333111313234241123124331342441443413231211221242423332134243422443344324314324324213344343211143144444141112143324233133133321211413143223433341213114242424132212413334212332233424131241321113332432424143233132232131311211433342431314323211421234244314233421221112332223114322333322423323324422233313341434141243144412324131422312131441331444143413241213213242422223133233113 313113331111433234142211223442411241123142421222144121322342114423123112142221232312314234433223331424323111121434333121434323243422242312422343213342124131123113311233124213213314232314424314412133213123211223412312244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222331323124423341114323324124222213312124231433223122242344314333114134112131343424422131144312412321443342432444242432124242224334223231214331111124412333212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443233121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433241432414324241433121423322413442333334143312413441432443213221124311214421322124342121311131442123222343234334133142131342324441232221121441134123234314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242414221211141342312443212232434233324221313242132421321343423441142213133424444444114333233334443133321221133142311123321313343324144314231322224243223342242311323441221223213324323411333143222222331242314233411221242322433113313313214332312142441112422324434222322143212432344122232333224334122243143331344222222124332224124223424311231122314123424222232123232234112234143213313432213444423132321313112133433143443324212133113343333243331322121434423424123211124213333414231233442423421134334424423431332314344333143344214123442241243342121444342341432432311334223213214222231223324112133224313322223134214344213414242213144112211234142214313331234232243433434433132122311334343241324323334311121421221343143111131233114343344343324412143414123244311342234112431243231322143343314321331314334214131213213424321144333331311234134224142323122321441412211444143332223332333314122121323341211433312432143322123111343222213343233431343143211232242321413333441133213132323133233331413212211344313123423332233124124112433443232322112333332132224123313344444413144214132212122431233132432312434113233323141312132442221322231131231433423424342424432432341212242311111432342131223211123332423342422342232441112414431344343324212123422132342343332221141324134333431331314341331141222222311333322322331122323323111122141242221421433224412144324431332323124343414432322341214224123333334344232411223332431232233212224413232412211222341331442331241234333431234141132233113321242133123141100000000010000000000000000012441231342334213212422431144132121411441122111132432431143413341413144213222414322433412300000000000000000000000000000000000000000000000000000000010000000122132233313344214333112244434111243322332241244244233423133343242332114332421312314214133224334321132114343311414422431222141444312321313332233121442321431224321222422223233334212311442213223121133233231313121211121221123113241441312214323332322333223111221233412111341422112132124233333123314222233223333312141414332412223311211224122313143321231211434132344234333112214443233224413433423221143423321233331421113134233223243123222413324332324242313131241441334142133312423423223212431342232224222313211431242322241323413243422322414333324322313343234434323223134441234332322342323342413131421421333443231133232231244314123433323312222232332233234441223122112222434243434333323432323342132223312122121243432423214223312213222321314414434432211213131331212322324143234133131113224223442411344413112123444222114222313124442311312212132223141344213123122112142142222113332213323244424244412331314333314341122331212321433221311331333431342311434411322232324124312112141113143421234242334223432243244212414112131222324131432211131112442132142144214211224233421414142334323341111212143321213442223214343122224321242132441424211323312143241320000100000000000000000000000000000000000000003244424222434223310000100000212124233432001000000000000002434333341312443323141331224211132332311414214322132231411312321324234121411344332134223413431141123423134212223231413313411214131434341441222223343322242213212112241144331422133423323122214241234122323413211143422241221344122421424414314131434321224122313423422313412341434224123312224212333434324323132143342243334444234412344333413123224244233321232433143112421311113111321143121413231241243323223432334213211143233121314321412214223213144222332221334223441431322332231324421143334223344434241343411422241124113134313234241123124331342441443413231211221242423332134243422443344324314324324213344343211143144444141112143324213133133321311413143223433341213114242424132212413334212332233424131241321113332432424143233132232131311211433342431314323211421234244314233421221112332223114322333322221123334422442131321442421241232214343323221132321333231444143413243212413242322223133433323 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121131123113311231124213213144432133221143232141313123211211414334244423324332232213222412432133224222133423143344113332431243223212121132421143314342333432311212112314143413414443113141243112134311233112323323324131212144443134222344411143112411123323243224421212344212134134134314323414443244433342231131231441312312422423441423132111233143112131114343421233222414233121312242141411224342423314233321241223231224343422341141121131442333332321334331134212421123243413141224222331323124431122323143131342344221132124231411223122242344314333114134112213121214323333242141412143213242232442242232124244224134223231214311143444414313232214333423142112234113213213122412213323222142224111211413331323242234441122414324112111234411122344343411314112122434234133341342441331343333232441412132233344231122134122331123233331432423113422241233444331412314243141244233233143432111343133331412321141323323231131312112123124321423132323223212142213134223224211223231131123342224333143312411322244111431112112441221113133433412212312213132341114234442311313441114333421343322332212322222444242133332321421222122332313211133322413144434214331121413222124422121313333114323432221333132311444233412222342342322241332321422334443444111334144141141333342131231143412423234423423241121413241413224313111144124134131221312413424411114114213114211111233414142144214242423243141233233323322133232211322344442213243421134313134424231434434122443221312421333134312134223143332412214411412141141143213131334324444124412433334414431423432231244133412232143434421413441432311313314223413441333124233431214422311323112342144322221121114211111431142121214324132443443421313432243213134413222131142321221312432321141232234243123332232213444311232111141124423321113333334422211222433131241214131342232242122124214232234214222212331134213112111221132133433241422412222221231121433322413444423112321422221341432241432221324111432433322124132123113343224123434343212132133412331342324131232221121441134123232122234333311222242211342221342333312133214412311143333133411234114211244332113143432143231222133334232421112124423414411124421231114143312443443232231441431342332411311123341342121331344114100000000000000000000000000000000000023114323214143312242414221212141342312443212232434233324221313242112421321343423441142213133424444444114333233134443133321221133142311123321313343124144314231322224243223342242331323441221223213324323411333143222222331242334231431443132344212441313412214332314342443132422324434222322143212332124122232443224314122441123431344442143224114412323444343333231431132221244424412141232444322431411433333432413244242332113333112133433143443324212133111343333343331322141434423434113311121221341231243433431423413334132242341244111132324313211141232331224423433334341244342341442434313334423213414334431223342142313234323342123312433111434212222133144112211234342214313331214432243433434433132122313332343241324323334311123421221343143111131233114343344343324412143414123244311342234112421242231322143343314321331314334214143233213144321142333331111214112222212323111343222233231242121142231411132114124321143321433243234414343122443331343243214311233233321343411232422223212311241121233322141213432111431244411344313141423132233144342114433223242222332333332112224121331324444431144434132212422431233132432312434113233344321312432442224124131332431433422424342424434432341234222311111432342131223211323332423342422342232431114431213122321342232333323334423222334331121324312331223213312333121344424224313132223143313142243321133324121242221421433224412144323431332323124343414434322341214224323333334344232411223332431432233212224413232412211222341331442331241234333431234141132233113321242133123141300000000001000000000000000012443231142112243212422431142132123411441122111314432431141433341433234241444312114431412300001000000000000000000000000000000000000000000000000000000000000122134233333134434323332433234111241322132243224422231411314132224333114312423332341332223222332141132111113333432444222222141423434321333332233121422123243422121424242341233134233313441233241321313213441414331233113111423113241411312214323332222132223141421233412113341422112312114213133321314232433223334312441434132312223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342232224222312211431442322241323413443422322434331442124213431214234123223334441234332322342323322413131421221123443231133234211244114123433323312422212332231234441223122112222434243234134323232323342132223312322123224432323231223323131232321334434212432433213331331432324224143234133131331132223212211112413134341424222114222313141223433132413311444442122431131122134124142122421214331141122244214112113232323412143114143444331431123213213111211342311434411322212124122414312343313313222342442134423432223242412414114112224132334342211233322242132342142214211224233441414142334323342111212123323311422132113343344224121242132441424211323312143241320000000000001000000000000000000000000000000003244424442434223310001000000212124233432000100000000000002434333341312221411141331221231312332314332431442342231411312321324234121411344332134223433431141123423134212223231413313411214131434341441422223343322242413212112241144331422133423323122214241234122323413211143422221441344122423424432334121442313412144123243422313412223331244343324243211313214324123114123344243334444234412342311413333214444111142214123224344213333313331111143121413231241243323223432334213211143233121314321412214223213144234114221134224443411344333231322421113334223344414413143411422241112333131113214443143144313322423123232433233443411231114132423242224122444314424122431222121213142122212133334143432313333133121231433331411213331343312422424132412413132312134133424121241123113332432422443233132232111441231432344213412323212421234244314233421221112332223114322333322423323324422233313341434141243144412324131422312321333231444143413241213213242422223133233113 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121131123113311231124213213144432133221143232141313123211211414334244423324332232213222412432133224222133423143344113332431243223212121132421143314342333432311212112314143413414443113141243112134311233112323323324131212144443134222344411143112411123323243224421212344212134134134314323414443244443342231131231441312312422423441423132111233143112131114343421233222414233121312242141411224342423314233321241223231224343422341141121131442333332321334331134232421123213441134144222131323124433322323343131342344221132124131431223122242344314333114134112131323424423131244112312321443241232442242431334244224144222231214311143444414313232214333423142112234113211433322414413323224142444131311431331323442234441122414114112111234411122324343411314112122434234133341344441331343333232441432132231144211122134122331123433331432423113422241233424321412314243141244233233144444311424113331432421141343323231131322312123123121433132241323212142211332223234211223231131323442244333143312213142244134431114334431223213133234222232332313312443114214242311313443111333221343322232333322222443242232342341421222312332113211333322433144434214333341413222422422323311333112324231223133133313224434412242342124322241112323222312443442131334342143141133122331431141412333214223423143123231243432242331111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124343141212111231342344322232223132424231141412433424133412244311311442343233114133412131411341121422311211212334432311323311322144324221311114211111431242121234124132243443421313432443313434413222133134323233224132323321412211123322112413221444311313311343124244143313331222422211324433331413234133324334212122322134214234214222212331134213112111221132133433241432414224441233121433144413442333334321412213414314421233443113334234233122142341341131131224341434343212132133414132122324441332234121433134121232314412211212244444233121444331131334224431243334311131323434414242114212313113143432143231222133334234242323112431322143324143214132343312441443232231421231322331433333124342314131131144332000000000000000000000000001000000000023334321134143432222312321412421142312441232234112411343422332432132121323141423441142213133424444444114333232344443113321221332142311123321313143124144314233322224243223342242111323441221223213324323441333142422132143224314233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213333434231233442424411134332224423431332314144333143344214123442241243342121444424133232332333332223131434224213214124442333334111124243332434314413432222233344132232314142214313331214432243433434433132122313334343341324323334311121421221343143111331233114343144343324412143414123244311122234112421242231342143333314321331314334214131213213424321144333331311234134224142323122321441412211444143332223332333314122121323341211433312432143322123111343222213243233431343143211232422223232331241133433322341213442111431244211344313141443112233324342114432221232222334133332132224133333344444413144414132212121431233132432312434113233323141312132442221324131331231213423424322424434432341234223333313232322233441233321112341122243322424233234431213122321342111333322332423222332323322144312331223213314333121344424224313132223122113142223321133324141422421223423233414124123211332233313331232432322321234224323333334322113431223432431232213213222413232412213344141313224333221112333433312141132213113323224131321123100000000100000000000000000012441232124134413212422223122134321213323344331334231241321413141413142213444412314431412100000000000000000000000000000000000000001000000000000000000000000142134233313343214333132233234111241322133143224424233411314132224333114312423332341332223222332141132111113333432444222222141443432321211334413143123321233224321422222323233332432313412213241341331233241414331213121224123332233443333224124332344133223111223233412113443142132112124213333321314232433223334314441434332414324313242422334311143123233213414334244224133114424243233224433231424223141443121213311432131334431223423123222413324332324222313131241441334342133311423423223212431342432224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434134321432322342132223412124123224432323214223322213222341314114434432211213121331432324244143234133131331122423212413342413112123444222114222313124442311312212132223141344213123122112142142222113332213323244424244412331314333314341122331212321433221311331333431342311434411322232324124312112141113143421234242334223432243244212414112431422324134432211131112442132142144214211224233421414142334323341111212143321213442223214343122224321242132441424211323312143241320000001000000000000000000000000000000000000003244424222434223310000100000212124233432000010000000000002434333341312443323141331224211132332311414214322333413221314421142311141111122112111131213233243142212312432241442232133333432313241123244432441131134312231334434343323313222133223123122214241234122323413211143422221241344122421424434334131442313412144121223324311234223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211333313331323113121413411241443323211232312111221322323321114341432232211241211422334421334413243413322333231324441113334213344414413143411422241112333134313234241123124331342441443413231211221242423332134243422443344324314324324213344343211143144444141112143324213133133321311413143223433341213114242424132212413334212332233424131241321113332432424143233132232131311211433342431314323211421234244314233421221112332223114322333322423323324422233313341434141243144412324131422312131441331444121313323212431442422223413433323 313113411133411412322213214224243221133442423222134121434142114423133112124333232313244234231442114414322241443232142321214341343422222342442423213342124131123113311233124213213314232314424314412133213123211223412312244214322344232221432233332314234422131423143344113332431223221312121132421143314344313212311234212314143442414423113441243112334311233212323323324133242144341114244124211314112411133123243442221432344214131244134334323414423244443343232231331441342312422422421423112111233141122131114343421133441244233121334221144223224322423314233343222212231442323422311333323131442323332321334313114132421123213411141244222331323124433322323343131342344221132144231411321222224221324343314312444211121214323133244111312343413222232442242432124244224134223231213311143444414313232214333423142112234113213413322414413323222142224111211433331323242234441222414124112111234411122324343411314112122434234133341344441331343333232441432132231344231122134122331123233331432423113422241233424331412314243141244233233123444311343113331434423141343323231131314112123144321133132243243112342211134223234413113242133133322144313141312213144244134431114334441223213133434412232332313312341114234444311313441114333431343322232232322212343242232332323421222112332113211333322433144434214333341413222122222323331333112324231223111132331442234412122342144224241314321422114421444131314112113241313122341411141212331114223421213323211443432242133134324324334231443231233444133314314312122443131434244242314414442421241343233213323122132232211322344442213243421134314134424231434434122443221312421333134342134223343332412214211412141141113213431334122344314212233334414411423212433424333412232143331442343233114133412131411341121422311211212334432311323311322144324221311114211111431242121234124132243443421313432443313434413222133134323233224132323321412211123322112413221444311313311343124244143313331222422211324433331413234133324334212122322134214234214222212331134213112111221132133433241432414222243233121231322413442333334321412213414414221233221124311214421322124342121311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243314311331321434412242114212313331141214121233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144334233322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213333434231233442424411134332224423431332314144333143344414123442241243342121444424331434412331222243213214224231223324112133224313322224134214344213412222233342312231314122214131131231414121242232431212424413134221221314323112223321221413343343111131213114243324343324412143214123234311122234112421242231323143333314321331314334214131213213424321144313341311434134222142321121343222232412444143132431411132114134321143321433233334414323142443332321443414313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413134212314434142234423434441114212311331324144134444242221324131331231233223434322424432432341234222213131232122213441233321114341122243122424233234231213122321342111333322332422222112323122122132133431333112341321341424234313132223143313142223321133322141442221423423233434142324211331332323343432432323341234224323333334122132231223332431232213213222413232412211242341331442331241234333431214142132213314133224133123121100000000000000000001000000012441231142114213212424223342134341411443142333314412243341211343411142243444412314431432100000000000000000000000000000000000000000000000000100000000000000223134231313144214333112243434111243322333141224424231411334132222333114312423332411314222244334321133111113331414442431422141444412321333132413141143123243422123424244341233134233313441233241321313233441414331433313111123113241441312214323132322113224111221223434113341423414132224233333321314232433223334312141414332312223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342432224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434134321432322342132223412124123224432323214223322213222341314114434432211213121331432324244143234133131113224223442413344413112123342143312221131321442311312212132223141344213123122112142142222113332213323244444244112331314333314341122331212321433221311331333431342311434411322232324124312112143333143222342442133421233223242414414114112224132334342231233312224314344414214211224233441414342334323341111212143321213422223214343322224321242132441424333323322241432120000000000000000000000100000000000000000000003244342442432441310000000010234142213231010000000000000002434333341312221411141331221231312332314332431442342231411312321324234121411344332134223413431141123423134212223231413313411214131434341441424221343322244213212112241144331442133423121323422322412421121433211123442222223321322221434434114231244321224122313423422311212223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211333313331323113121413411241443323211232312111221322323321114341432232211241211422334421314413243413322333231324441113334213344414413143411422241112333114313234241123124331342441443413231211221242423332134243422443344324314324324213344343211122124244133112441324233133132121231431331221211142342132422342342212431112212332221424121241321113332432424143233132232131311211432342431314323211421234242334243223223213422143321124133342221123334422232131321434421241232214323321221112131433343134343314241413213242422223413433323 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343211141124131121131131431124333223312432334424344432133344123211211414334244214322244432221432212432133434222133423143344113332433223223212121132441143314344313212111234232314143442214423113441243114334331233212323123324133244144341134224124211313112411133123243442221432344212134134134314323414443424433342231231231441312312422423441223132111233141112131114343421233222412433121332242141221224342413312333341241223231424143422341141121131442333332321334331134212421123243413141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213411322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323132342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141214211123322114413221444311313311343144443143313331222412231324443331443234131144232242122124214212214414222212331134213112111221132133433231432414222441233141433324413442333334321412213414314421233443113334234433324324342121113333224123434141412112113412112324144143214424143233213331212314412211212244424213121444131111234224431243314311131323134414242114212113331121214121333122111112324421112124423412413124443414332321343421212134413223211324132413333344342314331113124134000000000100000000000000000000000000023114423214142312144414231232141144332343214234412413343221213232132121341141123431142411133424442444113333432344223313321231332142311131321211143144144331233323224243223142242111323443223223212322321341313442422134143424434311211221242322433111213313214332312342443112422324434222122143212332344122232343224334134443343331344222222134332224124223424311231122314123422242232123232234111234143213313432213444423132321313112113433143443324212123123341333243331322323434423224113311124213333414231233442423221134334424423431332314344333143344214123442241243342123424342341432432311334223213214222231423324112133224313322223134214344213414342211124112211234142234131131231414121242232431212424413134221221314323112223321221413343343311131213114243324343324412143414123234311122234112421242231423143333314321331314334214131213213424321144333341311434134222142321121343222232412444143134431411132114324321143321433231334414341322123111343222233243233431343143211232422223232331241333433322341213442111431244211344313141443112233324342114432221232334312333332332224123331324444413144414132212121431233112232312434113233323141312132422221144131332431413422424342242212233223212242311111412342131223211123332423342422342232441212414431344143324212123442142342343332221141124134321421213312133333321442322313132223143313144222321333322141424223423323433434124123211232233313331232432342123432132141111334122113432223432431232213213222413212412211242324331244331223112333433314322314214314133324131343321300000000000100000000000000031443231322332211431422431142132123411441122111314432431143433341431142213442424322431234301000000000000000000000000000000000000000000000000000000000000000122132233313134234334312443432313411132313121224424331411334132222333314312423332341332223222332144113111113331414422431422143443432323213312233121422321431224321222422223233332432313412213241341331233241414331233313111123113241441312214323332322333243111221433412113443142112112124213333321314232433123334314421434332312223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342432224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434134321432322342132223412124123224432323214223322213222341314114434432211213121331432324244143234133131331132423212413342413112123342143312221131321442311312212132223141344213123132112142142222113332213323244444244112331314333314341122331212321433221311331333431342311434411322232324124312112143333143222342442133421233223242414414114112224132334342231233312224314344414214211224233441414342334323341111212143321213422223214343322224321242132441424333323322241432120000000000000000000000100000000000000000000003244342442432441310000000010234142213231010000000000000002434333341312221411141331221231312332314332431442342231411312321324234121411344332134223413431141123423134212223231413313411214131434341441424221343322244213212112241144331442133423121323422322412421121433211123442222223321322221434434114231244321224122313423422311212223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211211113111323113121411431241443323211232312111221322323321114341432232211241211222332221334413243311322112233324421143334223344414413143411422241112333134113214443143144313322423123413231211221242423332134243421443344324314324324213342343211122124244133112441324233133132121231431331221211142342132422342342212431112212332221424121241321113332432424143233132232131311211432342431314323211421234242334243223223213422143321124133342221123334422232131321434421241232214323321221112131433343134343314243212431442422223413433323 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121131123113311231124213213344432133221143232141313123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213411322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113131433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112111143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311311442343233114133412131411341121422311211212334432311323311322144324221311114211111431242121234124132243443421313432443313434413222133134323233224132323321412211123322112413221444311313311343124244143313331222422211324433331413234133324334212122322134234234214222212331134213112111221132133433241432414222243233121231322413442333334321412213414414221233221124311214421322124342121311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214321233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412443112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144334233322224243223142242111321443223223212322341341333442422132143224314231433221242322433111313433314332312342443132422324434222322143112332344122234343224334132443143331344222222134332224124223424311231122314123424222232123234234112234143213113432213444423132321313112133433113443324212133113343333343331344121414423424113211124213333431231234232443411131312424421431332314342331143344214123442241241142341442342341442434113334422213413334431223344142313234323342223312433111434212222233144114211234142214331131231414121242232431212422413134221221314323112223321221413343343111131213114243324343324412143214123234311122234112431242231323143333314321331314334214131213213424321144333341311434134222142321121343222232412444143132431411132114134321143321433233334414323142443332321443414313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413134212314434142234423432441114212331331324144134444242311324133111211433423334324442212233223212242311111432342131223211123332423342422342232441112414431344143324212123442142342343332221141122134333431331334341331141222222311333322322331122223121133342321244223423323433434124123211232233313331232432342123232132141113334122113432141312233212413213222413232412211242341333224333241112333433312122312214314133324131321121100100000000000000000000000012441231342334411412424223142134321411443142331314432241323413323411144213422414322431412100000000000000000000000000000000000000000001000000000000000000000142134233313343214333132233234111241322133143224424233411314132224333114312423332341332223222332141132111113333432444222222141444412341313332233121122341233244331442222323233334212311442213241341331211233333331233313111123113241441312214323332322333243111221433412113443142112112124213333321314232433123334314421434332312223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342432224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434333323432323342132223312122123223432423214223312213222321314414434432211213131331212322224143234133131113224223442413342413134341424222114221131321442311312212132223141344213123122112142142222113332213323244444244112331314333314341122331212321433221311331333431342311434411322232324124312112143333143222342442133421233223242414414114112224132334342231233312224314344444214211224233441414142334323341111212143321213422223214343322224321242132441241333323322241232120000000000000000000000000000000000000000000103244444422434223310100000000214142231232000000000100000001434333341312221411141331221231312332314332431442342231411312321324234121411344332134223413431141123423134212223231413313411214131434341441424221343322244213212112241144331442133423121323422322412421121433211123442222223321322221434434114231244321224122313423324311234223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211313313333111113321413211241243323223432314211221143233121314321412214223213144222332221334413243413322333231324441113334213344414413143411422241112333114113233441143144331342441441413231111221242423332134244422443344324314324324213342343211142122214133334143432313333133121231433331411213331343312422424132412413132312134233424121241323113332432424443233132232131341211432342431312323211421232442314233223121232332143121324133322221123134422442131321442421241232214343323221132321333231444143413241213213242422223413433323 313113411133411412322213214224243221133442423222134121434142114423133112124333232313244234231442114414322241443232142321214341343424222342442423213342124131123113311233124213213314232314424314412133213123211223412312244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221223342413112333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243132342211134223234433113242133133324144313141312431322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323112342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141214211123322114413221444311313311343144443143313331222412231324443331443234131344332242124124214232234214122212331134213112111221122133433241432414222441233141433324413442333334321412213414314421233443113334234433324324342121113333224123434141412112113412112324144143214424143233213331212314412211212244424213121444131111234224431243314311131323434414242114212332331143434143231211133334234242322312431312143312143214132343312443443234213223211324132411313144241342121131142132000000000000010000000000000000000000023114321232133431222414221211141342312443212232434233324221313242132421321343423441142213133424444444114333233344443133321221333142311123321313341324144314231322224243223342242311323441221223213324323443333122412132143224312233211221244322433111313413214332314342443132422324432222322143212332144122232343244134122423143331344222222124332224124223424311231122314123424222232123232234112234143213313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213333434231233442424411134332224423431332314144333143344214123442241243342121444424331434412331222243213214224231223324112133224313322224134214344213412222233342312231314122214131131231414121242232431212424413134221221314323112223321221413343343111131213114243324343324412143214123234311122234112421242231323143333314321331314334214131213213424321144333341311234134222142323121343222232412442143132423312333333124143321141413233332212343142443332321443214313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144414132212121431233132432332434113233323141312132444221324131131213233422424342242212233223212242311111412342131223211123332423342422342232441212414431344143324212123442142342343332221141124134321421213312133333321442322313132223143313144222321333322141424223423323433434124123211232233313331232432342123432132141111334122113432223432431232213213222413212412211242324331244331223112333433314322314214314133324131343321300000000000100000000000000031443231322332211431422431142132123411441122111314432431143433341431142213442424322431234301000000000000000000000000000000000000000000000000000000000000000122132233313134234334312443432313411132313121224424331411334132222333314312423332341332223222332144113111113331414422431422143443432323213312233121422341233244331442222323113334212311242413123123133233231313121213121224123332233443333224124332344133223111221233232113443142112112124213333321314232433223334314441433332312223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342432224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434134321432322342132223412124123224432323214223322213222341314114434432211213121331432324244143234133131331132423212433312413132343342143312222313141223433332432332223141344213121322114144142122411332313343244244214412113232323312343114143444331431123213211111211132131212243324214344122314132143113143222342442133421233223242414414114112224132334342231233312224314344414214211224233421414142334323341111212143321213442223214343122224321242132441424211323312143241320000000100000000000000000000000000000000000003244424222434223310000100000212124233432001000000000000002434333341312443323141331224211132332311414214322342413221314421142311141111122112111131213233243142212312432241442232133333432313241123244434221343322244213212112241144331442133423121323422322412421121433211123442222223321322221434434114231244321224122313443422313234341414422143324224212333434411343332141312423334444234412324333413123224244233321232433143112421333313331111143121413231241243323223432334213211143233321314321412214223213144222332221334223441431322332231324421143334223344414413143411422241112333131113233441143144331342441441413231111221242423332134244422443344324314324324213342343211142122214133334143432313333133121231433331411213331343312422424132412413132312134233424121241323113332432424443233132232131341211432342431312323211421232442314233223121232332143121324133322221123134422442131321442421241232214343323221132131441331444121344241412411241322223413433323 313113331111433234142211223442411241123142421222144121322342114423323112142221232312314334433223331424123111121434333123434323343422222344322343211342124131123113311231124333223312432334424344432133344123211211414334244214322244232221432212432133434222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331134212421123243413141224222331323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141322143213342232444242432124242224334223231214331111144412313212232312423443112234113213413322414433323222332444111311433333123242234421142212123112131244431124124141234333114122332234113111144231331333132232443432124111322233322134124331223232343432223111222243223422222414414223111244233242123444331323113331432421121343321311131312112123124321423132323223214142213134323434211223231131123342224333143312411322244111431112112441221113133434412212312233132341114234442311313441114333421343322214233322422413224232132321221222112432113211332142233144414214333321213242124422323311333312324231223133133311224434412242342124322241312323222312443442131334342143141333122331431341412331214223423213343211443432242133314324324334131443231233244431314314312122443131434244242114414442421241343233213323322333232323323122424213222413212134332224431444414124424223111121313132342334223343312432214211412121141143213131334324444124412433334414431423432231244333412232143411422343233114133412131411341121422311211212334432311323311322144324221311114211111431242121234124132243443421313432443313434413222133134323233224132323321412211123322112413221444311313311343124243143313331222422211324433331413234133324332412222322234432234232222232333134213212111221134133243231422412224221231121433322413444423112321422221341432241432221324111432433322124132123113343224123434343212132133412331342324431232221121441134123232122234333311222242211342221342333312133214412311143333133411234114211244333113143432143231222133334232421112124423414411124421231114143312443443232231441431342332411311123341344121311344114100000000000000000000000000000000000023114323214143312242414221211141342312443212232434233324221313242132421321343423441142213133424444444114333233334443133321221133142311123321313343324144314231322224243223342242311323441221223213324323411333143222222331242314233411221242322433113313313214332312142441112422324434222322143212432344122232333224334122243143331344222222124332224124223424311231122314123424222232123232434112234143213313432213444423132321313112133433143443324212133113343333243331322121434423424123211124213333414231233442423421134334424423431332314344333143344214123442241243342121444342341432432311334223213214222231223324112133224313322223134214344213414242213144112211234142214313331234232243433434433132122311334343241324323334311121421221343143111131233114343344343324412143414123244311342234112431243231322143343314321331314334214131213213424321144333331311234134224142323122321441412211444143332223332333314122121323341211433312432143322123111343222213343233431343143211232242321413333441133213132323133233331413212211344313123423332233124124112433443232322112333332132224123313344444413144214132212122431233132432312434113233323141312132442221322231131231433423424342424432432341212242311111432342131223211323332423342422342232441112414431344343324212123422132342343332221141324134333431331314341331141222222311333322322331122323323111122141242221421433224412144324431332323124343414432322341214224123333334344232411223332431232233212224413232412211222341331442331241234333431234141132233113321242133123141100000000010000000000000000012441231342334213212422431144132121411441122111132432431143413341413144213222414322433412300000000000000000000000000000000000000000000000000000000010000000122132233313344214333112244434111243322332241244244233423133343242332114332421312314214133224334321132114343311414422431222141444312321313332233121442321431224321222422223233334212311442213223121133233231313321211121221123113241441312214323332322333223111221233412111341422112132124233333123314222233223333312141414332412223311211224122313143321231211434132344234333112214443233224413433423221143423321233331421113134233223243123222413324332324242313131241441334142133312423423223212431342232224222313211431242322241323413243422322414333324322313343234434323223334441234332322342323322413131421221123443231133234231244114123433323312422212332231234441223122112222434243234134323232323342132223312322123224432323231223323131232321334434212432433213331331432324224143234133131331132423212211112413134341424222114222313141223433132413311444442122431131122134124142122421214331141122244214412113232323412143114143444331431123213213111211342311434411322212124122414312343313113222342442134423432223242412414114112224132334342211233322242132342142214211224233441414142334323342111212123323311422132113343344224121242132441424211323312143241320000000000001000000000000000000000000000000003244424442434223310001000000212124233432000100000000000002434333341312221411141331221231312332314332431442342231411312321324234121411344332134223433431141123423134212223231413313411214131434341441422223343322242413212112241144331422133423323122214241234122323413211143422221441344122423424432334121442313412144123243422313412223331244343324243211313214324123114123342243334444214412342311413333214444111142214123224344213333313331121113121413211241243343211232314111221322333121114323432212411241241222332421314223441431322332231324421143334223344434211341243222443324132114313234241123124331342441443232433233443411231114132423242224122444314424122431222121211143144444141112141324232111412122211211143223433341213114242424132212413334224332233424131241323413331231242443233133212131441231432344211412323212441232442314233223121232332143121324133322221123334422442131321442421241232214343323221132321333231444143413241213213242422223133233113 313113411133211412322213214224243221133442433222134121434142114423123112124333232313244334433223331424123111121434333123434323343422242342422343213342121131123113311231124213213344432133221143232141313123211211414334244223324344232421432233332314234222131421122144131313231421443212321114421241312142333432311212112314143412414423113441243112334311233112323323324131242144443434222144411143112411123323243224421212344212134134134314123414443224433342231231231441312312422423441423132111233141112131114343421233222412413121112242141411224342423314233321241223231224343422341141121131442333332321334331134212421123243413141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141322143213342432444242432124242224334223231214331143444414313232214333423142112234113211433322414413323224142444131311431331323442234441122414114112111234411122324343411314112122434234133341344443331343333232441412132233344231122134122331123233331232423113422241233444331412314243141244233233143432111343131131412321141343323231131322312123123121433132243243112342211134223234413113242133133322144313141312213144244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323112342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141212211123322114413221444311313311343144443143313331222412231324441331443234131344332242124124214232234214222212331134213112111221122133433241432414222243233121231322413442333334321412213414414221233221124311214421322124342121311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144334233322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241132433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213333434231233442424411134332224423431332314144333143344214123442241243342121444342341442434313334223213414334431223324142313234323342223312433111434214242233344112211234142214311131231414121243234431232422413334221221314323334311121421211343143131131233114343344142324442143434333244311122232112421242232322123341312331331334332214343232233422121142333341311434134222142321121343222232412444143132431411132114134321143321433233334414323142443332321443414343233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144414132212422431233132432312434113233344321312432442224124131332431231423334322424432212343232443333313232322233441233321114341122243122424233234231213122321342111333322332422222112323122122132133431333114341321341424234313132223143313142223321133322143442241423322233414344324212331323124343434432322341214224323333334342232432141312233412414213222233234212433344141313224311421112133431312122312214314133224431323121300000000000000000000010000012441231142134213212422223142134321411343142331312412241341413321411142213442424322431212100000000000000000000000000000000000000000000000000010000000000000223134231313144214333112243434111243322333141224424233411334132222333114312423332411314222244334321133111113333432444222222141444412323213312233121422321431224321222422223233332432313412213241341331233241414331233313111123113241441312214323332322333243111221433412113443142112112124213333321314232433123334314421434332312223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342232224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434134321432322342132223412122121243432423214223312213222321314414434432211213131331212322324143234133131113224223442411344413112123444222114222313124442311312212132223141344213123122112142142222113332213323244424244112331314333314341122331212321433221311331333431342311434411322232324124312112143113143421234242334223432243244212414112131222324134432211131112442132142144121123412111141234324334423132433423343131223323222143131122243111224434243241211241124123231340000000000000000000000000000100000000000000004241444422434221310010000000214142231432000000000000010001434333344414221423243143414432134333134414414442342231411312321324234121411344332134223413431141123423134212223231413313311214131434341441232441131134312231334434343323313224311241123122214222414122343131433421222222223344122421424414114231244321224122313443322111434323434222123312224212334434411343332141312423431322432233124331413333214244113342212123224144211233313331323113121411411241443323211232312111221322323321114341432232211241211222332221334413243311322112233344421443334113344434241343411422241124113111133233441141124333342441441413231211221242423332134243421443344324314324324213342343211122124244133112441324233133132121231431331221211142342132422342342212431112212332221424121241321113332432424143233132232131311211432342431314323211421234244314233421221112332223114322333322423323324422233313341434141243144412323321221112133433341444121344241212411211344441131221321 313113331111433234142211223442411241133442433222134121434142114423123112124333232313244334433223331424123111121434333123434323343422242342422343211141124131121131131431124333223312432334424344432133344123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222331323124423341114323324124222213312124231433223122242344314333114134112131343424422131144312412321443342432444242432124242224334223231214331111124412333212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243133312331444214444122312142312413314321422314123244231133112411143333342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323132342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141214211123322114413221444311313311343144443143313331222412231324443331443234133324332412224124214232234214222212331134213112111221122133433231432414222441233141433324413442333334321412213414314421233443113334234433324324342121113333224123434141412112113412112324144143214424143233213331212314412211212244424213121444131111234224431243314311131323134414242114212113331121214321333122111112324421112124423412413124443414332321343421212134413223211324132413333344342314331113124134000000000100000000000000000000000000023114423214142312144414231232141144332343214234412413343221213232132121341141123431142411133424442444113333432344223313321231332142311131321211143144144331233323224243223142242111323443223223212322321341333442422134143424414311211221242322433111213313214332312342443112422324434222122143212312344122232343224334134443343331344222222134332224124223424311231122314123422242232123232234111234143213313432213444423132321313112113433143443324212123123341333243331322321434423224113311124213333434231233442424411134332224423431332314144333143344214123442241243342141444424331434412331222243213214224231223324112133224313322224134214344213412222233342312231314122214131131231414121242232431212424413134221221314323112223321221413343343111131213114243324343324412143214123234311122234112421242231323143333314321331314334214131213213424321144333341311234134222142323121343222232412442143132423312333333124143321141413233332212343322123111343222213213233431343143211232422223232331241133433322341213442111431244211344313141443112233324342114432221232222334133332132224133333344444413144414132212121431233132432332434113233323141312132444221324131131213233423424342424434432341234222213131234124213241233321114341122243322424233234431213122321342232333323334423222332321121124132133431333114341321341424234313133343122131122323321111122141422421223423233414124123211332233313331232432322321234224323333334122113432141312233212413213222413232412211242341333224333241112333433312122314214314133324131343321300000000001000000000000000012443231142112243212422223142134321411441142331314432241321211343411142213444414322431412100000000000000000000100000000000000000000000000000000000000000000123134231313333214323332233234111241322133141224424231411334132222333114332421312314214133224334321132111343311432444222222441444412323213312233121422321431224321222422223233134233313442233241321313233441414331233313111123113241411312214343332222132223111421231412113341422112312114213333321314232433223334342441434332414324313242422334311143123233213414334244224133114424243233224433231424223141443121213311432131334431223423133222413142312124222113431244441334322133312423223421212433322434244222313331431242322341323413443422322434331442124213431214234123222134441212232322342323342413131421421333443233133234231244114123433323312222232332233234441223122112222434243434334323432323342132223312122123223432423214223312213222321314414434432211213121331432324224143232113133111224223442433342413334343424223114221331324442311312212132223141344213123132112142142222113332213323244444244412331314333314341122331212321433221311331333431342311434411322232324124312112143133142242342442134423432223422412414114112224132334342231233312224114324412121123422111141234324314423132433423343131223323222243131122243111224434243244211241124141231120000000000000000000000000000010000000000000003244442422434221310100000000214142231432000000000000001001434333344414221423241143414432134333114414414442133413221314421142311141111122112111131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221434234114231244321224322313443422311234341414422123312223212333434411323332141312423431322432233142231333323214222113342412123224144211313313331111143121413231241243323223432334213211143233121314321412214223213144422334421314413243311322112233324421443334211341434213143243422443312133114113214443143144313322423123232433233443411231114132423242224122444314424122431222121213122122414133312441324213133133122211413141221211341342132424342342212431132212332221424121241321113332432424143233132232131311211433342431312323212421234244314233421221112332223114322333322423323324422233313341434141243144412324131422312131441331444141313323212431442322223133433323 313113411133411412322113214224243221133442423222134121434142114422123112124333232313244234431223334421323114121434333121434123323422242312422343213342124131123113311233124212213312434334421314432133313123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221223342413112333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243132342211134223234433113242133133324144313141312431322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233112123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323112342144322223321114211111231142141214124132223443421313432423333434411242131142311221322432341141214211123322114413221444311313311343144443143313331222412231324441331443234131344332242124124214232234214222212331134213112111221122133433241434414224241243221433322413442333312143312213441412241432221124111432433322124132121111131442123222343234132133412132322324441232234121433134123232314232333231422244213121444342133314133231213311341331323431214242211242332113143434123233222131332234242322312431312113124443414332321343421212232413223211324132413333344342344131331144112000000000000000000000000010000000000023331321232143431244414231232441142312441234232112411123422332432332113123141413441122233341224322242114112232344443113143421332422333223121211143123141314233332224243224122223313423321433221233122123441333143222222331242314231431443132344212441333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213333434231233442424411134332224423431332314144333143344214123442241243342121444424331434412331222243213214224231223324112133224313322224134214344213412222233342312231314122214131131231414121242232431212422413134221221314323112223321221413343343111131213114243324343324412143214123234311122234112431242231323343333314321331314334214131213213424321144333341311234134222142323121343222232412442143132423312333333124143321141413233332212343142443332321443214313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144414132212121431233112432312434113233323141312132422221144131332431433423334324442212233223212242311111432342131223211123332423342422342232441212414431344143324212123442142342343332221141122134333431331334341331141222222311333322322331122223121133342321422241423322233414144324212311323123343434432322341214224323333314342233431121313233414213233222233234214433244341333224333421112131233312141132233113323224131323121100000100000000000000000000012241441142134213212424223342134341411443142333314412243343413323433234243442414314431434300000000000000000000000000000000001000000000000000000000000000000122132233313144214323332233234111241322133141224424231411334132222333314312423332341332223222332144133111113331414422431422141444412321333132413141143123243422123442222323113334212311242413123123133233231313121213121224123332233443333224124332344133223111221233232113443142112112124213333321314232433223334314441433332414224113242422124311143121231211212132244222134112424443233234433231423423121423321113331432131334433221423123222413324332324222313131241441334342133311423423223212431342232224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114123433323312222232332431214441223122112222414243434333323432323342132223312122121243432423214223312213222321314414434432211213131331212322324143234133131113224223442433344413112123444222114222313124442311312212132223141344213123122112142142222113332213323244424244112331314333314341122331212321433221311331333431342311434411322232324124312112141113143421234242334223432243244212414112431422324134432211131112442132142144214211224233421414142334323341111212143321213442223214343122224321242132441424211323312143241320000000100000000000000000000000000000000000003244424222434223310000100000212124233432001000000000000002434333341312443323141331224211132332311414214322333413221314421142311141111122112111131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221432234114231244321224322313443324113412223331244343324243211313214324123114123342243324444214412342231333321414222113342412123224144211311113111111143121413231241243323223432334213221143233121314323412214223213144222332221334413243311322112233344421443334113344434241343411422241124113114313234241123124331342441443232433233443411231114132423242224122444314424122431222121211143144444141112141324232111412122211211143223433341213114242424132212413334224332233424131241323413331231242443233133212131441231432344211412323212441232442314233223121232332143121324133322221123334422442131321442421241232214324131422312131441343134343413323212413242422223133233113 313113411133211412322213214224243221133442433222134121434142114423123112124333232313244334433223331424123111121434333123434323343422222342442423213342124131123113311233124213213314232314424314412133213123211223412312244214322244432221432212432133434222133423143344113332433223223212121132441143314344313212111234232314143442414423113441243112334311233212323323324133242144341114244124211314112411133123243442221432344214131244134334323414423244443343232231331441342312422422421423112111233141122131114343421133441244233121334221144223224322423314233343222212231442323422311333323131442323332321334313114132421123213411141244222331323124433322323343131342344221132144231411321222224221324343314312444211121214323133244111312343413222232442242432124244224134223231213311143444414313232214333423142112234113213413322414413323222142224111211433331323242234441122414124112111234411122324343411314112122434234133341344441331343333232441432132231344231122134122331123233331432423113422241233424331412314243141244233233123444311343113331434423141343323231131314112123144321133132243243112342211134223234413113242133133322144313141312213144244134431114134441223213133434412232332313312341114234444311313441114333431343322232232322212343242232332323421222112332113211333322433144434214333341413222122222323331333112324231223111132331442234412122342144224241314321422114421444131314112113241313122341411141212331114223421213323211443432242133134324324334231443231233444133314314312122443131434244242314414442421241343233213323122132232211322344442213243421134314134424231434434122443221312421333134342134223343332412214211412141141113213431334122344314212233334414411423212433424333412232143311442343233114133412131411341121422311211212334432311323311322144324221311114211111431242121234124132243443421313432443313434413222133134323233224132323321412211123322112413221444311313311343124244143313331222422211324433331413234133324334212122322134214234214222212331134213112111221132133433241432414222243233121231322413442333334321412213414414221233221124311214421322124342121311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144334233322224243223141242111321443223233212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213333434231233442424411134332224423431332314144333143344414123442241243342141444424331434412331222243213214224231223324112133224313322224134214344213412222233342312231314122214131131231414121242232431212424413134221221314323112223321221413343343111131213114243324343324412143214123234311122234112421242231323143333314321331314334214131213213424321144313341311434134222142321121343222232412444143132431411132114122121323341211433312432143322123111343222213343233431343143211232242321413333441133213132323133233331413212211344313123423332233124124112433443232322112333332132224123313344444413144414132212121431233132432332434113233323141312132444221324131131213233423424342424434432341234222213131234144213241233321114341122243322424233234431213122321342232333323334423222332321121124132133431333114341321341424234313133343122131122323321111122141422421223423233414124123211332233313331232432322321234224323333334122113432141312233212413213222413232412211242341333224333241112333433312122314214314133324131343321300000000001000000000000000012443231142112243212422223142134321411441142331314432241321211343413142213444414322431412100000000000000000000100000000000000000000000000000000000000000000123134231313333214323332233234111241322133141224424231411334132222333114334121312314214133224334321132111343311414422431222141423434321333132413141143123243422123424244341233134233313442233241321313233441414331433313111123113241441312214323132322113224111221223434113341423414132224233333321314232433223334312141414332312223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342432224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434134321432322342132223412124123224432323214223322213222341314114434432211213121331432324244143234133131331132423212413312413132343342143312221131321443311312212132223141344213121122114144142122411332313343244244214422113232323412143114143444331431123213211111211332131212243324212324122314132343133143222342442133421233223242414414114112224132334342231233312224314344414214211224233441414142334323341111212143321213422223214343322224321242132441424333323322241432120000000000000000000000000000000001000000000003244442442434221311000000000214142231432000000000010000001434333341412221423241133414231134323114414414322333413221314421142311141111122112131131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221432234114231244321224322313443324113412223331244343324243211313214324123114123342243334444214412342231333321414222113342412123224144211233313331111143121413231241243323223432334213211143233121314321412214223213141422334421314413243413322333231324441113334223344414413141243222443324133134313234241123124331342441443232433233443411231114132423242224122444314434122431222121211143144444141112141324232111412122211211143223433341213114242424132212413334224332233424131241323413331231242443233133212131441231432344211412323212441232442314233223121232332143121324133342221123334422232131321434421241232214343323222312131441343134343314241212431442422223413433323 313113411133411412322213214224243221133442423222134121434142114423133112124333232313244234231442114414322241441434333123434323343422242342422343213342121131123113311231124213213344432133221143232141313123211211414334244214322344232221432233332314234422131423143344113332431223221312121132421143314344313212311234212314143442414423113441243112334311233212323323324133242144331114244124211314112411133123243442221432344214131244134334323414423244443343232231331441342312422422421423112111233141122131114343421133441244233121334221144223224322423314233343222212231442323422311333323131442323332321334313114132421123213411141244222331323124433322323343131342344221132144231411321222224221324343314312444211121214323133244111312343413342432444242432124242224334223231214331111124412313212232312423443112234113213411322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234114111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114334423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311411242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414242212331134213112111221132133433241432414324241433121423322413442333334143312413441432443213221124311214421322124342121311131442123222343234334133142131342324441232221121441134123234314232211212244444113121444331131334224431243334311331321434412242114212313331141214321233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412443112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144334233322224243223142242111321443223223212322341341333442422132143224314231433221242322433111313433314332312342443132422324434222322143112332344122234343224334132443143331344222222134332224124223424311231122314123424222232123234234112234143213313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213333434231233442424411134332224423431332314144333143344414123442241243342121444424331434412331222243213214224231223324112133224313322224134214344213412222233342312231314122214131131231414121242232431212424413134221221314323312223321221413343343111131213114243324343324412143214123234311122234112431242231323143333314321331314334214131213213424321144313343311234134222142323121343222232412442143132423312333333124143321141413233332212343322123111343222213343233431343143211232242321413333441133213132323133233331413212211344313123423332233124124112433443232322112333332132224123313344444413144214132212122431233132432332434113233323141312132444221324131131213233423424322424432212341234222311111432342131223211123332423342422342232441112414431344343324212123422132342343332221141124134333431331314341331141222222311333322322331122323323111122121242221421433224412144323431332323124343414432322341214224323333334344233411223332431232233212224413232412211222341331442331241234333431234141132233113321242133123141100000000010000000000000000012441231342334213212422431144132121411441122111132432431143413341413144213222414322433412300000010000000000000000000000000000000000000000000000000000000000122132233313134214334312444432313411132313121224424233411334132222333114312423332341332223222332141132111113333414422431422123443432321333132413121422321431224321222422223233334212311442213241341331211233333331233313111123113241441312214323332322333243111221233412113443142112112124213333321314232433223334314441433332414324313242422334311143123233213414334244224133114424243233224433231424223141443121213311432331334431223423133222413142312124222113431244441334322133312423423421212431342232224222313211431242122341143412411422424431331442144213431214234123223134441234332322342323322413131421221323443231133234231244114123433223312422212332231234441223122112222434243234134323232323342132223312322123224432323231223323131232321334434212432433234133341432124224143234133131331222223442233342413112123444142114241131321442311312212132223141344213123122112142142222113332213323244444244112331314333314341122331212321433221311331333431342311434411322232324124312112141113113421234242334223432243244212414112131222324134432211131112442132142144214211224233421414142334323341111212143331213422223214343122224321242132441424211323312143241320000000000001000000000000000000000000000000003244424442434223310001000000212122213232100000000000000002434143141312441311121333221211312132314332431442343431411332321324234121411344332134223413431141123423134212223231413313411214131434341441422223343322242413212112241144331422133423323122214241234122323413211143422221441344122423424432334121442313412144121223422311234341414422141324223231313414324123114123344241324444234412342311413333214444111142214123224344211333313331121113121413211241243343211232314111221322333321114321432212411241241234114221134224443411342333231324421113334223344434211341243222443324133134313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133334123432313333133332311413141221211341342132424342342212231132312312233442233223343133431232224123233132232131343211432122431312321221421432442314233223121232332143121324133322221123334422442131321442421241232214343323221132321333231444143413241213213242422223413433313 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121111123113311231124213213344432133221143232141313123211211414334221223324344232221434212432133234222323233122144131313231421423212323114421241312142313232313232112114143442414423113441223112334311233112323323324133442144341134224124211313112411133123243442223432344214134144134314323414423244433343232231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143442341141121131442333334321334331311133221323313411141224222333323124423341114321324124222213312124231433223112242344314333114134112131343424422131144312412321443342432444242422124242224334223231214331111124412331212232312423443112234113213413322414433323222332444111311433331123242434441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412214312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311411242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433231432414222441233141433324413442333334321412213414314421233443113334234433324324342121113333224123434141412112113412112324144143214424143233213331212314412211212244424213121444131111234224431243314311131323134414242114212113331121214121333122111112324421112124423412413124443414332321343421212134413223211324132413333344342314331113124134000000000100000000000000000000000000023114423214142312144414231232141144332343214234412413343221213232132121341141123431142411133424442444113333432344223313321231332142311131321211143144144331233323224243223142242111323443223223212322321341313442422134143424414311211221242322433111213313214332312342443112422324434222122143212332344122232343224334134443343331344222222134332224124223424311231122314123422242232123232234111234143213313432213444423132321313112113433143443324212123123341333243331322323434423224113311124213333414231233442423221134334424423431332314344333143344214123442241243342123424342341432432311334223213214222231423324112133224313322223134214344213414342211124112211234142234131131231414121242232431212424413134221221314323112223321221413343343311131213114243324343324412143414123234311122234112421242231423143333314321331311334214131213213424321144333341311434134222142321121343222232412444143134431411112114324321143321433231334414341322123111343222233243233431343143211232422223232331241333433322341213442111431244211344313141443112233324342114432221232334312333332332224123331324444413144414132212121431233112232312434113233323141312132422221144131332431233422424342242212233223212242311111412342131223211123332423342422342232441212414431344143324212123442142342343332221141124134321421213312133333321442322313132223143313144222321333322143424223423323433434124123211232233313331232432342123432132141111332122113432223432431232213213222413212412211242324331244331223112333433314322314214314133324131343321300000000000100000000000000031443231322332211431422431142132123411441122111314432431143433341431142213442424312431234301000000000000000000000000000000000000000000000000000000000000000122132233313134234334312443432313411132313121224424331411334132222333314312423332341332223222332144113111113331414422431422143443432323213312233121422341233244331442222323113334212311242413123123133233231313121213121224123332233443333224124332344133223111221233232313443142112112124213333321314232433223334314441433332414224343242422124341243321231411434142244222113132212443233222433433423221143423321233331421113134433223243123222413324332324242313131241441334142133312423423223212431342232224222313211431242322241321413443421322414333324322313341234434323223334441234232322342323342413131421421324441441233234231444114123333343312222232332233234441223122112222434223434334423432323342132223312142141323432424214223312213422321311414434432211213131331211322224143234133131113224223444413344413112123444222114222313121223433132413311423141344213121332314144142122411332313343244244214412113232321332343114143444131411123331311131413332133432213224212322322344134113133143222342442133421233223242414414114112224132334342231233312224314344414214211224233443413142333323342111212123323311422132113343344424113324114233421333323322241432120000000000000000000000000000000000000000100003244444424234223310100000000214142231432000000000000100001434333344414221423243143414432134333134414414442342233221314421142311141111122112111131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221434234114231244321224122313443324113234341414422141324223231313414324123114123344243334444234412342311413333214444111142214123224344213233313333123113121413211241243321111231314111421322333331114323233212411341214222332221332223443311322112243344221443332113344434211143411424241124113434313234241123124331342441443232433233443411231114132423242224122444314424122431222121211143144444141112141324232111412122211211143223433341213114242424132212413334224332233424121241323413331231242443233133212131441231432344211412323212441232442314231223121232332143121324133322221123334422442131321442421241232214343323221132321333231444143414243212413242322223133433323 313113411133411412322113214224243221133442423222134121434142114422123112124333232313244234431223334421323114121434333121434123323422242312422343213342124131123113311233124213213314232314424314412133213123211223412312244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344212134134134314323414443424433342231231231441312312422423441223132111233141112131114343421233222412413121132242141421224342423314233241222212233442323222341133323131322423332322334331114132421323313411141224222333323124423341114323324124222213312124231433223122242344314333114134112131323424422131144312412321441222223422222431334244224142223233413111311144444313212232312423423112234123213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114121332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232333322222443242232342341421222312332113211333322433144434214333341413222422422323311333112324231223133133313224434412242342124322241112323222312443442131334342143141133122331431141412333214223423143123231243432242331114324344334131443231233444431113314212122441431214244242144414442421241343233212121324133232221322344222213243421134334132224211444434142443221312421333134342134223343332412214211412141141143233131334322344324212233334414431443414411244314232444311411242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433231432414222441233141433324413442333334321412213414314421233443113334234433324324342121113333224123434141412112113412112324144143214424143233213331212314412211212244424213121444131111234224431243314311131323134414242114212113331121214321333122111112324421112124423412413124443414332321343421213134413223211324132413333344342314331113124134000000000100000000000000000000000000023114423214142312142414231232141144332343214234412413343221213232132121341141123431142411133424442444113333432344223313321231332142311131321211143144144331233323224243223142242111323443223223212322321341313442422134143424434311211221242322433111213313214332312342443112422324434222122143212332344122232343224334134443343331344222222134332224124223424311231122314123422242232123232234112234143213313432213444423132321313112113433143443324212123123341333243331322323434423224113311124213333414231233442423221134334424423431332314344333143344214123442241243342123424342341432432311334223213214222231423324112133224313322223134214344213414342211124112211234142234131131231414121242232431212424413334221221314323112223321221413343343311131213114243324343324412143414123234311122234112431242231423143333314321331311334214131213213424321144333341311434134222142321121343222232412444143134431411112114324321143321433231334414341322123111343222233243233431343143211232422223232331241333433322341213442111431244211344313141443112233324342114432221232334312333332332224123331324444413144414132212121431233112232312434113233323141312132422221144131332431213422424342242212233223212242311111412342131223211123332423342422342232441212414431344143324212123442142342343332221141124134321421213312133333321442322313132223143313144222321333322143424223423323433434124123211232233313331232432342123432132141111334122113432223432431232213213222413212412233242341333224311421112133431312122312214314133324133123121300000001000000000000000000012443431142334211412224223344114341411441142333314412243343413321411234241442414314431432100000000000000000000000001000000000000000000000000000000000000000223134231313144214333112443432111211132332243244244233423133343242332114332421312314214133224334321132114343311434444222223443443432321333132413141143123243422123424244341233134233313441233241321313233441414331433313111123113241441312214323132322113224111221223434113341423414132224233333321314232433223334312141414332414224343242422124311243321231411434132312234333112214443233222433433423221143423321233331421113134433223241123222413324332324222313131241441334342133312423423223212431342232224242313211431242122341143412441422422434331442144233431214234123223134441214232322342323322413131421221323443231133414411244114143423323314222232132233434441222142122422434241234134323232323342132223312322123224432323231223323133222321314414434432211213121331432324224143234133131331132423212411344413112123444222114222313141223433132413311444442122431131132134124142142421214331141122242214412113232323312343114143444331431123213211111211131131212243324214344122314112343313142242342442134423432223242412221334112234332334432211233322242132342144214211224233441414142334323342111212124323311422132113343344224113324134233224211241124123231320000000000000010000000000000000000000000000003244442222434221310000001000232122113232000000010000000002434333341312441311121331224211132333111414414442342231411312321324234121411344332134223413431141123423134212223231413313333432313241123244424221343322244213212112241144331442133423121323422322412421121433211123442222223321322221434434114231244321224122313423422313412341434224123312224212333434324323132143342243334444234412344333413123224244233321232433143112421333313333111413121333231241242223221432314131221122333323114321432214211241211222332221334413243311322112233344421443334113344434241343411422241124113114313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133314123432313333133332311413141221211341342132424342342222231132312312233442221223343133431232224123233132232131343211432122431312321221421432442314233223121232332143121324133322221123334422442131321442421241232214343323221132321333231444143413241412413242322223133433323 313111331111433232144221224244211221123442423222144121322341214423123112142221232312314234433223334424323111121434333121434323343422222344322343213342121131123113311231124213213344432133221143232141213121213211414334444423324332232213222412432133224222133423143344113332431243223212121132421143314342333432311212112314143413414443113141243112134311233112323323324131212144443134222344411143112411123323243224421212344212134134134314323414443244433342231131231441312312422423441423132111233143112131114343421233222414233121312242141411224342423314233321241223231224343422341141121131442333332321334331134212421123243413141224222331323124431122323143131342344221132124231411223122242344314333114134112213121214323333242141412143213242232442242232124244224134223231214311143444414313232214333423142112234113213213122412213323222142224111211413331323242234441122414324112111234411122344343411314112122434234133341342441331343333232441412132233344231122134122331123233331432423113422241233444331412314243141244233233143432111343133331412321141323323231131312112123124321423132323223212142213134223224211223231131123342224333143312411322244111431112112441221113133433412212312213132341114234442311313441114333421343322332212322222444242133332321421222122332313211133322413144434214331121413222124422121313333114323432221313132311444233412222342344322241332321422334443444111334144141141333342131231143412423234423423241121413241413224313111144124134131221312413424411114114213114211111233414142144214242423243141233233323322133232211322344442213243421134313134424231434434122443221312421333134312134223143332412214411412141141143213131334324444124412433334414431423432231244133412232143434421413441432311313314223413441333124233431214422311323112342144322221121114211111431142121214324132443443421313432243213134413222131142321221312432321141232234243123332232213444311232111141124423321113333334422211222433131241214131342232242122124214232234214222212331134213112111221132133433241422412222221231121433322413444423112321422221341432241432221324111432433322124332123113343224123434343212132133412331342324431232221121441134123232122234333311222242211342221342333312133214412311143333133411234114211244332113143432343231222133334232421112124423414411124421231114143312443442232231441431342332411311123341342121331344114100000000000000000000000000000000000023114323214143312242414221211141342312443212232434233324221313242112421321343423441142213133424444444114333233334443133321221133142311123321313343324144314231322224243223342242331323441221223213324323411333143222222331242334231431443132344212441313412214332314342443132422324434222322143212332124122232443224314122441123431344442143224114412323444343333231431132221244424412141232444322431411433333432413244242332113333112133433143443324212133111343333343331322141434423434113311121221341231243433431423413334132242341244111132324313211141232331224423433334341244342341442434313334423213414334431223342142313234323342123312433111434212222133144112211234342214313331214432243433434433132122313132343241324323334311123421221343143111131233114343344343324412143414123244311342234112431242231322143343314321331314334214143233213144321142333331111214112222212323111343222233231242121142231411132114124321143321433243234414343122443331343243214311233233321343411232422223212311241121233322141213432111431244411344313141423132233144342112433223242222332333332112224121331344444431144434132212422431233132432312434113233344321312432442224124131332431433422424342424434432341234222311111432342131223211123332423342422342232431114431213122321342232333323334423222334331121324312331223213312333121344424224313132223143313142243321133324121242221421433224412144343431332323124343414434322341214224323333334344232411223332431432233212224413232412411222341331442331241234333431234141132233113321242133123141300000000001000000000000000012443231142112243212422431142132123411443122111314432431143433341433234241444312114431412300001000000000000000000000000000000000000000000000000000000000000122134233333134434323332434234111241322132243224422231411314132224333114312423332341332223222332141132111113333432444222222141423434321333332233121422123243422121424242341233134233313441233241321313233441414331233113111423113241411312214323332222132223141421233412113341422112312114213133321314232433223334312441434132414324313242422334311143123233213414334244224133112424233233224413433424223143423321233331421113134433223243123222413322332324222314131241441332342113132243223213212433322432424222313211431242322341123412443422322434333324322313343234434321223134442234232322342323342413131221421324441441233234231444112123333343312222433312233234441223122112222434243434334333432323342132223312322123224432323231223323131232321334434212432433234133341432124224143234133131331222223442211342413112123444142114241111121223433132413311444442122431131122134224142122421214331141122244214412113232323412143414143444331431143213213111211342311434411322212124122414312343313342242342412134423432223422412414114112224132334342231233312224114324412121123412111141234324314423132433423343131223323222243131122243111224434243241211241124123231340010000000000000000000000000000000000000000004244342442412423130000000010412122231231100000000000000002434141141412221423241133414232134333114414414442342231211314441122311241411124314134131413231241142212312432241442232133333432313241123244424221343322244213212112221144131442133423121323422322412421121433211123442222223321322221434434114231244321224122321223422113212223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211233313331111113121413231241243323223432334213211143233121314321412214223213144222332221332223443311322112243344221443332113344434211143411424241124113434113233441143144331342441441413231111221242423332134244422443344324314324324213342343211142122214133334143432313333133121231433331411213331343312422424132412413132312134233424121241323113332432424443233132232131341211432342431312323211421232442314233223121232332143121324133322221123134422442131321442421241232214343323221132321333231444143413241213213242422223413433323 313113411133411412322213214224243221133442423222134121434142114423133112124333232313244234231442114414322241443232142321214341343422222342442423213342124131123113311233124213213314232314424314412133213123211223412312244214322344232221432212432133234222323233122144131313231421423212323114421143314344313212311234212314143442414423113441243112334311233212323323324133242144341114244124211314112411133123243442221432344214131244134334323414423244443343232231331441342312422422421423112111233141122131114343421133441244233121334221144223224322423314233343222212231442323422311333323131442323332321334313114132421123213411141244222331323124433322323343131342344221132144231411321222224221324343314312444211121214323133244111312343413222232442242432124244224134223231213311143444414313232214333423142112234113213413322414413323222142224111211433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144333143312411322244331431112114441223233133433412232312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443233121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311411242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433231432414222441233141433324413442333334321412213414314421233443113334234433324324342121113333224123434141412112113412112324144143214424143233213331212314412211212244424213121444131111234224431243314311131323134414242114212113331121214121333122111112324421112124423412413124443414332321343421212134413223211324132413333344342314331113124134000000000100000000000000000000000000023114423214142312144414231232141144332343214234412413343221213232132121341141123431142411133424442444113333232344223313321231332142311131321211143144144331233323224243223142242111323443223223212322321341313442422134143424434311211221242322433111213313214332312342443112422324434222122143212332344122232343224334134443343331344222222134332224124223424311231122314123422242232123232234111234143213313432213444423132321313112113433143443324212123123341333243331322323434423224113311124213333414231233442423221134334424423431332314344333143344214123442241243342123424342341432432311334223213214222231423324112133224313322223134214344213414342211124112211234142234131131231414121242232431212424413134221221314323112223321221413343343311131213114243324343324412143414123234311122234112431242231423143333314321331311334214131213213424321144333341311434134222142321121343222232412444143134431411112114324321143321433231334414341322123111343222233243233431343143211232422223232331241133433322341213442111431244211344313141443112233324342114432221232222334133332132224133333344444413134212314434142234423434441114212331331324144134444242211324133111211433423334322442212233223212242311111432342131223211123332423342422342232441112414431344143324212123442142342343332221141122134333431331334341331141222222311333322322331122223121133342321422241423322233414144324212311323123343434432322341214224323333334342233431121313233414213233222233234234431222341331442331241234333431234141132433113321224431323121310000000000000000000000000012441231142114213212444223142134321411443142331314432241321211343411142213444414322431432100000000000000000000000000000000000000000000000000000000100000000223134211313134214333112444432111241322132241244244233423133343242332114334121312314214133224334321132111343311414424231223441444412323213312233121422321431224321222422223233332432313412213241341331233241414331233113111423113241411312214343332222132223141421231412113341422412312114213333321314232433223334312441434332414224113242422124311143121231211212132244222134112424443233234433231423423121423321113331432131334433221423133222413142312324222313133241433134344133312421243223212433322434244222313231431242322341123412443412342434333324322313431234234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434134321432322342112223412124123224432323214223322213222341314114434432211213121331432324244143234133131331132423212413344413112123444222114222313141223433132413311444442122431131132134124142142421214331141122242214412113232323312343114143444331431123213211111211131131212243324214344122314112343313342242342442134423432223242412221334112234332334432211233322242132342144214211224233441414142334323342111212124323311422132113343344224113324134233224211241124123231320000000000000010000000000000000000000000000003241442222434221310000001000232122113232000000010000000002434333341312441311121331224211132333111414414442342231411312321324234121411344332134223413431141123423134212223231413313411214131434341441222223343322242213212112241144331422133423323122214241234122323413211143422241221344122421424414314131434321224122313423322113212223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211333313331111143121413231241243323211232314111221322333321114321432212411241241422334421334223423431422112433144423441214111441334211331243212423322133111113214443143144313322423123233443233443411233112134243422443344324314324322211342341211122122414133334143432313333133121231433331411213331343312422424132412413132312134233424121241123113332432422443233132232111441231432344213412323212421234244314233421221112332223114322333322423323324422233313341434141243144412324131422312131441343134343413323212413242422223133233113 313113411133411412322213214224243221133442423222134121434142114423133112124333232313244234231442114414322241443232142321214341343422222342442423213342124131123113311233124213213314232314424314412133213123211223412312244214322344232221432233332314234422131423143344113332431223221312121132421143314344313212311234212314143442414423113441243112334311233212323323324133242144341114244124211314112411133123243442221432344214131244134334323414423244443343232231331441342312422422421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422321411222223422222431334244224142223233413111311144444313212232312423423112234123213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114121332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232333322222443242232342341421222312332113211333322433144434214333341413222422422323311333112324231223133133313224434412242342124322241112323222312443442131334342143141133122331431141412333214223423143123231243432242331114324344334131443231233444431113314212122441431214244242144414442421241343233212121324133232221322344222213243421134334132224211444434142443221311121333132312322243341332434414213132321141143233131314322344324212233334413431443412413424333412232143334422413441432311313314223413441333124231231214232311333311322144324221121114211111411142121412124132223433421313412442313434411222131142321221312432321141212211123322112413221444311313311343124243143313331222422211324433331413234133324334212122322134214234214222212331134213112111221132133433241432414222243233121231322413442333334323412213414414221233221124311214421322124342123311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214321233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333432144243311321431332142311121311221143144144334233322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213333434231233442424411134332224423431332314144333143344214123442241243342121444424331434412331222243213214224231223324112133224313322224134214344213412222233342312231314122214131131231414121242232431212424413134221221314323112223321221413343343111131213114243324343324412143214123234311122234112421242231323143333314321331314334214131213213424321144333341311234134222142323121343222232412442143132423312333333124143321141413233332212343142443332321443214313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144414132212121431233112432312434113233323141312132422221144131332431433423334322242212233223212242311111412342131223211123332423342422342232441212414431344143324212123442142342343332221141124134321421213312133333321442322313132223143313144222321333322141424223423323433434124123211232233313331232432342123432132141111334122113432223432431232213213222413212412211242324331244331223112333433314322314214314133324131343321300000000000100000000000000031443231322332211431422431144132123411441122111314432431143433341431142213442424322431234301000000000000000000000000000000000000000000000000000000000000000122132233313134234334312443432313411132313121224424331411334132222333314312423332341332223222332144113111113331414422431422143443432323213312233121422341233244331442222323113334212311242413123123133233231313121213121224123332233443333224124332344133223111221233232113443142112112124213333321314232433223334314441433332414224343242422124341243321231411434132244222113132212443233222433433423221143423321233331421113134433223243123222413324332324242313431241441334142133312423423223212431342232224222313211431242322241321413443421322414333324322313341234434323223334441234232322342323342413131421421324441441233234231444114123333343312222232332233234441223122112222434223434334423432323342132223312142141323432424214223312213422321311414434432211213131331211322224143234133131113224223444413344413112123444222114222313121223433132413311423141344213121322314144142122411332313343244244214412113232321332343114143444131411123331311131413332133432213224212322322344134113133143222342442133421233223242414414114112224132334342231233312224314344414214211224233443413142333323342111212123323311422132113343344424113324114233421333323322241432120000000000000000000000000000000000000000100003244444424234223310100000000214142231432000000000000100001434333344414221423243143414432134333134414414442342231411312321324234121411344332134223413431141123423134212223231413313411214131434341441224221343322244213212112241144331442133423121323422322412421121433211123422241223344122421424434114231244121224122313443322113212223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211233313333123113121413211241243321111231314111421322333331114323233212411341211222332221332223443311322112243344221443332113344434211143411424241124113434313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133334123432313333133332311413141221211341342132424342342212231132312312233442233223343133431232224123233132232131343211432122431312321221421432442314233223121232332223114342333322423323324422233313341434141243144414423321221112133441343134343314241212431442422223413433323 313113331111433234142211223442411241123142421222144121322342114423123112142221232312314234433223331424323111121434333121434323243422242312422343213342124131123113311233124213213314232314424314412133213123211223412312221223324344232221434212432133234222323233122144131313231421423212323114421241312142313232313232112114143442414423113441223112334311233112323323324133442144341134224124211313112411133123243442221432342214134134134314323414423244433343232231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323124423341114323324124222213312124231433223122242344314333114134112131323424422131144312412321443342432444242432124242224334223231214331111124412313212232312423443112234113213411322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232233322422413242232132321221222122432113211332142233144414214333321213242122422323311333112324231223133132331444234412222342144322241312321422314423444131334112141141333122331431141412323234223423243123213243412244333111324324134131223312413444431114314212122411111234244122344214242423241343233213123322133232221323344222213243421134314132224431444414124444223111121333132141334221323332434414213412124143141212111231322344322212223332424231141412433424333232242143434422413441432311313311223413441333124231212332432113323111241144422221121311231311431112123214124432223443421313432443313434411222131142321221312432321141214211123322112413221444311313311341124423143313331222422211324433331413234133324332412222124214232214414222212331134213112111221132133433241432414324241433121433322413444423112321422221341432241432221324111432433322124332123113343224123434343212132133412331342324431232221121441134123232314412211212244444233121444331131334224431243314311131323434414242114212332331143434143231211133334234242322312431312143312143214132343312443443234213223211324132411333144241344121111142132000000000000010000000000000000000000023114321232133431224414221211141342312443212232434233324221313242132421321343423441142213133424444444114333233344443133321221333142311123321313343324144314231322224243223342242311323441221223213324323443333122412132143224314233211221244322433111313413214332314342443132422324432222322143212332144122232343244134122423143331344222222124332224124223424311231122314123424222232123232234112234143213313432213444423132321313112133433143443324212133113343333243331322121434423424123211124213333434231233432423411334332242321244111132344313211341232331224423433334341444342341442434313334423213414334431223344142313234323342223312433111434212222233144112211234342214313331234432243433434433132122313334343241324323334311121421221343143111131213114243344343324412143414123234311122234112421242231322143333314321331314334214131213213424321142333341311234134222142323121343222232412442143132423312333333124143321141413233332212343322123111343222233243233431343143211232422223232331241133433322341213442111431244211344313141443112233324342114432221232222334133332132224133333344444413144414132212422431233132432312434113233344321312432442224124131332431231423334322424432212343232443333313232322233441233321114341122243322424233234431213122321342232333323334423222332321121142312321421213312133333321442322313132223143313144222321333322141424223423323433434124123211232233313331232432342123232132141111334122113432223432431232213213222413212412211242324331244331223112333433314322314214314133324131343321300000000000100000000000000032443231322332211431422431142132123411441122111314432431143433341413144213422414322433412100000000000000000000000000000000100000000000000000000000000000000123132233313134414333112444432111211132332141244244233423133343242332114332421314314214133224334321132114343311434444222223441443432321211334413143123123243422123442222323113334212311242413141341331233241414331233113111423113241411312214343332222132223141421231412113341422412312114213333321314232433223334312441434332414224113242422124311143121231211212132244222134112424443233234433231423423121423321113331432131334433221423133222413142312324222313133241433134344133312421243223212433322434244222313231431242322341123412443412342434333324322313343234434323223334441234232322342323142413131421421324441441233234231444114123333323312222232332233234441223122112222434243434334323432323342132223312122123224432323214223322213222341314114434432211213121331432324244143234133131331132423212413344413112123444222114222313141223433132413311444442122431131122134124142142421214331141122242214412113232323312343114143444331431123213211111211131131212243324214344122314112343313142242342442134423432223242412221334112234332334432211233322242132342144214211224233441414142334323342111212124323311422132113343344224113324134233224211241124123231320000000000000010000000000000000000000000000003241442222434221310000001000232122113232000000010000000002434333341312441311121331224211132333111414414442342231411312321324234121411344332134223413431141123423134212223231413313411214131434341441222223343322242213212112241144331422133423323122214241234122323413211143422241221344122421424414314131434321224122313423422113212223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211311113111321143121413231241243323223432334213211143233121314321412214223213144222332221334413243311322112233344421443334113344434241343411422241124113111313234241123124331342441443232433233443411231114132423242224122444314424122431222121211143144444141112141324232111412122211211143223433341213114242424132212413334224332233424131241323413331231242443233133212131441231432344211412323212441232442314233223121232332143121324133322221123334422442131321442421241232214343323221132321333231444143414243212413242322223133433323 313113411133411412322213214224243221133442423222134121434142114423133112124333232313244234231442114414322241443232142321214341343422242342422343213342121131123113311231124213213344432133221143232141313123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313442144341134224124211313112411133123243442221432344214131144134314323414423244433343232231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341222212233442323222341133323131322423332321334331114132421123213413344144222131333124431322323343131342344221132144231411311222224221324341314312414213121214323133242141412143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112241323212142211332223234211223231131323442244333143312213142244134431114334431223213133234222232332313312443114214242311313443111333221343322232333322222443242232342341421222312332113211333322433144434214333341413222422422323311333112324231223133133313224434412242342124322241112323222312443442131334342143141133122331431141412333214223423143123231243432242331111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124343141212111231342344322232223132424231141414411244314232444311331442343233114133412131411341121422311211212334432311323311322144324221311114211111431242121234124132243443421313432443313434413222133134323233224132323321412211123322112413221444311313311343124244143313331222422211324433331413234133324334212122322134214234214222212331134213112111221132133433241432414222243233121231322413442333334321412213414414221233221124311214421322124142121311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243434311331321434412242114212313331141214321233122111112324421112124423412413122143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144334233322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213433234231233442223411114132242321244111132344313211341232331224423433334341424424133232332333332223131434224213214124442333334111124243332434314413432222233344132232314142214313331214432243433434433132122313334343341324323334311121421221343143111131213114243344343324412143414123234311122234112431242231322143333314321331314334214131213213424321142333341313214112222214343122321441412211242143132423332333314122121323341211433312432143322123111343222213343233431343143211232242321413333441133213132323133233331413212211344313123423332233124124112233443232322112333332132224123313344444413144214132212122431233132432312434113233323141312132442221322231131231433422424342242212233223212242311111432342131223211123332423342422342232441112414431344143324212123442142342343332221141124134121421213312133333321442322313132223143313144222321333322141424223423323433414124123211232233313331232432342123232132141111334122113432221313233414213233222233234214433244341333224333421112131233312141132233113323224131323121300001000000000000000000000011241441142134213212424223344134341411443142333314412243343413323433234243442414314431432300000000000000000001000000000000000000000000000000000000000000000123112231313144214333112243434111243322333141224422231411314132224313114212423312311332223224222321132311113233414422431422141443432241313332233121123123243422123424244341233134233313441233241321313233441414331433313111123113241441312214323132322113224111221223412113341423414132124233333321314232433223334312141414332312223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342232224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434134321432322342132223412124123224432323214223322213222341314114434432211213121331432324244143234133131331132423212413342413112123342143312221131321442311312212132223141344213123122112142142222113332213323244444244112331314333314341122331212321433221311331333431342311434411322232324124312112143333343222342442133421233223242414414114112224132334342231233312224314344414214211224233441414342334323341111212143321213422223214343322224321242132441424333323322241432120000000000000000000000000100000000000000000003244344442432441310000000010214142213231010000000000000002434333341312221411141331221231312332314332431442342231411312321324234121411344332134223413431141123423134212223231413313411214131434341441424221343322244213212112241144331442133423121323422322412421121433211123442222223321322221434434114231244321224122313443422311212341414422141324223231113414324123114123344241334444234412342311413333214444111142214123224344213333313331311143121413231241243323223432334213211143233121314321412214223213144222332221334413243313322333231324441113334223344414413141243222443324133114313234241123124331342441443232433233443411231114132423242224122444314424122431222121211143142444141112141324232111412122211211143223433341213114242424132212413334224332233424131241323413331231242443233133212131441231432344211412323212441232442314233223121232332143121324133322221123334422442131321442421241232214343323221132321333231444143413241213213211342441131221321 313113411133411412322213214224243221133442423222134121434142114423133112124333232313244234231442114224312141423432132341212323343422242342422343213342121131123113311231124213213344432133221143232141313123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144333143312411322244331431112114441223233133433412232312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443233121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311411242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433231432414222441233141433324413442333334321412213414314421233443113334234433324324342121113333224123434141412112113412112324144143214424143233213331212314412211212244424213121444131111234224431243314311131323134414242114212113331121214121333122111112324421112124423412413124443414332321343421212134413223211324132413333344342314331113124134000000000100000000000000000000000000023114423214142312144414231232141144332343214234412413343221213232132121341141123431142411133424442444113333432344223313321231332142311131321211143144144331233323224243223142242111323443223223212322321341313442422134143424434311211221242322433111213313214332312342443112422324434222122143212332344122232343224334134443343331344222222134332224124223424311231122314123422242232123232234111234143213313432213444423132321313112113433143443324212123123341333243331322323434423224113311124213333414231233442423221134334424423431332314344333143344214123442241243342123424342341432432311334223213214222231423324112133224313322223134214344213414342211124112211234142234131131231414121242232431212424413134221221314323112223321221413343343111131213114243324343324412143414123234311122234112421242231423143333314321331311334214131213213424321144333341311434134222142321121343222232412444143134431411112114324321143321433231334414341342443332321443414313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144414132212422431233132432312434113233344321312432442224124131332431431423334322424432212343232443333313232322233441233321114341122243322424233234431213122321342232333323334423222332321121142312321421213312133333321442322313132223143313144222321333322121242221421433223412144323431332333323141232432122321232132323333334322113431223432431232213213122233234212233242341333224311421112133431312122312214314133324133123121300000001000000000000000000012443431142334211412224223344114341411443142333314412243343413321411234241442414314431432100000000000000000000000100000000000000000000000000000000000000000223134231313144214333112443432111211132332243244244233423133343242332114332421312314214133224334321132114343311434444222223443443432321333132413141143123243422123424244341233134233313441233241321313233441414331433313111123113241441312214323132322113224111221223434113341423414132224233333321314232433223334312141414332312223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342432224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312224232332233234431223122112222434243434333323432323342132223312122121243432423214223312213222321314414434432211213131331212322224143232113133131224223442413342413132343342143312221131321443311312212132223141344213121132114144142122411332313343244244214422113232323412143114143444331431123213211111211332131212243324212324122314132341133343222342442133421233223242414414114112224132334342231233312224314344414214211224233441414142334323341111212143321213422223214343322224321242132441424333323322241432120000000000000000000000000000000001000000000003244442442434221311000000000214142231432000000000010000001434333341412221423241133414231134323114414414442342231213214423122311121411324312134223413411141123423134212223231413313333432313241123244422223343322242413212112241144331422133423323122214241234122323413211143422221441344122423424432334121442313412144121223422311212323331244343324243211313214324123114123342243334444214412342231333323414222113342412123224144211233313333121113121413211241243323211232314111221322333321114321432212411241211234114221334223443413322112233324421443314111314434213143411422241122333431133233441141124333342441441413433233443411231114132423242224122444314424122431222121211143144444141112141324232111412122211211143223433341213114242424132212413334224332233424131241323413332231242443233133212131441231432344211412323212441232442314233223121232332143121324133342221123334422232131321434421241232214343323222312131441343134343314241212431442422223413433323 313113411133411412322113214224243221133442423222134121434142114422133112124333232313244234231442114414322241443232142321214341343424222342442423213342124131123113311233124213213314232314424314412133213123211223412312244214322344232221432233332314234422131423143344113332431223221312121132421143314344313212311234212314143442414423113441243112334311233212323323324133242144341114244124211314112411133123243442221432344214131244134334323414423244443343232231331441342312422422421423112111233141122131114343421133441244233121334221144223224322423314233343222212231442323422311333323131442323332321334313114132421123213411141244222331323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112111234414322324341211113114141322234333313144241111143132232423432124111322233122134122331223232343432423111424223223424232414414223111224233232123444311343113331434423141343323231131314112123144321133132243243112342211134223234413113242133133322144313141312213144244134431114134441223213133434412232332313312341114234444311313441114333421343322214233322422413242232132321221222122432113211332142233144414214333321213242122422323311333112324231223133132331444234412222342144322241312321422314423444131334112141141333122331431141412323234223423243123213243412244333111324324134131223312413444431114314212122411111234244122344214242423241343233213123322133232221323344222213243421134314132224431444414124444223111121333132141334221323332434414213412124143141212111231322344322212223332424231141412433424333232242143434422413441432311313311223413441333124231212332432113323111241144422221121311231311431112123214124432223443421313432443313434411222131142321221312432321141214211123322112413221444311313311341124423143313331222422211324433331413234133324332412222124214232214414222212331134213112111221132333433241432414324241433121433322413444423112321422221341432241432221324111432433322124332123113343224123434343212132133412331342324431232221121441134123232314412211212244444233121444331131334224431243314311131323434414242114212332331143434143231211133334234242322312431312143312143214132343312443443234213223211324132411313144241344121111142132000000000000010000000000000000000000023114321232133431224414221211141342312443212232434233324221313242132421321343423441142213133424444444114333233344443133321221333142311123321313343324144314231322224243223342242311323441221223213324323443333122412132143224314233211221244322433111313413214332314342443132422324432222322143212332144122232343244134122423143331344222222124332224124223424311231122314123424222232123232234112234143213313432213444423132321313112133433143443324212133113343333243331322121434423424123211124213333434231233432423411334332242321244111132344313211341232331224423433334341444342341442434313334423213414334431223344142313234323342223312433111434212222233144112211234342214313331234432243433434433132122313334343241324323334311121421221343143111131213114243344343324412143414123234311122234112431242231322143333314321331314334214131213213424321142333341311234134222142323121343222232412442143132423312333333124143321141413233332212343322123111343222233243233431343143211232422223232331241133433322341213442111431244211344313141443112233324342114432221232222334133332132224133333344444413144414132212422431233132431114212331331324144134444242211324133111211433423334342442212233223212242311111432342131223211123332423342422342232441112414431344143324212123442142342343332221141122334333431331334341331141222222311333322322331122223121133342141442241423322233414144324212331323124343434432322341214224323333334342232432141312233412414213222233234212433344141313224311421112133431312122312214314133224131143321300000000000010000000000000012441231342134213232224223142134321411341342331312412241341211343411142213444414314431412100000000000000000000000000000000000000000000000000010000000000000223134231313144214333112244434111243322333141224424231411334132222333114312423332411314222244334321133111113331414442431422141444412321333132413141122341233244331442222323113332432313412213241341331233241414331233113111423333341443313214323312344133423114231233234113443142112112124213333321314232433243334312141134332312223311311224122313143321231211432132344434333112214443233222413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342432224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222434243434333323432322342132223412122123224432323214223312213222341314114434432211213121331212322224143232113133111224223442413112413134341424222114221131321442311312212132223141344213123122112142142222113332213323244444244112331314333314341122331212321433221311331333431342311434411322232324124312112143333143222342442133421233223242414414114112224132334342231233312224314344444214211224233441414142334323341111212143321213422223214343322224321242132441241333323322241232120000000000000000000000000000000000000000000103244444422434223310100000000214142231232000000000100000001434333341312221411141331221231312332314332431442342231411312321324234121411344332134223411431141123423134212223231413313311214131434341441424221343322244213212112241144331442133423121323422322412421121433211123442222223321322221434434114231244321224122313443422313432223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211333313331111113121413231441243323221432314111221142233321114321432114213241241422314223314213443411322112233124421441214113344434211341243222443324132131133233441141124333342441441413231211221242423332134243421443344324314324324213342343211122124244133112441324233133132121231431331221211142342132422342342212431112212332221424121241321113331432424143233132232131311211432342431314323211421234242334243223223213422143321124133342221123334422232131321434421241232214323321221112131433343134343314243212413242422223413433323 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422222344322343213342121131123113311231124213213344432133221143232141213121213211414334444423324332232213222412432133224222133423143344113332431243223212121132421143314342333432311212112314143413414443113141243112134311233112323323324131212144443134222344411143112411123323243224421212344212134134134314323414443244433342231131231441312312422423441423132111233143112131114343421233222414233121312242141411224342423314233321241223231224343422341141121131442333332321334331134212421123243413141224222331323124431122323143131342344221132124231411223122242344314333114134112213121214323333242141412143213242232442242232124244224134223231214311143444414313232214333423142112234113213213122412213323222142224111211413331323242234441122414324112111234411122344343411314112122434234133341342441331343333232441412132233344231122134122331123233331432423113422241233444331412314243141244233233143432111343133331412321141323323231131312112123124321423132323223212142213134223224211223231131123342224333143312411322244111431112112441221113133433412212312213132341114234442311313441114333421343322332212322222444242133332321421222122332313211133322413144434214331121413222124422121313333114323432221333132311444233412222342344322241332321422334443444111334144141141333342131231143412423234423423241121413241413224313111144124134131221312413424411114114213114211111233414142144214242423243141233233323322133232211322344442213243421134313134424231434434122443221312421333134312134223143332412214411412141141143213131334324444124412433334414431423432231244133412232143434421413441432311313314223413441333124233431214422311323112342144322221121114211111431142121214324132443443421313432243213134413222131142321221312432321141232234243123332232213444311232111141124423321113333334422211222433131241214131342232242122124214232234214222212331134213112111221132133433241422412222221231121433322413444423112321422221341432241432221324111432433322124332123113343224123434343212132133412331342324431232221121441134123232122234333311222242211342221342333312133214412311143333133411234114211244332113143432143231222133334232421112124423414411124421231114143312443443232231441431342332411311123341342121331344114100000000000000000000000000000000000023114323214143312242414221211141342312443212232434233324221313242112421321343423441142213133424444444114333233334443133321221133142311123321313343324144314231322224243223342242331323441221223213324323411333143222222331242334231431443132344212441313412214332314342443132422324434222322143212332124122232443224314122441123431344442143224114412323444343333231431132221244424412141232444322431411433333432413244242332113333112133433143443324212133111343333343331322141434423434113311121221341231243433431423413334132242341244111132324313211141232331224423433334341244342341442434313334423213414334431223342142313234323342123312433111434212222133144112211234342214313331214432243433434433132122313332343241324323334311123421221343143111131233114343344343324412143414123244311342234112421242231322143343314321331314334214143233213144321142333331111214112222212323111343222233231242121142231411132114124321143321433243234414343122443331343243214311233233321343411232422223212311241121233322141213432111431244411344313141423132233144342112433223242222332333332132224121331324444431144434132212422431233132432312434113233344321312432442224124131332431433422424342424434432341234222313131234124213241233321114341122243322424233234431213122321342232333323334423222332331121124132133431333114341321341424234313132223142131122323321133322141442221421433224412144323431332323124343414432322341214224323333334122132231223332431232213213222413232412211242341331442333241112333433312122314214314133324131143321300000000001000000000000000012443231142112213212422223144134321411443142331314432243343413323433234241442414314431432100000000000000000000000000000000000000000000000000000000000010000123134231313144214333112444432111211132332243244244233423133343242332114332421312314214133224334321132114343311434444222223441443432321333132413141123123243422123424244341233134233313441233241341313233441414331433313111123113241441312214323132322113224111221223434113341423414132124213333321314232433223334312141414332414224343242422124311243321231411434132314234333112214443233222433433423221143423321233331421113134433223243123222413324332324222313131241441334342133312423423223212431342232224222312211431242322241323413443422322434331442124213431414234123123134331434212342344323322213111421421323443231213414411244114343423323312222232334233234441223122112222434443434334323432143324132223312322123224232313214223322213222121314414212432431234131331212324224143234133131331132423212211112413134341424222114222133324223433332432332223141344213121322314144142122411332313343244244214412113232321332343114143444131411123331311131413332133432213224212322322344134113133113222242444324443432241242212221334112234332334432411233312242132342142214211224233441414142334323342111212123323311422132113343344224113324134233224211241124123231340000000000000000000000000000001000000000000004241424442434241330000000010234142213231010000000000000002434333341312221411141331221231312332314332431442342231411312321324234121411344332134223433431141123423134212223231413313411214131434341441422223343322242413212112241144331422133423323122214241234122323413211143422221441344122423424432334121442313412144121223422311234341414422141324223231313414324123114123344241334444234412342311413333214444111142214123224344213333313333111113321413231241243323223432314211221143233121314321412214223213144222332221334413243413322333231324441113334213344414413143411422241112333134313234241123124331342441443413231211221242423332134243422443344324314324324213344343211143144444141112143324213133133321311413143223433341213114242424132212413334212332233424131241321113332432424143233132232131311211433342431314323211421234244314233421221112332223114322333322423323324422233313341434141243144412324131422312321333231444143413241213213242422223133233113 313113411133411412322213214224243221133442423222134121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121131123113311231124213213344432133221143232141313123211211414334221223324344232221434212432133234222323233122144131313231421423212323114421241312142313232313232112114143442414423113441223112334311233112323323324133244144341134224124211313112411133123243442221432344212134134134314323414443424433342231231231441312312422423441223112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323124423341114323324124222213312124231433223122242344314333114134112131323424422131144312412321441222223422222431334244224142223233413111311144444313212232312423423112234123213413322414414323222132444111311433333343242234421122412123134111234414322324341211133114141322234333313144241111143132232423432124111322233122134122331223232343432423111424223223424231412314243141244233233144444311424113331432421141343323231131322312123123121433132241323212142211332223234211223231131323442244333143312213142244134431114334431223213133234222232332313312443114214242311313443114333221343322214233322422413242232342341421222112432113211332342233144434214333341413222422422323311333112324231223113133313224434412242342124222241112323222312443442131334342143141333122331431141412323214223423243123213243412244333111324324114133221312411444431144314232122441411234241122144214243223441343233213123322133232221322344222213443421134334132222211444434142443221312421333134312134223343332412214211412121141143213131334324444324412233334414431423432431242333412244311411422413441432311313314223413441333124231431214422311323132342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141234211123322114413221444311313311343144443143313331222412231324443331443234133324334212122324214232214414222212331134213112111221132133433241432414222243233121231322413442333334321412213414414221233221124311214421322124142121311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413122143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144334233322224243223141242111321443223223212322341341333442422132143424414233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213433234231233442223411114132242321244111132344313211341232331224423433334341424424133232332333332223131434224213214124442333334111124243332434314413432222233344132232314142214313331214432243433434433132122313334343341324323334311121421221343143111131213114243344343324412143414123234311122234112421242231322143333314321331314334214131213213424321142333341311234134222142323121343222232412442143132431411132114134321143321433233334414323142443332321443414343233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144414132212121431233112232312434113233323141312132422221144131332431413422424342242212233223212242311111412342131223211123332423342422342232441212414431344143324212123442142342343332221141124134321421213312133333321442322313132223143313144222321333322141424223423323433434124123211232233313331232432342123432132141111334122113432223432431232213213222413212412211242324331244331223112333433314322314214314133324131343321300000000000100000000000000031443231322332211431422431142132123411441122111314432431143433341431142213442424322431234301000000000000000000000000000000000000000000000000000000000000000122132233313134234334312443432313411132313121224424331411334132222333314312423332341332223222332144113111113331414422431422143443432323213312233121442341233244331442222323113334212311242413123123133233231313121213121224123332233443333224124332344133223111221233232113443142112112124213333321314232433223334314441433332414224343242422124341243321231411434132244222113132212443233222433433423221143423321233331421113134433223243123222413324332324242313431241441334142133312423423223212431342232224222313211431242322241321413443421322414333324322313341234434323223334441234232322342323342413131421421324441441233234231444114123333343312222232332233234441223122112222434223434334423432323342132223312142141223432424214223312213422321311414434432211213131331211322224143234133131113224223444413344413112123444222114222313121223433132413311423141344213121322314144142122411332313343244244214412113232321332343114143444131411123331311131413332133432213224212322322344134113133143222342442133421233223242414414114112224132334342231233312224314344414214211224233443413142333323342111212123323311422132113343344424113324114233421333323322241432120000000000000000000000000000000000000000100003244444424234223310100000000214142231432000000000000100001434333344414221423243143414432134333134414414442342231411312321324234121411344332134223413431141123423134212223231413313411214131434321441224221343322244213212112241144331442133423121323422322412421121433211123422241223344122421424434114231244121224122313443322113212223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211313313331111143121413231241243323211232314111221322333321114323432212411241241234114221314223443431322112233324421443334211341434213143243422443312133111111414443143144313322243443233433233443411231114112223442224122444314424332213322343431242122214133334143432313333133121231433331411213331343312422424132412413132312134133424121241123113332432422443233132232111441231432344213412323212421234244314233421221112332223114322333322423323324422233313341434141243144412343323221132321333231444143413241412431241322223133233113 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121111123113311231124213213344432133221143232141313123211211414334221223324344232221434212432133234222323233122144131313231421423212323114421241312142313232313232112114143442414423113441223112334311233112323323324133442144341134224124211313112411133123243442221432344214134134134314323414423244433343232231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143442341141121131442333334321334331311133221323313411141224222333323124423341114323324124222213312124231433223122242344314333114134112131343424422131144312412321443342432444242432124242224334223231214331111124412333212232312423443112234113213413322414433323222332444111311433331123242434441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323132342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141214211123322114413221444311313311343144443143313331222412231324443331443234133324332412224124214232234214222212331134213112111221122133433231432414222441233141433324413442333334321412213414314421233443113334234433324324342121113333224123434141412112113412112324144143214424143233213331212314412211212244424213121444131111234224431243314311131323134414242114212113331121214121333122111112324421112124423412413124443414332321343421212134413223211324132413333344342314331113124134000000000100000000000000000000000000023114423214142312144414231232141144332343214234412413343221213232132121341141123431142411133424442444113333432344223313321231332142311131321211143144144331233323224243223142242111323443223223212322321341333442422134143424434311211221242322433111213313214332312342443112422324434222122143212312344122232343224334134443343331344222222134332224124223424311231122314123422242232123232234111234143213313432213444423132321313112113433143443324212123123341333243331322321434423224113311124213333434231233442424411134332224423431332314144333143344214123442241243342141444424331434412331222243213214224231223324112133224313322224134214344213412222233342312231314122214131131231414121242232431212424413134221221314323112223321221413343343111131213114243324343324412143214123234311122234112431242231323143333314321331314334214131213213424321144333341311234134222142323121343222232412442143132423312333333124143321141413233332212343322123111343222233243233431343143211232422223232331241333433322341213442111431244211344313141443112233324342114432221232334312333332332224123331324444413144414132212121431233112232312434113233323141312132422221144131332431213422424342242212233223212242311111412342131223211123332423342422342232441212414431344143324212123442142342343332221141124134321421213312133333321442322313132223143313144222321333322143424223423323433434124123211232233313331232432342123432132141111334122113432223432431232213213222413212412211242324331244331223112333433314322314214314133324131343321300000000000100000000000000031443231322332211431422431142132123411441122111314432431143433341431142213442424322431234301000000000000000000000000000000000000000000000000000000000000000122132233313134234334312443432313411132313121224424331411334132222333314312423332341332223222332144113111113331414422431422141444412321333132413141143123243422123424244341233134233313441233241321313233441414331433313111123113241441312214323132322113224111221223434113341423414132224233333321314232433223334312141414332312223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342232224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434134321432322342112223412124123224432323214223322213222341314114434232211213121331432324244143234133131331132423212431344413112123444222114222313141223433132413311444442122431131132134124142142421214331141122242214412113232323312343114143444331431123213211111211131131212243324214344122314112343313142242342442134423432223242412221334112234332334432211233322242132342144214211224233441414142334323342111212124323311422132113343344224113324134233224211241124123231320000000000000010000000000000000000000000000003244442222434221310000001000232122113232000000010000000002434333341312441311121331224211132333111414414442342231411312321324234121411344332134223433431141123423134212223231413313411214131434341441422223343322242413212112241144331422133423323122214241234122323413211143422221441344122423434434114231244321224122313443322113414323434222123322224212333414411323332141312423431322432233142331333333214222113342412123224144211333313331111143121413231241243323223432334213211143233121314321412214223213144222332221334413243311322112233344421443334113344434241343411422241124113114313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133334123432313333133332311413141221211341342132424342342222231132312312233442233223343133431232224123233132232131343211432122431312321221421432442314233223121232332143121324133322221123334422442131321442421241232214343323221132321333231444141313323212431442422223133233113 313113411133411412322113214224243221133442423222134121434142114422133112124333232313244234231442114414322241443232142321214341343424222342442423213342124131123113311233124213213314232314424314412133213123211223412312244214322344232221432233332314234422131423143344113332431223221312121132421143314344313212311234212314143442414423113441243112334311233212323323324133242144341114244124211314112411133123243442221432344214131244134334323414423244443343232231331441342312422422421423112111233141122131114343421133441244233121334221144223224322423314233343222212231442323422311333323131442323332321334313114132421123213411141244222331323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112111234414322324341211113114141322234333313144241111143132232423432124111322233122134122331223232343432423111424223223424232414414223111224233232123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443233121234233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311411242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433241432414222243233121231322413442333334321412213414414221233221124311214421322124342121311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413122143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144314231322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213433234231233442223411114132242321244111132344313211341232331224423433334341424424133232332333332223131434224213214124442333334111124243332434314413432222233344132232314142214313331214432243433434433132122313334343341324323334311121421221343143111131213114243344343324412143414123234311122234112431242231322143333314321331314334214131213213424321142333341311434134222142321121343222232412444143132431411132114134321143321433233334414323322123111343222213343233431343143211232242321413333441133213132323133233331413212211344313123423332233124124112433443232322112333332132224123313344444413144214132212122431233132432312434113233323141312132442221322231131231433423424342424432432341212242311111432342131223211123332423342422342232441112414431344343324212123422132342343332221141324134333431331314341331141222222311333322322331122323323111122141242221421433224412144324431332323124343414432322341214224123333334344232411223332431232233212224413232412211222341331442331241234333431234141132233113321242133123141100000000010000000000000000012441231342334213212422431144132121411441122111132432431143413341413144213222414322433412100000000000000000000000000100000000000000000000000000000000000000123134231313334234333112444432111211132333141224424231411334132222333114312423332341332223222332141132111113333432444222222141444412323333334413143123321233224321422222323233334212311242413123123133233231313121233313111123333241443313214323312344133423114231233234113443142412112124213333321314232433223334312141434332414224343242422124311243321231411434132314234333112214443233222433433423221143423321233331421113134433223243123222413324332324222313131241441334342133312423423223212431342232224222312211431232322341323413443422322434311442144233431214234123223134441214232322342323322413131421221323443231133414411244114143423323314222232132233434441222142122422434241434314323232323442134223312122123224432323214423322213222321314414434432211213121331432324224143234133131331132423212231342413112123444142114241131321442311312212132223141344213123122112142142222113332213323244444244112331314333314341122331212321433221311331333431342311434411322232324124312112141113313222342442134423432223242412414114112224132334342211233312242132342144214211224233443414142334323342133423343131223323222243131122224121242132441424211323322243231320000000000000000000001000000000000000000000003241444442434221311000000000214142231432000000001000000001434333344422221423241131224231132332311412414442142231211314441122311241411124314134131413231241142212312432241442232133333432313241123244222221343322212211212114241123113222133223123122214241234122323413211143422221241344122421424434334131442313412144121223324113432341414422141324223231113414324123114123344241334444234412342311413333214444111142214123224344213333313331121113121413211241243343211232314111221322333321114321432212411241241234114221314223443431322112233324421443334211341434213143243422443312133111133233441141124333342441441413231211221242423332134243421443344324314324324213342343211122124244133112441324233133132121231431331221211142342132422342342212431112212332221424121241321113332432424143233132232131311211432342431314323211421234242334243223223213422143321124133342221123334422232131321434421241232214343323221132321333231444143413241212413211342441131221321 313113411133411412322113214224243221133442423222134121434142114422133112124333232313244234231442114414322241443232142321214341343424242342422343213342121131123113311231124213213314232314424314412133213123211223412312244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312314313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222331323124423341114323324124222213312124231433223122242344314333114134112131343424422131144312412321443342432444242432124242224334223231214331111124412333212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443233121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311411242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433241432414222243233121231322413442333334321412213414414221233221124311214421322124342121311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413122143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232344243311321431332142311121311221143144144314231322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213433234231233442223411114132242321244111132344313211341232331224423433334341424424133232332333332223131434224213214124442333334111124243332434314413432222233344132232314142214313331214432243433434433132122313334343341324323334311121421221343143111131213114243344343324412143414123234311122234112431242231322143333314321331314334214131213213424321142333341311434134222142321121343222232412444143132431411132114134321143321433233334414323322123111343222213343233431343143211232242321413333441133213132323133233331413212211344313143423332233124124112233443232322112333332132224123313324444413144414132212121431233112232312434113233323141312132442221322231131231213223434324424432432341234222213131232122213241233321114341122243322424233234431213142321342211333322332423222332323322144312331223213312333121341424224313132223143313142223121133342141442421223423233414124123211232233313331232432342123232132141113334122113432141312233212413213222413232412211242341333224331223112333421314141132213314133324131321121300000000000000000100000000012441231342334211412224223342134141411443142333314412243343413323411144213422414322413412100000000000000000000000000000000000000000000000000001000000000000223134231313144214333112243434111243322333141224422231411334132222333114312423332411314222244334321133111113331414442431422141444412321213312233121122321233244331442222323113332432313412213241341331233241414331233113111423333341443313214323312344133423114231233234113443142112112124213333321314232433243334312141134332412223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342432224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434134321432322342132223412124123224432323214223322213222341314114434432211213121331432324244143234133131331132423212413342413112123342143312221131321442311312212132223141344213123122112142142222113332213323244444244112331314333314341122331212321433221311331333431342311434411322232324124312112143333143222342442133421233223242414414114112224132334342231233312224314344414214211224233441414342334323341111212143321213422223214343322224321242132441424333323322241432120000000000000000000000100000000000000000000003244342442432441310000000010234142213231010000000000000002434333341312221411141331221231312332314332431442342231411312321324234121411344332134223413431141123423134212223231413313411214131434341441424221343322244213212112241144331442133423121323422322412421121433211123442222223321322221434434114231244321224122313423422313432223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211313313331111143121413231241243323223432334213211143231121314321412214223213144422334421314413243413322333231324441113334213344414413143411422241112333134313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133334123432313333133332311413141221211341342132424342342212431132312312233442233223343133431232224123233132232131343211432122431312323211421234242334243223223213432143121124133342221123334422232131321434421241232214343323222312131441331444141313323212431442422223413433323 313113411133411412322213214224243221133442423222134121434142114423133112124333232313244234231442114414322241443232142321214341343424222342442423213342124131123113311233124213213314232314424314412133213123211223412312244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143443414443113141243112134311233112323323324131212144443134222344411143112411123323243224421212344212134134134314323414443244433342231131231441312312422423441423132111233143112131314343421233222412413121132242141421224342423314233241222212233442323222341133323131322423332322334331114132421123313411141224222333323124423341114323324124222213312124231433223122242344314333114134112131323424422131144312412321443222232442242431334244224142243231213311143444414313232214333423142312234113213213122412213323222142224111211433131323242234441121414324112111234411122344343411314112122434234133341344443331343333232441412132233344231122134122331123233331232423113422241233444331412314243141244233233143432111343131131412321141343323233131312112123144322133132223243212142213134223224211223231131123342224333143312411322244111431112112441221113133434412212312213132341114234442311313441114333421343322332212322222444242133332321421222122332313211133322413144434214331121413222124422121313333114323432221333132311444233412222342344322241332321422334443444111334144141141333342131231143412423234423423241121413241413224313111144124134131221312413424411114114213114211111233414142144214242423243141233233323322133232211322344442213243421134313134424231434434122443221312421333134312134223143332412214411412141141143213131334324444124412433334414431423432231244133412232143434421413441432311313314223413441333124233431214422311323112342144322221121114211111431142121214324132443443421313432243213134413222131142321221312432321141232234243123332232213444311232111141124423321113333334422211222433131241214131342232242122124214232234214222212331134213112111221132133433241422412222221231121433322413444423112321422221341432241432221324111432433322124132123113343224123434343212132133412331342324431232221121441134123232122234333311222242211342221342333312133214412311143333133411234114211244332113143432143231222133334232421112124423414411124421231114143312443443232231441431342332411311123341342121331344114100000000000000000000000000000000000023114323214143312242414221211141342312443212232434233324221313242112421321343423441142213133424444444114333233134443133321221133142311123321313343324144314231322224243223342242331323441221223213324323411333143222222331242334231431443132344212441313412214332314342443132422324434222322143212332124122232443224314122441123431344442143224114412323444343333231431132221244424412141232444322431411433333432413244242332113333112133433143443324212133111343333343331322141434423434113311121221341231243433431423413334132242341244111132324313211141232331224423433334341244342341442434313334423213414334431223342142313234323342123312433111434212222133144112211234342214313331214432243433434433132122313332343241324323334311123421221343143111131233114343344343324412143414123244311342234112421242231322143343314321331314334214143233213144321142333331111214112222212323111343222233231242121142231411132114124321143321433243234414343122443331343243214311233233321343411232422223212311241121233322141213432111431244411344313121423132233144342112433223242222332333332112224121331344444431144434132212422431233132432312434113233344321312432442224124131332431433422424342424434432341234222311111432342131223211123332423342422342232431114431213122321342232333323334423222334331121324312331223213312333121344424224313132223143313142243321133324121242221421433223412144323431332333323141232432122321232132323333334322113431223432431232213213122233234212433242341333224311421112133431312122312214314133324133123121300000001000000000000000000012443431142334211412224223344114341411443142333314412243343413321411234241442414314431432100000000000000000000000010000000000000000000000000000000000000000223134231313144214333112444432111211132332243244244233423133343242332114332421314314214133224334321132114343311434444222223441443432321211334413143123321233224321422222323233334212311242413123123133233241414331233313111123113241441312214323332322333243111221433412113443442112112124213333321314232433123334314421434332312223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342432224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433343312222232332233234441223122112222434223434334423432323342132223312142141323432424214223312213422321311414432432211213131331211322224143234133131113224223444413344413112123444222114222313121223433132413311423141344213121322314144142122411332313343244244214412113232321332343114143444131411123331311131413332133432213224212322322344134113133143222342442133421233223242414414114112224132334342231233312224314344414214211224233443413142333323342111212123323311422132113343344424113324114233421333323322241232120000000000000000000000000000000000000000100003244444424234223310100000000214142231432000000000000100001434333344414221423243143414432134333134414414442342233221314421142311141111122112111131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221434234114231244321224122313423422311234341414422141124223231113414324123114123344241334444234412342311413333214444111142214123224344213313313333111113321413231241243343223432314211221143233121314321412214223213144222332221334223441431322332231324421143334223344434241343411422241124113134313234241123124331342441443413231211221242423332134243422443344324314324324213344343211143144444141112143324213133133321311413143223433341213114242424132212213334212332233424131241321113332432424143233132232131311211433342431314323211421234244314233223121232332143121324133342221123334422232131321434421241232214343323222312131441343134343314243212413242322223133433323 313113411133211412322213214224243221133442433222134121434142114423123112124333232313244334433223331424123111121434333123434323343422222342442423211341124131111131331411124333213314232314424314412133213123211223412312244214322344232221432233332314234422131423143344113332431223221312121132421243314344313212311234212314143442414423113441243112334311233212323323324133242144341114244124211314112411133123243442221432344214131244134334323414423244443343232231331441342312422422421423112111233141122131114343421133441244233121334221144223224322423314233343222212231442323422311333323131442323332321334313114132421123213411141244222331323124433322323343131342344221132144231411321222224221324343314312444211121214323133244111312343413222232442242432124244224134223231213311143444414313232214333423142112234113213413322414413323222142224111211433331323242234441122414124112111234411122324343411314112122434234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133132323223212142213134223224211223231131123342224333143312411322244111431112112441221113133433412212312213132341114234442311313441114333431343322232232322212343242232332323421222112332113211333322433144434214333341413222122222323331333112324231223111132331442234412122342144224241314321422114421444131314112113241313122341411141212331114223421213323211443432242133134324324334231443231233444133314314312122443131434244242314414442421241343233213323122132232211322344442213243421134314134424231434434122443221312421333134342134223343332412214211412141141113213431334122344314212233334414411423212433424333412232143311442343233114133412131411341121422311211212334432311323311322144324221311114211111431242121234124132243443421313432443313434413222133134323233224132323321412211123322112413221444311313311343124244143313331222422211324433331413234133324334212122322134214234214222212331134213112111221132133433241432414222243233121231322413442333334321412213414414221233221124311214421322124342121311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144334233322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223344133231431132221244424434241132433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213333434231233442424411134332224423431332314144333143344214123442241243342141442342341442434113334422213414334431223344142313234323342223312433111434212222233144114211234142214313331234232243433434433134122311334343241324323334311121421221343143111131433114343344343324412141414123244311342234112421242231322143343314321331314314214131213213424341144333331311234134224142323122321441412211444143332431411132114134321143321433233334414323322123111343222213343233431343143211232242321413333441133213132323133233331413212211344313123423332233124124112433443232322112333332132224123313344444413144414132212121431233112232312434113233123141312132442221124131332431233423424342424434432341434222213131234124213241233321114341122243322424233234431213122321342232333323334423222332321121124134333431333114341321341424234313132223143313142223321133322141442241423322233414144324212331323124343434432322341214224323333334342232432141312233412414213222233234212233344141313224311421112133431312122312214314133224131143321300000000000010000000000000012441231342134213232224223142134321411343342331312412241341211343411142213444414314431412100000000000000000000000000000000000000001000000000000000000000000142134233313343214333132233234111241322133143224424233411314132224333114312423332341332223222332141132111113333432444222222141444412341313332233121122341233244331442222323113332432313412213241341331213241414331233113111423113241411312214323332222132223141421233412113341422112312114213133321314232433223334312441434132312223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342432224222313211431232322341323413443422322434311442144313431214234123223134441234332323342323322413131421221323443231133232231244314121433323312222232332233234431223122112222434243434333323432323342132223312122121243432423214223312213222321314414434432211213131331212322324143234133131113224223442413344413112123444222114222313124442411312212132223141344213123122112142142222113332213323244424244112331314333314341122331212321433221311331333431342311434411322232324124312112141113143421234242334223432243244212414112131222324134432211131112442132142144214211224233421414142334323341111212143321213442223214343122224321242132441424211323312143241320000000001000000000000000000000000000000000003244424222434223310000100000212122213232010000000000000002434333341312221411141331221231312332311414414442342231411312321324214121411344332134223413431141123423134212223231413313411214131434341441422223343322242413212112241144331422133423323122214241234122323413211143422221441344122423434434114231244321224122313443322113414323434222123322224212333414411323332141312423431322432233142331333333214222113342412123224144211333313331111143121413231241243323223432334213221142233321114321432214211241144222332221334413243311322112233344421443334113344434241343411422241124113114313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133314123432313333133332311413141221211341342132424342342222231132312312233442233223343133431232224123233132232131343211432122431312321221421432442314233223121232332143121324133322221123334422442131321442421241232214343323221132321333231444141313323212431442422223413433323 313113331111433234142211223442411241123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422222342442423211341124131111131331411144313213314232314424314412133213123211223412312244214322244432221432212432133434222133423143344113332433223223212121132441143314344313212111234232314143442214423113441243114334331233212323123324133244144341134224124211313112411133123243442221432344212134134134314323414443424433342231231231441312312422423441223112111233141122131114343412231222442433113332242121221224342413312333341241223231424143442341141121131442333334321334331311133221323313411141224222333323124423341114321324124222213312124231433223112242344314333114134112131343424422131144312412321443342432444242422124242224334223231214331111124412333212232312423443112234113213413322414433323222332444111311433331123242434441122412123112332434431124124141234333114122332234133341344441331343333232441432132231344231122134122331123233331432423113422241233424331412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412214312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323132342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141214211123122114413221444311313311343144443143313331222412231324443331443234133324332412224124214232234214222212331134213112111221122133433231432414222441233141433324413442333334321412213414314421233443113334234433324324342121113333224123434141412112113412112324144143214424143233213331212314412211212244424213121444131111234224431243314311131323134414242114212113331121214121333122111112324421112124423412413124443414332321343421212134413223211324132413333344342314331113124134000000000100000000000000000000000000023114423214142312144414221211141342312443212232434233324221313242132421321343423441142213133424444444114333233344443133321221333142311123321313343324144314231322224243223342242311323441221223213324323443333122412132143224314233211221244322433111313413214332314342443132422324432222322143212332144122232343244134122423143331344222222124332224124223423311231122314123424222232123232234112234143211332112431222223134321133331331413143244314444131313313241241211122121432423422313331344213433234231233442223411114132242321244111132344313211341232331224423433334341424424141442434313334423213414334431223344142313234323342223312433111414212222233344132432314142414313331214432243433434433132122313334343341324323334311121421221343143111131213114243344343324412143414123234311122234112421242231322143333314321331314334214131213213424321142333341311434134222142321121343222232412444143132431411132114134321143321433233334414323142443332321443414313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144414132212121431233132432332434113233323141312132444221324131131213233423334322424432212343232443333313232322233441233321114341122243322424233234431213122321342232333323334423222332321121142312121421213312133333321442322313132223143313144222321333322121242221421433223412144323431332333323141232432122321232132323333334322113431223432431232213213122233234212233242341333224311421112133431312142312214314133324133123121300000001000000000000000000012443431142334211412224223344114341411443142333314412243343413321411234241442414314431432100000000000000000000000100000000000000000000000000000000000000000223134231313144214333112444432111211132332243244244233423133343242332114332421312314214133224334321132114343311434444222223443443432321211334413143123321233224321422222323233334212311242413123123133233241414331233113111423133241443313214323312344133423111221233412111341422112133124213333321314232433223334314441434334414224113242422124311143121231211212132244222134112424443233234433231423423121423321113331432131334433221423133222413142312324222313133241433134342133312421243223212433322434244222313231431242322341123412443412342434333324322313431214234123223134441234332323342323322413131421221323443231133232231244314123433323312222232332233234431223122112222434243434333323432323342132223312122121243432423214223312213222321314414434432211213131331212322324143234133131113224223442413342413132343444222114222313141223333332432332223141344213121322114144142122411332313343244244214412113232323312343114143444331431123213211111211132131212243324214344122314132143113313222242444324443432241242212221334112234132334342211233322242132342142214211224233441414142334323342133423343131223323222243131122224121242132441424211323322243241121000000000000000000000000000000000000000000003244444422434221311000000000214142231431000000001000000001434333344422221423241131224211132332311412414442342231411312321324234121411344332134223413431141123423134212223231413313411214131434341441422223343322242413212112241144331422133423323122214241234122323413211143422221441344122423424432334121442313412144121221422313234341414422141324223231113414324123114123344241334444234412342311413333214444111142214123224344213333313331111143121413231241243323223432334213211143233121314321412214223213144222332221334223441431322332231324421143334223344414413143411422241112333131113233441143144331342441441413231111221242423332134244422443344324314324324213342343211142122214133334143432313333133121231433331411213331343312422424132412413132312134233424121221323113332432424443233132232131341211432342431312323211421234244314233421221112332223114322333322423323324422233313341434141243144412343323221132321333231444143414241213213242422223413433323 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121131123113311231124213223312432334424344432133344123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144333143312411322244331431112114441223233133433412232312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443233121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311411242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433231432414222441233141433324413442333334321412213414314421233443113334234433324324342121311131442123222343234334133142131342324441232221121441134123234122234333311222242211342421342333312133214212411143331133411234114211244332113143432143231222133334232421112124423414411124443414332321343421212212231421231122331213433124241344121333144132000000000000000001000000000000000000022334321232143431244414231212141312332443234234412413343221213242132121121141423241122213341242322242314112222342443113143222312424333123121211121144444114413222123231343342223113443321423323313142123441331142422132143224312233431221242122433111311413214332314342443132422324434222322143212334144122232343224334132243143331344222222124332224124223424311431122314123424222232123232434112234143213113432213444423132321313112133433113443324212133113343333243331344121414423424113211124213333431231234232443411131312424421431332314342331143344214123442241241142341442342341442434113334422213413334431223344142313234323342223312433111434212222233144114211234142214313331234232243433434433134122311334343241324323334311121421221343143111131433114343344343324412141414123244311342234112431242231322143343314321331314314214131213211424341144333341313214112222214343122321441412211242143132431411132114134321143321433233334414323142443331343243214311133243321343411232422223212331241123233322341211432111431244211344313141423132233144342112433223242222332333332132224123331322444413144234132212422431233132432312434113233344321312432442224124131332431433423424342424434432341234222313131234124213241233321114341122243322424233234431213122321342232333323334423222332331121124132133431333114341321341424234313132223142131122323321133322141444223423323433414124124211331333123343432132322321234224323333334322132411121312233412213233222233234214433244141313224333221112333433312141132213113323242133123141100000000000000000010000000012441231342334213212422431144132121411441122111132432431143413341413144213422414322433412100000000000000000000100000000000000000000000000000000000000000000123134231313333214323312234234111241322133141224424231411334132222333114334121312314214133224334321132111343311414422431222141423434221333132413141143123243422123424244341233134233313442233241321313233441414331233313111123113241441312214323332322333243111221433412113443142112112124213333321314232433123334314421434332312223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342232224222312211431442322241323413443422322434331442144231431214234123223134441214233322312323322413131441241323443231213234231244314123433323312222433332233234441223122112222434243434334323432323342132223312122123223432423214223312213222321314414434432211213131331212322224143234133131113224223442413344413112123444222114222313141223433132413311444442122431131122134124142142421214331141122242214412113232323312343114143444331431123213211111211131131212243324214344122314112343313113222242444334443432241242212221334112234132334342211233322242132342142214211224233441414142334323342133423343131223323222243131122224121242132441424211323322243241121000000000000000000000000000000000000000000003244444422434221311000000000214142231432000000001000000001434333344422221423241131224231132332311412414442342231411312321324234121411344332134223413431141123423134212223231413313411214131434341441422223343322242413212112241144331422133423323122214241234122323413211143422221441344122423424432334121442313412144121221422313234341414422141324223231113414324123114123344241334444234412342311413333214444111142214123224344213233313331111143121413231241243323223432334213211143233121314321412214223213144222332221334413243311322112233344421443334113344434241343411422241124113131113214443143144313322423123232433233443411231114132423242224122444314424122431222121213122122414133312441324213133133122211413141221211341342132424342342212431132212332233424131241323413331231242443233133212131441231432344211412323212441232442314233223121232332143121324133322423323324422233313341434141243144414423321221112133441343134343314241212431442422223413433323 313113331111433234142211223442411241123142421222144121322342114423123112124333232313244334433223331424123111121434333123434323343422222342442423213342124131123113311233124213213314232314424314412133213123211223412312244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313244144341134224124211313112411133123243442221432344212134134134314323414443424433342231231231441312312422423441223132111233141112131114343421233222412433121332242141221224342413312333341241223231424143422341141121131442333332321334331134212421123243413141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213411322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323132342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141214211123322114413221444311313311343144443143313331222412231324443331443234313324334212122124214232234214222234113112433131233242132131431241432214222241233121433322413442333334143312413441414421233221124311214433322124342123113333224123434343212132133412131342324431232221121441134123232122234333311222242211342221342333312133214212311143333133411234114211244332113143432143231222133334234242323112431322143324143214132341312443443214231421231322332413313123331344121331142334000000000000000000000000000000001000023314321134433431224442321412421112332443234234112411123422332432332113123121423441142213133424442444114333232344443113321221332142211121323211141124121314233332224243224142242111323441223223213322123443333142422132143224314233231441142344212111331413214214312342423132422144214422332133231314124122232343224134122441123431342242143224332224124223343133231431132221244424434241142233322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213333434231233442424411134332224423431332314144333143344214123442241243342141444342341442434313334423213414334431223344142313234323342223312433111414212222233144112211234342214313331234432243433434433132122313334343241324323334311121421221343143111131213114243344343324412143414123234311122234112421242231322343333314321331314334214131213213424321142333331311234134224142323122321441412211444143332431411132114134321143321433233334414323122123111343222213343233431343143211232242321413333441133213132323133233331413212211344313123423332233124124112233443232322112333332132224123313344444413144414132212122431233132432312434113233323141312132442221322231131231433422424342242212233223212242311111432342131223211123332423342422342232441112414431344143324212123442142342343332221141124134321421213312133333321442322313132223143313144222321333322141424223423323433434124123211232233313331232432342123232132141111334122113432221313233414213233222233234214233244341333224333421112131233312141132233113323224131323121300001000000000000000000000012241441342134213212424223342134341411443142333314412243343413323433234243442414314431432300000000000100000000000000000000000000000000000000000000000000000123112231313144214333132243434111243322333141224422231411334132222333114312423332411314222244334321133111113331414422431422441444412321313332233121123123243422123424244341233134233313441233241321313233441414331433313111123113241441312214323132322113224111221223412113341423414132124233333321314232433223334312141414332414224113242422124311143121231211212132244222134112424443233234433231423423121423321113331432131334433221423133222413142312324222313133241433134344133312421243223212433322434244222333231431242322241123412443412322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434134321432322342132223412124123224432323214223322213222341314114434432211213121331432324244143234133131333224223442413344413112123444222114222313124442311312212132223141344213123122112142142222113332213323244424244112331314333314341122331212321433221311331333431342311434411322232324124312112143113143421234242334223433243244212414112131222324134432211131112442132142144214211224233421414142334323341111212143321213442223214343322224321242132441424211323312143241320000100000000000000000000000000000000000000003244424222434223310000100000212122213231010000000000000002434333341312221411141331221231312332314332431442342231411312321324214121411344332134223413431141123423134212223231413313311214131434341441222223343322242413212112241144331422133423323122214241234122323413211143422221441344122423424432334121442313412144121223422311434321434222123322224212333414411323332141312423431322432233142331333333214222113342412123224144211333313331111143121413411241443323211232312111221322323321114341432232211241211422334421314413243413322333231324441113334213344414413343411422241124113134313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133334123432313333133332311413141221211341342132424342342212231132312312233442233223343133431232224123233132232131343211432122431312321221421432442314233223121232332143121324133322221123334422442131321442421241132214343323221132321333231444143413241213213242422223133233113 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121131123113311231124213213344432133221143232141313123211211414334221223324344232221434212432133234222323223143344313332431223223212121132421243314322333432311212112314143412414423113441243112334311233112323323324131242144443434222144411143112411123323243224421212344212134134134314123414443224433342231231231441312312422423441423132111233141112131114343421233222412413121112242141411224342423314233321241223231224343422341141121131442333332321334331114212421123243413141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433131323242234441121414324112111234411122344343411314112122434234133341344443331343333232441412132233344231122134122331123233331232423113422241233444331412314243141244233233143432111343131131412321141343323233131312112123144322133132223243214142213134323234211223231131123342244333143312411322244331431112112441221113133433412212312233132341114234442311313441114333431343322232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443233121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311411242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433231432414222441233141433324413442333334321412213414314421233443113334234433324324342121113333224123434141412112113412112324144143214424143233213331212314412211212244424213121444131111234224431243314311131323134414242114212113331121214121333122111112324421112124423412413124443414332321343421212134413223211324132413333344342314331113124134000000000100000000000000000000000000023114423214142312144414231232141144332343214234412413343221213232132121341141123431142411133424442444113333432344223313321231332142311131321211143144144331233323224243223142242111323443223223212322321341313442422134143424434311211221242322433111213313214332312342443112422324434222122143212332344122232343224334134443343331344222222134332224124223424311231122314123422242232123232234111234143213313432213444423132321313112113433143443324212123123341333243331322323434423224113311124213333414231233442423221134334424423431332314344333143344214123442241243342123424342341432432311334223213214222231423324112133224313322223134214344213414342211124112211234142234131131231414121242232431212424413134221221314323112223321221413343343311131213114243324343324412143414123234311122234112431242231423143333314321331311334214131213213424321144333341311434134222142321121343222232412444143134431411112114324321143321433231334414341322123111343222233243233431343143211232422223232331241333433322341213442111431244211344313141443112233324342114432221232334312333332332224123331324444413144414132212121431233112232312434113233323141312132422221144131332431213422424342424434432341234222311111432342131223211123332423342422342232431114431213122321342232333323334423222334331121324312331223213312333121344424224313132223143313142243321133324121242221421433224412144323431332323124343414434322341214224323333334344232411223332431432233212224413232412211222341331442331241234333431234141132233113321242133123141300000000000100000000000000012443231142112243212422431142132123411441122111314432431143433341433234241444312114431412300001000000000000000000000000000000000000000000000000000000000000122134233333134434323332433234111241322132243224422231411314132224333114312423332341332223222332141132111113333432444222222141423434321333332233121422123243422121424242341233134233313441233241321313233441414331233113111423113241411312214323332222132223141421233412113341422112312114213133321314232433223334312441434134414224113242422124311143121231211212132244222134112424443233234433231423423121423321113331432131334433221423133222413142312324222313133241433134342133312421243223212433322434244222313231431242322341123412443412342434333324322313431214234123223134441234332323342323322413131421221323443231133232231244314123433323312222232332233234431223122112222434243434333323432323342132223312122121243432423214223312213222321314414434432211213131331212322324143234133131113224223442413342413132343444222114222313141223433332432332223141344213121332114144142122411332313343244244214412113232323312343114143444331431123213211111211132131212243324214344122314132143113113222242444324443432241242212221334112234132334342211233322242132342142214211224233441414142334323342133423343131223323222243131122224121242132441424211323322243241321000000000000000000000000000000000000000000003244444422434221311000000000214142231432000000001000000001434333344422221423241131224231132332311412414442342233221314421142311141111122112111131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221434234114231244321224122313443324113234341414422141324223231313414324123114123344243334444234412342311413333214444111142214123224344213313313331111143121413231241243323223432334213211143233121314321412214223213144422332221332223443311322112243344221443332113344434211143411424241124113434313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133334123432313333133332311413141221211341342132424342342212231132312312233442233223343133431232224123233132232131343211432122431314321221421432442314233223121232332223114342333322423323324422233313341434141243144414423321221112133441343134343314241212431442422223413433323 313113331111433234142211224444211221123442423222144121322341114423123112142221232312314234433223334424323111121434333121434323343422222344322343211342124131123113311231124213223312432334424344432133344123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414423113441243112334311233112323323324131242144443434222144411143112411123323243224421212344212134134134314323414443424433342231231231441312312422423441223132111233121112131114343421233222412433121332242141221224344413312233321222212233442323222341133323131322423332321334311134212421123243413141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141322143213342232444242432124242224334223231214331111144412313212232312423443112234113213413322414433323222332444111311433333343244214421142212123112131244431124124141234333114122332234113111144231331333132232443432124111322233322134124331223232343432223111222243223422222414414223111244233242123444331323113331432421121343323233131312112123144322133132223243214142213134323234211223231131123342244333143312411322244331431112114441223233133433412232332313112443114114442311313443114333221344141232232122222443242232332323421222312332111211333122433144434214333341413222122422323331333112334231443133112331444234412122342144322241314321422314123444131334112113241333122331431111412333214223423143123231243432242331114324344334131443231233444431113314212122441431214244242144414442421241343233212121322133232221322344222213243421134334132224211444434142443221311121333132312322243341332434414213132321141143413131334324344324412233334414431423432431244333412232143334242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433241432414222243233121231322413442333334321412213414414221233221124311214421322124342121311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413122143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144314231322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213433234231233442223411114132242321244111132344313211341232331224423433334341424424133232332333332223131434224213214124442333334111124243332434314413432222233344132232314142214313331214432243433434433132122313334343341324323334311121421221343143111131213114243344343324412143414123234311122234112431242231322143333314321331314334214131213213424321142333341311434134222142321121343222232412444143132431411132114134321143321433233334414323142443332321443414313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144214132212122431233132432312434113233323141312132442221322231131231433423424322424434432341234223333313232322233441233321112341122243322424233234431213122321342111333322332423222332323322144312331223213312333121344424224313132223122113142223321133324141422421223423233414124123211332233313331232432322321234224323333334322113431223432431232213213222413232412213344141313224333221112333433312141132213113323224131321123100000000100000000000000000012441232124134413212422223122134321213323344331334231241321413141413142213444412314431412100000000000000000000000000000000000000001000000000000000000000000142134233313343214333132233234111241322133143224424233411314132224333114312423332341332223222332141132111113333432444222222141444412341313332233121122341233244331442222323133332432313412213241341331233241414331233113111423113241411312214343332222132223141421231412113341422412312114213333321314232433223334312441434332414224343242422124341243321231411434132244222113132212443233222433433423221143423321233331421113134433223243123222413324332324242313431241441334142133312423423223212431342232224222313211431242322241321413443421322414333324322313341234434323223334441234232322342323342413131421421324441441233234231444114123333343312222232332233234441223122112222434223434334423432323342132223312142141323432424214223312213422321311414434432211213131331211322224143234133131113224223444413344413112123444222114222313121223433132413311423141344213121322314144142122411332313343244244214412113232321332343114143444131411123331311131413332133432213224212322322344134113133143222342442133421233223242414414114112224132334342231233312224314344414214211224233443413142333323342111212123323311422132113343344424113324114233421333323322241432120000000000000000000000000000000000000000100003244444424234223310100000000214142231432000000000000100002434333324414221423243143414432134333134414414442342231411312321324234121411344332134223413431141123423134212223231413313411214131434341441224221343322244213212112241144331442133423121323422322412421121433211123422241223344122421424434114231244121224122313443322113212223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211213313331111143121413231241243323211232314111221322333321114323432212411241241234114221314223443431322112233324421443334211341434213143243422443312133111111414443143144313322243443233433233443411231114112223442224122444314424332213322343431242122212133314143432313333133121231433331411213331343312422424132412413132312134133424121241123113332422422443233132232111441231432344213412323212421234244314233421221112332223114322333322423323324422233313341434141243144412343323221132321333231444143413241412411241322223133233113 313113411133411412322213214224243221133442423222134121434142114423133112124333232313244234231442114414322241443232142321214341343424222342442423213342124131123113311233124213213314232314424314412133213123211223412312244214322244232221432212432133234222323233122144131313231421423212323114421241312142313232313232112114143442414423113441223112334311233112323323324133244144341134224124211313112411133123243442221432344212134134134314323414443424433342231231231441312312422423441223112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323124423341114323324124222213312124231433223122242344314333114134112131323424422131144312412321441222223422222431334244224142223233413111311144444313212232312423423112234123213413322414414323222132444111311433333343242234421122412123134111234414322324341211133114141322234333313144241111143132232423432124111322233122134122331223232343432423111424223223424231412314243141244233233144444311424113331432421141343323231131322312123123121433132241323212142211332223234211223231131323442244333143312213142244134431114334431223213133234222232332313312443114214242311313443114333221343322214233322422413242232342341421222112432113211332342233144434214333341413222422422323311333112324231223113133313224434412242342124222241112323222312443442131334342143141333122331431141412323214223423243123213243412244333111324324114133221312411444431144314232122441411234241122144214243223441343233213123322133232221322344222213443421134334132222211444434142443221312421333134312134223343332412214211412121141143213131334324444324412233334414431423432431242333412244311411422413441432311313314223413441333124231431214422311323132342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141234211123322114413221444311313311343144443143313331222412231324443331443234133324334212122324214232214414222212331134213112111221132133433241432414222243233121231322413442333334321412213414414221233221124311214421322124342121311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413122143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112112443212232434233324221313242112421321343423441142211133424442444113333232144243311321431332142311121311221143144144334233322224243223141242111321443221223213324323411333143222222331242334231431443132344212441313412214332314342443132422324434222322143212332124122232443224314122441123431344442143224114412323444343333231431132221244424412141232444322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213433234231233442223411114132242321244111132344313211341232331224423433334341424424133232332333332223131434224213214124442333334111124243332434314413432222233344132232314142214313331214432243433434433132122313334343341324323334311121421221343143111131213114243344343324412143414123234311122234112421242231322143343314321331314334214143233213144321142333331111214112222212323111343222233231242121142231411132114134321143321433233334414323142443332321443414313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144414132212121431233112232312434113233323141312132422221144131332431413422424342242212233223212242311111412342131223211123332423342422342232441212414431344143324212123442142342343332221141124134321421213312133333321442322313132223143313144222321333322141424223423323433434124123211232233313331232432342123432132141111334122113432223432431232213213222413212412211242324331244331223112333433314322314214314133324131343321300000000000100000000000000031443231322332211431422431142132123411441122111314432431143433341431142213442424322431234301000000000000000000000000000000000000000000000000000000000000000122132233313134234334312443432313411132313121224424331411334132222333314312423332341332223222332144113111113331414422431422143443432323213312233121422341233244331442222323113334212311242413123123133233231313121213121224123332233443333224124332344133223111221233232113443142112112124213333321314232433223334314441433332414224343242422124341243321231411434132244222113132212443233222433433423221143423321233331421113134433223243123222413324332324242313431241441334142133312423423223212431342232224222313211431242322241321413443421322414333324322313341234434323223334441234232322342323342413131421421324441441233234231444114123333323312222232332233234441223122112222434223434334423432323342132223312142141223432424214223312213422321311414434432211213121331432324244143234133131331132423212411312413132343342143312222313141223433332432332223141344213121322114144142122411332313343244244214412113232323312343114143444331431123213211111211132131212243324214344122314132143113143222342442133421233223242414414114112224132334342231233312224314344414214211224233441414342334323341111212143321213422223214343322224321242132441424211323312143241320000000100000000000000000000000000000000000003244424222434223310000100000212124233432001000000000000002434333341312443323141331224211132332311414214322133413221314421142311141111122112111131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221432234114231244321224122313443422313234223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211211113111121113121413211241243343211232314111221322333321114321432212411241241222332221334223441431322332231324421143334223344434241343411422241124113114113233441143124331342441441213433233443411231114312223442224122444314324322431222141431122122414133312441324213133133122211413141221211341342132424342342212431132212332221424121241321113332432424143233132232131311211433342431314323211421232442314233223121232332223114342333322423323324422233313341434141243144414423321221112133433341444121344241212411211344441131221321 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121131123113311231124213213344432133221143232141313123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213411322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244114431112114441223233133434412212332313312443114214242311313443111333221343322232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323112342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141214211123122114413221444311313311343144443143313331222412231324443331443234131344332242122124214232234214222212331134213112111221132133433241422412222221231121433322413444423112321422221341432241432221324111432433322124132123113343224123434343212132133412331342324431232221121441134123232122234333311222242211342221342333312133214412311143333133411234114211244332113143432143231222133334232421112124423414411124421231114143312443443232231441431342332411311123341342121331344114100000000000000000000000000000000000023114323214143312242414221211141342334413334212432213324442333242132121341141422441342213133424444444114333233334443133321221133142311123321313343324144314231322224243223342242331323441223223212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431411433333432413244242332113333112133433143443324212133111343333343331322141434423434113311121221341231243433431423413334132242341244111132324313211141232331224423433334341244342341442434313334423213414334431223342142313234323342123312433111434212222133144112211234342214313331214432243433434433132122313332343241324323334311123421221343143111131233114343344343324412143414123244311342234112431242231322143333314321331314334214131213213424321142333341311234134222142323121343222232412442143132431411132114124321143321433243234414343122443331343243214311233233321343411232422223212311241121233322141213432111431244411344313141423132233144342112433223242222332333332112224121331324444431144434132212422431233132432312434113233344321312432442224124131332431433422424342424434432341234222311111432342131223211123332423342422342232431114431213122321342232333323334423222334331121324312331223213312333121344424224313132223143313142243321133324121242221421433224412144323431332323124343414434322341214224323333334344232411223332431432233212224413232412211222341331442331241234333431234141132233113321242133123141300000000001000000000000000012443231142112243212422431142132123411441122111314432431143433341433234241444312114431412300001000000000000000000000000000000000000000000000000000000000000122134233333134434323332433234111241322132243224422231411314132224333114312423332341332223222332141132111113333432444222222141423434321333332233121422123243422121424242341233134233313441233241321313233441414331233113111423113241411312214323332222132223141421233412113341422112312114213133321314232433223334312441434132414224343242422124311243321231411434132312234333112214443233222433433423221143423321233331421113134433223241123222413324332324222313131241441334342133312423423223212431342232224242313211431242122341143412441422422434331442144233431214234123223134441214232322342323322413131421221323443231133414411244114143423323314222232132233434441222142122422434241234134323232323342132223312322123224432323231223323133222321314414434432211213121331432324224143234133131331132423212233312413112343342143312222313141223433332432332223141344213121322114144142122411332313343244244214412113232321332343114143444131411123331311131411332133432213224212322322314134113113113421234242334223432243244212414112131222324334432211231312422132142144214211224233443413142334323342111212124323311422132113343122224321242132441424211323312143241320000000000001000000000000000000000000000000003244424442434223310001000000212122213232100000000000000002434141141312441311121333221211312132314332431442343431213214423122311121411324312134223413231221323412312431323231413313311214131441123244432441131134312231334434343323313224311241123122214222414122343131433421222422223341322241434434112233244321224122313423322113432223331224343324224212333434411343332141312423334444234412324333412123224244233321232433143112421233313331111143121413231241243323223432334213211143233121314321412214223213144234114221134224443411344333231322421113334223344414413143411422241112333131133233441141124331342441441213433233443411231114312223442224122444314324322431222141431122122414133312441324213133133122211413141221211341342132424342342212431132212332221424121241321113332432424143233132232131311211433342431314323211421234244314233421221112332223114322333322423323324422233313341434141243144412324131422312131441333134343444243432411242422223413433323 313113411133211412322213214224243221133442433222134121434142114423123112124333232313244334433223331424123111121434333123434323343422242342422343213342124131123113311231124213213344432133221143232141313123211211414334244223324344232421432233332314234222131421122144131313231421443212321114421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341133323133322421312321334331114132421123213413344144222131323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141322143213342232444242432124242224334223231214331111144412313212232312423443112234113213413322414433323222332444111311433333343244214421142212123112131244431124124141234333114122332234113111144231331333132232443432124111322233322134124331223232343432223111222243223422222414414223111244233242123444331323113331432421121343321311131312112123124321423132323223214142213134323434211223231131123342224333143312411322244111431112112441221113133434412212312233132341114234442311313441114333421343322214233322422413224232132321221222112432113211332142233144414214333321213242124422323311333312324231223133133311224434412242342124322241312323222312443442131334342143141333122331431341412331214223423213343211443432242133314324324334131443231233244431314314312122443131434244242114414442421241343233213323322333232323323122424213222413212134332224431444414124424223111121313132342334223343312434214211412121141143213131334324444124412433334414431423432231244133412232143434421413441432311313314223413441333124233431214422311323112342144322221121114211111431142121214324132443443421313432243213134413222131142321221312432321141232234243123332232213444311232111141124423321113333334422211222433131241214131342232242122124214232234214222212331134213112111221132133433241422412222221231121433322413444423112321422221341432241432221324111432433322124132123113343224123434343212132133412331342324431232221121441134123232314232211212244444113121444331131334224431243334311331321434412242114212313313143432343231222133334232421112124423414411124421231114143312443443232231441431342332411311123341344121331142332100000000000000000000000000000000000023314321134433431242442231412441112112443212232434233324221313242112421321343423441142211133424442444113333232144243311321431332142311121311221143144144334233322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334333212332124122232443224314122441123431344442143224114412323444343333231431132221244424412141232444322431411433333432413244242332113333112133433143443324212133111343333343331322141434423434113311121221341231243433431423413334132242341244111132324313211141232331224423433334341244342341442434313334423213414334431223342142313234323342123312433111434212222133144112211234342214313331214432243433434433132122313332343241324323334311123421221343143111131233114343344343324412143414123244311342234112421242231322143343314321331314334214143233213144321142333331111214112222212323111343222233231242121142231411132114124321143321433243234414343122443331343243214341233233321343411232422223212311241121233322141213432111431244411344313141423132233144342112433223242222332333332112224121331324444431144434132212422431233132432312434113233344321312432442224124131332431433422424342424434432341234222311111432342131223211123332423342422342232431114431213122321342232333323334423222334331121324312331223213312333121344424224313132223143313142243321133324121242221421433224412144343431332323124343414434322341214224323333334344232411223332431232233212224413232412211222341331442331241234333431234141132233113321242133123141300000000001000000000000000012443231142112243212422431142132123411441122111314432431143433341413234241444312114431412300001000000000000000000000000000000000000000000000000000000000000122134233333134434323332433234111241322132243224422231411314132224333114312423332341332223222332141132111113333432444222222141423434321333332233121422123243422121424242341233134233313441233241321313233441414331233113111423113241411312214323332222132223141421233412113341422112312114213133321314232433223334312441434132414324313242422334311143123233213414334244224133112424233233224413433424223143423321233331421113134433223243123222413322332324222314131241441332342113132243223213212433322432424222313211431242322341123412443422322434333324322313343234434321223134442234232322342323342413131221421324441441233234231444112123333343312222433312233234441223122112222434243434334333432323342132223312322123224432323231223323131232321334434212432433234133341432124224143234133131331222223442211342413112123444142114241111121223433132413311444442122431131122134224142122421214331141122244214412113232323412143414143444331431123213213111211342311434411322212124122414312343313342242342412134423432223422412414114112224132334342231233312224114324412121123412111141234324314423132433423343131223323222243131122243111224434243241211241124123231340010000000000000000000000000000000000000000004244342442412423130000000010412122231231100000000000000002434141141412221423241133414232134333114414414442342231211314441122311241411124314134131413231241142212312432241442232133333432313241123244424221343322244213212112221144131442133423121323422322412421121433211123442222223321322221434434114231244321224122321223422113212223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211233313331111113121413231441243323221432314111221142233321114323432214213241141222332221334413243311322112233344421443334113344434241343411422241124113114313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133334123432313333133332311413141221211341342132424342342222231132312312233442233223343133431232224123233132232131343211432122431312321221421432442314233223121232332143121324133322221123334422442131321442421241232214343323222312131441331444121344241412411241322223133233113 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121131123113311231124213213344432133221143232141313123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421223314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213411322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244114431112114441223233133434412212332313312443114214242311313443111333221343322232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132432442213412124341143233131334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323112342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141214211123322114413221444311313311343144443143313331222412231324443331443234131344332242124124214232234214122212331134213112111221122133433231422412224221231121433322413444423112321422221341432241432221324111432433322124132123113343224123434343212132133412331342324431232221121441134123232122234333311222242211342221342333312133214412311143333133411234114211244332131141214121233122111112324421112124423412413124143414332321142221212232431421233322332413333124241342121331344114001000000000000000000000000000000000023114323214143312242414221211141342334413334212432213324442333242132121341141422441342213133424444444114333233334443133321221133142311123321313343324144314231322224243223342242331323441221223213124323411333143222222331242334231431443132344212441313412214332314342443132422324434222322141231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213333434231233442424411134332224423431332314144333143344214123442241243342123444424331434412331222242213214224231223324112133224313322224134214344213412222233342312231314122214131131231414121242232431212424413134221221314323112223321221413343343111131213114243324343324412143214123234311122234112421242231323143333314321331314334214131213213424321144333341311234134222142323121343222232412442143132423312333333124143321141413233332212343142443331343243214311133443321343411232422223212331241123233322341211432111431244211344313141423132233144342112433223242222332333332132224123331322444413144214132212122431233132432312434113233323141312132442221322231131231433423424342424432432341212242311111432342131223211123332423342422342232441112414431344343324212123422132342343332221141324134333431331314341331141222222311333322322331122323323111122141242221421433224414144324431332323124343414432322341214224123333334344232411223332431432233212224413232412211222341331442331241234333431234141132233113321242133123141100000000010000000000000000012441231342334213212422431144132121411441122111132432431143413341433144213222414322433412300000000000000000000000000000000000000000000000000000000010000000122132233313344214333112244434111243322332241244244233423133343242332114332421312314214133224334321132111343311414422431222141444312321313332233121442321431224321222422223233334212311442213223121133233231313121211121221123113241441312214323332322333223111221233412111341422112132124233333123314222233223333312141414332412223311211224122313143321231211434132344234333112214443233224413433423221143423321233331421113134233223243123222413324332324242313131241441334142133312423423223212431342232224222313211431242322241323413243422322414333324322313343234434323223334441234332322342323322413131421221123443231133234231244114123433323312422212332231234441223122112222434243234134323232323342132223312322123224432323231223323131232321334434212432233213331331432322224143234133131331132423212213112413134341424222114222313141223433132413311444442122431131122134124142122421214331141122244214412113232323412143114143444331431123213213111211342311434411322212124122414312343313113222342442134423433223242412414114112224132334342211233322242132342142214211224233441414142334323342111212123323311422132113343344224121242132441424211323312143241320000000000001000000000000000000000000000000003244424442414223310001000000212124233432000100000000000002434333341312221411141331221231312332314332431442342231411312321324234121411344332134223413431141123423134212223231413313411214131434341441224221343322244213212112241144331442133423121323422322412421121433211123422241223344122421424434114231244121224122313443422311234341414422141324223231113414324123114123344241334444234412342311413333214444111142214123224344213313113111323113121413411241443323211232312111221322323321114341432232211241211422334421314413243413322333231324441113334213344414413343411422241124113134313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133334123432313333133332311413141221211341342132424342342212431132312312233442233223343133431232224123233132232131343211432122431312321221421432442314233223121232332143121324133322221123334422442131321442421241232214343323221132321333231444143413241213213242422223133233113 313113411133411412322213214224243221133442423222134121434142114423133112124333232313244234231442114414322241443232142321214341343424222342442423213342124131123113311233124213213314232314424314412133213123211223412312244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213411322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431114334431223213133233222232332313312443114214242311313443111333221343322232333322222443242232342341421222312332113211333322433144434214333341413222422422323311333112324231223133133313224434412242342124322241112323222312443442131334342143141133122331431141412323214223423243123213243412244333111324324114133221312411444431144314232122441411234241122144214243223441343233213123322133232221322344222213443421134334132222211444434142443221312421333134312134223343332412214211412121141143233131314322344324212233334413431443432231244333412232143334422413441432311313314223413441333124231231214432311133311322144324221121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211224433131241214131344332242124124214232234214122212331134213112111221122133433231432414224241233121433322413442333334321412213414414421233443113334234233122142341341131131224341434343212132133412331342324431232221121441134123232122234333311222242211342221342333312133214212311143333133411234114211244332113143432143231222133334234242323112431322143324143214132343312443443214231421231322332413313123331344121331142334000000000000000000000000000000001000023314321134433431222442321412421112332443234434112411123422332432332113123121423441142213133424442444114333232344444113321221332142211121323211141124121314233332224243224142242111323441223223213322123443333142422132143224314233431221242122433111311413214332314342443132422324434222322143212332144122232343224334132243143331344222222124332224124223424311431122314123424222232123232234112234143213313432213444423132321313112133433143443324212133113343333243331322121434423424123211124213333434231233432423411334332242321244111132344313211341232331224423433334341442342341442434113334422213414334431223344142313234323342223312433111434212222233144114211234142214313331234232243433434433134122311334343241324323334311121421221343143111131433114343344343324412141414123244311342234112431242231322343343314321331314314214131213213424341144333331311234134224142323122321441412211444143332431411132114134321143321433233334414323322123111343222213343233431343143211232242321413333441133213132323133233331413212211344313123423332233124124112433443232322112333332132224123313344444413144414132212121431233112232312434113233123141312132442221124131332431233423424342424434432341434222213131234124213241233321114341122243322424233234431213122321342232333323334423222332321121124134333431333114341321341424234313132223143313142223321133322141442241423322233414144324212331323124343434432322341214224323333334342232432141312233412414213222233234212233344141313224311421112133431312122312214314133224131143321300000000000010000000000000012441231342134213232224223142134321411343342331312412241341211343411142213444414314431412100000000000000000000000000000000000000001000000000000000000000000142134233313343214333112233234111241322133143224424233411314132224333114312423332341332223222332141132111113333432444222222141444412341313332233121122341233244331442222323113332432313412213241341331213241414331233113111423113241411312214323332222132223141421233412113341422112312114213133321314232433223334312441434132414224343242422124311243321231411434132314234333112214443233222433433423221143423321233331421113134433223243123222413324332324222313131241441334342133312423423223212431342232224222312211431242322241323413443422322434331442124211431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434134321432322342112223412124123224432323214223322213222341314114434432211213121331432324244143234133131331132423212433312413132343342143312222331321442311312212132223141344213123122112142142222113332213323244444244112331314333314341122331212321433221311331333431342311434411322232324124312112143333143222342442133421233223242414414114112224132334342231233312224314344414214211224233441414342334323341111212143321213422223214343322224321242132441424333323322241432120000000000000000000000100000000000000000000003244342442432441310000000010234142213231010000000000000002434333341312221411141331221231312332314332431442342231411312321324234121411344332134223413431141123423134212223231413313411214131434341441224221343322244213212112241144331442133423121323422322412421121433211123442222223321322221434434114231244321224122313423422311212341414422141324223231113414324123114123344241334444234412342311413333214444111142214123224344213333313331111143121413231241243323223432334213211143233121314321412214223213144422334421314413243413322333231324441113334213344414413143411422241112333114313234241123124331342441443413231211221242423332134243422443344324314324324213344343211122124244133112441324233133132121231431331221211142342132422342342212431112212332221424121241321113332432424143233132232131311211432342431314323211421234242334243223223213422143321124133342221123334422232131321434421241232214323321221112131433343134343313323212431442422223413433323 313113411133411412322113214224243221133442423222134121434142114422123112124333232313244234431223334421323114121434333121434123323422242312422343213342124131123113311233124213213314232314424314412133213123211223412312244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144333143312411322244331431112114441223233133433412232312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443233121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311411242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131344332242124124214232234214122212331134213112111221122133433231422412224221231121433322413444423112321422221341432241432221324111432433322124132123113343224123434343212112133412331342324431232221121441134123232314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144334233322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213333434231233442424411134332224423431332314144333143344214123442241243342123444424331434412331222243213214224231223324112133224313322224134214344213412222233342312231314122214131131231414121242232431212424413134221221314323112223321221413343343111131213114243324343324412143214123234311122234112431242231323143333314321331314334214131213213424321144333341311234134222142323121343222232412442143132423312333333124143321141413233332212343142443331343243214311133243321343411232422223212331241123233322341211432111431244211344313141423132233144342112433223242222332333332132224123331322444413144434132212422431233132432312434113233344321312432442224124131332431433423334324442212233223212242311111432342131223211123332423342422342232441212414431344143324212123442142342343332221141122134133431331334341331141222222311333322322331122223121133342321422241423322233414144324212311323123343434432322341214224323333334342233431121313233414213233222233234214433244341333224333421112131233312141132233113323224131323121100000100000000000000000000012241441142134213212424223342134341411443142333314412243343413323433234243442414314431434300000000000000000000000000000000001000000000000000000000000000000122132233313144214323332233234111241322133141224424231411334132222333314312423332341332223222332144133111113331414422431422141444412321313332233121123123243422123424244341233134233313441233241321313233441414331433313111123113241441312214323132322113224111221223412113341423414132124233333321314232433223334312141414332414224113242422124311143121231211212132244222134112424443233234433231423423121423321113331432131334433221423133222413142312324222313433241433134344133312421243223212433322434244222313231431242322341123412443412342434333324322313431214234123223134441214233322312323322413131441241323443231213234231244314123433343312222433312233234441223122112222434243434334333432323342132223312322123224432323231223323131232321334434212432433234133341432124224143234133131331222223442211342413112123444142114241111121223433132413311444442122431131122134224142122421214331141122244214412113232323412143414143444331431123213213111211342311434411322212124122414312343313342242342412134423432223422412414114112224132334342231233312224114324412121123412111141234324314423132433423343131223323222243131122243111224434243241211241124123231340010000000000000000000000000000000000000000004244344442412423130000000010412122231232100000000000000002434141141412221423241133414232134333114414414442342231211314441122311241411124314134131413231241142212312432241442232133333432313241123244424221343322244213212112221144131442133423121323422322412421121433211123442222223321322221434434114231244321224122321223422113212223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211233313331111113121413231441243323221432314111221142233321114323432214213241141422332221332223443311322112243344221443332113344434211143411424241124113434313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133334123432313333133332311413141221211341342132424342342212231132312312233442233223343133431232224123233132232131343211432122431312321221421432442314233223121232332223114342333322423323324422233313341434141243144414423321221112133441343134343314241212431442422223413433323 313113331111433234142211223442411241123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422222342442423211341124131111131331411144313213314232314424314412133213123211223412312244214322244432221432212432133434222133423143344113332433223223212121132441143314344313212111234232314143442214423113441243114334331233212323123324133244144341134224124211313112411133123243442221432344212134134134314323414443424433342231231231441312312422423421223132111233141112131314343421233222412433121332242141221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213411322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232333322222443242232342341421222312332113211333322433144434214333341413222422422323311333112324231223133133313224434412242342124322241112323222312443442131334342143141133122331431141412333214223423143123231243432242331114324344334131443231233444431113314212122441431214244242144414442421241343233212121324133232221322344222213243421134334132224211444434142443221311121333132312322243341332434414213132321141143233131314322344324212233334413431443412413424333412232143334422413441432311313314223413441333124231231214232311333311322144324221121114211111411142121412124132223433421313412442313434411222131142321221312432321141212211123322112413221444311313311343124243143313331222422211324433331413234133324334212122322134214234214222212331134213112111221132133433241432414222243233121231322413442333334323412213414414221233221124311214421322124342123311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144334233322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213333434231233442424411134332224423431332314144333143344214123442241243342121444424331434412331222243213214224231223324112133224313322224134214344213412222233342312231314122214313331214432243433434433132122313332343241324323334311123421221343143111131233114343344343324412143414123244311342234112421242231322143343314321331314334214143233213144321142333331111214112222212323111343222233231242121142231411132114124321143321433243234414343122443331343243214311233233321343411232422223212311241121233322141213432111431244411344313141423132233144342112433223242222332333332112224121331324444431144434132212422431233132432312434113233344321312432442224124131332431433422424342424434432341234222311111432342131223211123332423342422342232431114431213122321342232333323334423222334331121324312331223213312333121344424224313132223143313142243321133324121242221421433224412144323431332323124343414434322341214224323333334344232411223332431432233212224413232412211222341331442331241234333431234141132233113321242133123141300000000001000000000000000012443231142112243212422431142132123411441122111314432431143433341433234241444312114431412300001000000000000000000000000000000000000000000000000000000000000122134233333134434323332433234111241322132243224422231411314132224333114312423332341332223222332141132111113333432444222222141423434321333332233121422123243422121424242341233134233313441233241321313233441414331233113111423113241411312214323332222132223141421233412113341422112312114213133321314232433223334312441434132414224343242422124341243321231411434132244222113132212443233222433433423221143423321233331421113134433223243123222413324332324242313431241441334142133312423423223212431342232224222313211431242322241321413443421322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114123433323312222232332431214441223122112222414243434333323432323342132223312122121243432423214223312213222321314414434432211213131331212322324143234133131113224223442413344413112123444222114222313124442411312212132223141344213123122112142142222113332213323244424244112331314333314341122331212321433221311331333431342311434411322232324124312112141113143421234242334223432243244212414112431422324134432211131112442132142144214211224233421414142334323341111212143321213442223214343122224321242132441424211323312143241320000000100000000000000000000000000000000000003244424222434223310000100000212124233432001000000000000002434333341312443323141331224211132332311414214322333413221314421142311141111122112111131213233243142212312432241442232133333432313241123244432441131122244213212112241144331442133423121323422322412421121433211123442222223321322221434434114231244321224122313443422313234341414422141324223231313414324123114123344243334444234412342311413333214444111142214123224344213311113111111143121413231241243323223432334213221143233121314323412214223213144222332221334413243311322112233344421443334113344434241343411422241124113114313234241123124331342441443232433233443411231114132423242224122444314424122431222121211143144444141112141324232111412122211211143223433341213114242424132212413334224332233424131241323413331231242443233133212131441231432344211412323212441232442314233223121232332143121324133322221123334422442131321442421241232214343323221132321333231444143413241213213242422223133233113 313113331111433234142211224444211221123442423222134121434142114423133112124333232313244234231442114414322241443232142321214341343422242342422343213342121131123113311231124213213344432133221143232141313123211211414334244223324344232421432233332314234222131421122144131313231421443212321114421241312142333432311212112314143412414423113441243112334311233112323323324131242144443434222144411143112411123323243224421212344212134134134314123414443224433342231231231441312312422423441423132111233141112131114343421233222412413121112242141411224342423314233321241223231224343422341141121131442333332321334331134233221323313411141224222331323124423341114323324124222213312124231433223122242344314333114134112131343424422131144312412321443342432444242432124242224334223231214331111124412333212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312332113211333322433144434211333341413222422422323311333112324231223133133313224434412242342124322241112323222312443442131334342143141133122331431141412323214223423243123213243412244333111324324114133221312411444431144314232122441411234241122144214243223441343233213123322133232221322344222213443421134334132222211444434142443221312421333134312134223343332412214211412121141143233131314322344324212233334413431443432231244333412232143334422413441432311313314223413441333124231431214422311323132342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141214211123122114413221444311313311343144443143313331222412231324443331443234313324334212122124214232234214222234113112433131233242132131431241432414222243233121231322413442333334321412213414414221233221124311214421322124142121311131442123222343234132333112132324124143212234321433134123432314232211212224444113121444331131334224431243334311331321434412242114212312331141214121233122111112324242323112431322143324143214132343312441443232231421231322331433333124342314131131144332000000000000000000000000001000000000023334321134143432222312321412421142312441232234112411343422332432132121323141423441142213133424444444114333232344443113321221332142311123321313143124144314233322224243223342242111323441221223213324323441333142422132143224314211211221242322433111313413214332312342443132422324434222122133212332124122232343224314122441123431344242143224114412323444343333231431132221244424412141232444322431411433333432413244242332113333332131411343243314242133313343341241211122321434423434113311124213433234231233442223411114132242321244111132344313211341232331224423433334341424424133232332333332223131434224213214124442333334111124243332434314413432222233344132232314142214313331214432243433434433132122313334343341324323334311121421221343143111331233114343144343324412143414123244311122234112421242231342143333314321331314334214131213213424321144333331311234134224142323122321441412211444143332223332333314122121323341211433312432143322123111343222213343233431343143211232242321413333441133213132323133233331413212211344313123423332233124124112433443232322112333332132224123313344444413134212314434142234423432441114212331331324144134444242311324133111211433423334324442212233223212242311111432342131223211123332423342422342232441112414431344143324212123442142342343332221141122134333431331334341331141222222311333322322331122223121133342321244223423323433434124123211232233313331232432342123232132141113334122113432141312233212413213222413232412211242341333224333241112333433312122312214314133324131321121100100000000000000000000000012441231342334411412424223144134321411443142331314432241323413323411144213422414322431412300000000000000000000000000000000000100000000000000000000000000000122234133313333214333112444432111211132333143224424231411334132222333114312423332311332223224222321132111113333414422431222141444412321213312233121122341233244331442222323113332432313412213241341331233241414331433313111123113241441312214323132322113224111221233412113341423414132124233333321314232413223334342141414332312223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342432224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434134321432322342132223412124123224432323214223322213222341314114434432211213121331432324244143234133131331132423212433312413132343342143312222313141223333332432332223141344213121322114144142122411332313343244244214412113232323312343114143444331431123213211111211132131212243324214344122314132143113113222242444324443432241242212221334112234132334342211233322242132342142214211224233441414142334323342133423343131223323222243131122224121242132441424211323322243241121000000000000000000000000000000000000000000003244444422434221311000000000214142231432000000001000000001434333344422221423241131224231132332311412414442342231411312321324234121411344332134223413431141123423134212223231413313411214131434341441422223343322242413212112241144331422133423323122214241234122323413211143422221441344122423424432334121442313412144121223422313412341434224123312224212333434424323132143342243334444234412344333413123224244233321232433143112421311113111111143121413231241243323223432334213221143233121314321412214223213144222332221334413243311322112233344421443334113344434241343411422241124113134313234241123124331342441443232433233443411231114132423242224122444314434122431222121211143144444141112141324232111412122211211143223433341213112242424132212413334224332233424131241323413331231242443233133212131441231432344211412323212441232442314233223121232332143121324133322221123334422442131321442421241232214343323221132321333231444143413223212431442422223413433323 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121131123113311231124213213314232314424314412133213123211223412312244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312314313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222331323124423341114323324124222213312124231433223122242344314333114134112131343424422131144312412321443342432444242432124242224334223231214331111124412333212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133434412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443233121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311411242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433241432414222243233121231322413442333334321412213414414221233221124311214421322124342121311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413122143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144314231322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213433234231233442223411114132242321244111132344313211341232331224423433334341424424133232332333332223131434224213214124442333334111124243332434314413432222233344132232314142214313331214432243433434433132122313334343341324323334311121421221343143111131213114243344343324412143414123234311122234112421242231322143333314321331314334214131213213424321142333341311434134222142321121343222232412444143132431411132114134321143321433233334414323142443332321443414313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144214132212122431233132432312434113233323141312132442221322231131231433423424322424434432341234223333313232322233441233321112341122243322424233234431213122321342111333322332423222332323322144312331223213312333121344424224313132223122113142223321133324141422421223423233414124123211332233313331232432322321234224323333334322113431223432431232213213222413232412213344141313224333221112333433312141132213113323224131321123100000000100000000000000000012441232124134413212422223122134321213323344331334231241321413141413142213444412314431412100000000000000000000000000000000000000001000000000000000000000000142134233313343214333132233234111241322133143224424233411314132224333114312423332341332223222332141132111113333432444222222141444412341313332233121122341233244331442222323133332432313412213241341331233241414331233113111423113241411312214343332222132223141421231412113341422412312114213333321314232433223334312441434332312224311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342432224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434134321432322342132223412124123224432323214223322213222321114414432422211213131231212314224443412111133111224223442213344413112123444222114222313124442311312212132223141344213123122112142142222113332213323244424244112331314333314341122331212321433221311331333431342311434411322232324124312112141113143421234242334223432243244212414112131222324134432211131112442132142144214211224233421414142334323341111212143321213442223214343122224321242132441424211323312143241320000100000000000000000000000000000000000000003244424222434223310000100000212122213231010000000000000002434333341312221411141331221231312332311414414442342231411312321324234121411344332134223411431141123423134212223231413313311214131434341441434221343322244213212112241144331444311241123122214222414122343131433421222222223341322221434434114231244321224122313443322113432223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211333313333111413121333231241243323223432314211221143233121314321412214223213144234114221134224443411344333231322421113334223344414413143411422241112333114313234241123124331342441443413231211221242423332134244422443344324314324324213342343211142122214133334143432313333133121231433331411213331343312422424132412413132312134233424121241323113332432424443233132232131341211432342431312323211421234242334243223223213422143321124133342221123334422232131321434421241232214343323222312131441331444121344241412411241322223133233113 313113411133211412322213214224243221133442433222134121434142114423123112124333232313244334433223331424123111121434333123434323343422242342422343211141124131121131131431124333223312432334424344432133344123211211414334244214322244432221432212432133434222133423143344113332433223223212121132441143314344313212111234232314143442214423113441243114334331233212323123324133442144341134224124211313112411133123243442221432344214134134134314323414423244433343232231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143442341141121131442333334321334331311133221323313411141224222333323124423341114323324124222213312124231433223122242344314333114134112131323424422131144312412321441222223422422431334244224142223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444331323113331432421121343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323132342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141214211123322114413221444311313311343144443143313331222412231324443331443234313324334212122124214232234214222234113112433131233242132131431241432214222241233121433322413442333334143312413441414421233221124311214433322124342121113333224123434343212132133412131342324431232221121441134123232122234333311222242211342221342333312133214212311143333133411234114211244332113143432143231222133334234242323112431322143324143214132343312443443234213223211324132411313144241344121111142132000000000000001000000000000000000000023114321232133431224414221211141342312443212232434233324221313242132421321343423441142213133424444444114333233344443133321221333142311123321313343324144314231322224243223342242311323441221223213324323443333122412132143224314231431221244322433111313413214332314342443132422324432222322143212332144122232343244134122423143331344222222124332224124223424311231122314123424222232123232234112234143211332112431222223134321133331331413143244314444131313313241241211122121432423422313331344213333434231233442424411134332224423431332314144333143344214123442241243342121444424331434412331222243213214224231223324112133224313322224134214344213412222233342312231314122214131131231414121242232431212424413134221221314323112223321221413343343111131213114243324343324412143214123234311122234112421242231323143333314321331314334214131213213424321144333341311434134222142321121343222232412444143132431411132114134321143321433233334414323142443332321443414313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413134212314434142234423432441114212331331324144134444242311324133111211433423334324442212233223212242311111432342131223211123332423342422342232441212414431344143324212123442142342343332221141122132133431333114341321341424234313133343122131122323321111122141422421223423233414124123211332233313331232432322321234224323333334122113432141312233212413213222413232412211242341333224333241112333433312122314214314133324131343321300000000001000000000000000012443231142112243212422223142134121411443142331314432241341211343413142213444414322431412100000000000000000000100000000000000000000000000000000000000000000123134231313333214323312233234111241322133141224424231411334132222333114334121312314214133224334321132111343311414422431222141423434321333132413141143123243422123424244341233134233313442233241321313233441414331433313111123113241441312214323132322333223111221233412111341422412132124213333323324232433223133314141434332414244313242422124311141121231211414132244222113134424444234224434241223223121421323213331432131314433243443133222213322132324222313131241341334342133312423221221412433322432224222313211431232322341323413443422322434311442144313431214234123223134441234332323342323322413131421221323443231133232231244314121433323312222232332233234441223122112222434223434334423432323342132223312142141323432424214223312213422321311414434432211213131331211322224143234133131113224223444433342413112123444142114241131321442411312212132223141344213123122112142142222113332213323244444244112331314333314341122331212321433221311331333431342311434411322232324124312112141113113421234242334223432243244212414112131222324134432211131112442132142144214211224233421414142334323341111212143331213422223214343122224321242132441424211323312143241320000000000001000000000000000000000000000000003244424442434223310001000000212122213232100000000000000002434143141312441311121333221211312132314332431442342231411312321324214121411344332434223433431141123423134212223231413313411214131434341441422223343322242413212112241144331422133423323122214241234122323413211143422221441344122423432234114231244321224322313443322121214341414422141324223211313414424123114123344243334444234412342311413333214444111142214123224344213331313331111143121413231241243323223432334213211143233121314323412214223213144222332221334223441431322332231324421143334223344434241343411422241124113114313234241123124331342441443413231211221242423332134243422443344324314324324213344343211143144444141112143324213133133321311413143223433341213114242424132212413334212332233424131141321113332432424143233132232131311211433342431314323211421234244314233421221112332223114322333322423323324422233313341434141243144412324131422312131441333134343444243212413242322223133433323 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121131111131331411144313213344432133221143232141313123211211414334244214322244432221432212432133434222133423143344113332433223223212121132441143314344313212111234232314143442214423113441243114334331233212323123324133244144341134224124211313112411133123243442221432344212134134134314323414443424433342231231231441312312422423421223132111233141112131314343421233222414233121312242141411224342423314233321241223231224343422341141121131442333332321334331134232421123213441134144222131323124433322323343131342344221132124131431223122242344314333114134112131323424423131244112312321443241232442242431334244224144222231214311143444414313232214333423142112234113211433322414413323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232322212343242232332323421222112332113211333322433144434214333341413222122222323331333112324231223111132331442234412122342144224241314321422114421444131314112113241313122341411141212331114223421213323211443432242133134324324334231443231233444133314314312122443131434244242314414442421241343233213323122132232211322344442213243421134314134424231434434122443221312421333134342134223343332412214211412141141113213431334122344314212233334414411423212433424333412232143311442343233114133412131411341121422311211212334432311323311322144324221311114211111431242121234124132243443421313432443313434413222133134323233224132323321412234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232234414222212331134213112111221132133433241432414222243233121231322413442333334321412213414414221233221124311214421322124342121311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144334233322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213333434231233442424411134332224423431332314144333143344214123442241243342121444424331434412331222243213214224231223324112133224313322224134214344213412222233342312231314122214131131231414121242232431212424413134221221314323112223321221413343343111131213114243324343324412143214123234311122234112431242231323143333314321331314334214131213213424321144333341311434134222142321121343222232412444143134431411112114324321143321433231334414341322123111343222233243233431343143211232422223232331241333433322341213442111431244211344313141443112233324342114432221232334312333332332224123331324444413144414132212121431233112232312434113233323141312132422221144131332431233422424342242212233223212242311111412342131223211123332423342422342232441212414431344143324212123442142342343332221141124134321421213312133333321442322313132223143313144222321333322143424223423323433434124123211232233313331232432342123432132141111334122113432223432431232213213222413212412211242324331244331223112333433314342314214314133324131343321300000000000100000000000000031443231322332211431422431142132123411441122111314432431143433341431142213442424322431234301000000000000000000000000000000000000000000000000000000000000000122132233313134234334312443432313411132313121224424331411334132222333314312423332341332223222332144113111113331414422431422143443432323213312233121422341233244331442222323113334212311242413123123133233231313121213121224123332233443333224124332344133223111221233232313443142112112124213333321314232433223334314441433332414224343242422124341243321231411434142244222113132212443233222433433423221143423321233331421113134433223243123222413324332324242313431241441334142133312423423223212431342232224222313211431242322241321413443421322414333324322313341234434323223334441234232322342323342413131421421324441441233234231444114123333323312222232332233234441223122112222434223434334423432323342132223312142141323432424214223312213422321311414434432211213131331211322224143234133131113224223444413344413112123444222114222313121223433132413311423141344213121322314144142122411332313343244244214412113232321332343114143444131411123331311131413332133432213224212322322344134113133143222342442133421233223242414414114112224132334342231233312224314344414214211224233443413142333323342111212123323311422132113343344424113324114233421333323322241432120000000000000000000000000000000000000000100003244444424234223310100000000214142231432000000000000100001434333344414221423243143414432134333134414414442342233221314421142311141111122112111131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221434234114231244321224122313443324113234341414422141324223231313414324123114123344243334444234412342311413333214444111142214123224344213211113111111143121413231241243323223432334213221143233121314321412214223213144222332221334413243311322112233344421443334113344434241343411422241124113114313234241123124331342441443232433233443411231114132423242224122444314424122431222121211143144444141112141324232111412122211211143223433341213114242424132212413334224334133424131241323413332432422443233133232131441231432344213412323212421232244314233421221112332223114322333322423323324422233313341434141243144412343323221132321333231444143413241412411242422223133233113 313113331111433234142211223442411241133442423222134121434142114422123112124333232313244234431223334421323114121434333121434123323422222342442423213342124131123113311233124213213314232314424314412133213123211223412312244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323124423341114323324124222213312124231433223122242344314333114134112131323424422131144312412321441222223422222431334244224142223233413111311144444313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311411242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323234234243123332232213444311232111141124423321113333332422211224433131241214131144232242122124214232234414222212331134213112111221132133433241432414324241433121423322413442333334143312413441432443213443113334234233122142341341131131224341434343234132133412331342324431232221121441134123232122234333311222242211342221342333312133214212311143333133411234114211244332113143432143231222133334234242323112431322143324143214132343312443443214231421231322332413313123331344121331142334000000000000000000000000000000001000023314321134433431222442321412421112332443234434112411123422332432332113123121423441142213133424442444114333232344444113321221332142211121323211141124121314233332224243224142242111323441223223213322123443333142422132143224314233231441142344212111331413214214312342423132422144214422332133231314124122232343224134122441123431342242143224332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213333434231233442424411134332224423431332314144333143344414123442241243342123444424331434412331222243213214224231223324112133224313322224134214344213412222233342312231314122214131131231414121242232431212424413134221221314323112323321221413343343111131213114243324343324412143214123234311122234112421242231323343333314321331314334214131213213424321144313341311434134222142321121343222232412444143134431411112114324321143321433231334414341322123111343222233241233431343143211232422223232331241333433322341213442111431244211344313141443112233324342114432221232334312333332332224123331324444413144414132212121431233112232312434113233323141312132422221144131332431213422424342242212233223212242311111412342131223211123332423342422342232441212414431344143324212123442142342343332221141124134321421213312133333321442322313132223143313144222321333322143424223423323433434124123211232233313331232432342123432132141111334122113432223432431232213213222413212412211242324331244331223112333433314322314214314133324131143321300000000000100000000000000031443231322332211431422431142132123411441122111314432431143433341431142213442414322431234301000000000000000000000000000000000000000000000000000000000000000122132233313134234334312443432313411132313121224424231411334132222333314312423332341332223222332144113111113331414422431422143443432323213312233121422341233244331442222323113334212311242413123123133233231313321213121124123332233443333224124332344133223111221233232313443142112112124213333321314232433223334314441433332312223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342432224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434134321432322342132223412124123224432323214223322213222341314114434432211213121331432324244143234133131331132423212413312413132343342143312221131321443311312212132223141344213121122114144142122411332313343244244214422113232323412143114143444331431123213211111211332131212243324212324122314132343133343222342442133421233223242414414114112224132334342231233312224314344414214211224233441414142334323341111212143321213422223214343322224321242132441424333323322241232120000000000000000000000000000000001000000000003244442442434221311000000000214142231432000000000010000001434333341412221423241133414231134323114414414322333413221314421142311141111122112111131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221432234114231244321224322313443324113412223331244343324243211313214324123114123342243334444214412342231333321414222113342412123224144211233313331111143121333231241242223221432314131221122333323114321432214211241211222332221334413243311322112233344421443334113344434241343411422241124113114313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133334123432313333133322311413141221211341342132424342342212231132312312233442233223343133431232224123233132232131343211432122431312321221421432442314233223121232332143121324133322221123334422442131321442421241232214343323221132321333231444143413241213213242422223133233123 313113411133411412322213214224243221133442423222134121434142114423133112124333232313244234231442114414322241443232142321214341343424222342442423213342124131123113311233124213213314232314424314412133213123211223412312244214322244232221432212432133234222323233122144131313231421423212323114421241312142313232313232112114143442414423113441223112334311233112323323324133244144341134224124211313112411133123243442221432344212134134134314323414443424433342231231231441312312422423441223112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323124423341114323324124222213312124231433223122242344314333114134112131323424422131144312412321441222223422222431334244224142223233413111311144444313212232312423423112234123213413322414414323222132444111311433333343242234421122412123134111234414322324341211133114141322234333313144241111143132232423432124111322233122134122331223232343432423111424223223424231412314243141244233233144444311424113331432421141343323231131322312123123121433132241323212142211332223234211223231131323442244333143312213142244134431114334431223213133234222232332313312443114214242311313443114333221343322214233322422413242232342341421222112432113211332342233144434214333341413222422422323311333112324231223113133313224434412242342124222241112323222312443442131334342143141333122331431141412323214223423243123213243412244333111324324114133221312411444431144314232122441411234241122144214243223441343233213123322133232221322344222213443421134334132222211444434142443221312421333134312134223343332412214211412121141143213131334324444324412233334414431423432431242333412244311411422413441432311313314223413441333124231431214422311323132342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141234211123322114413221444311313311343144443143313331222412231324443331443234133324334212122324214232214414222212331134213112111221132133433241432414222243233121231322413442333334321412213414414221233221124311214421322124342121311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214321233122111112324421112124423412413122143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144334233322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213433234231233442223411114132242321244111132344313211341232331224423433334341424424133232332333332223131434224213214124442333334111124243332434314413432222233344132232314142214313331214432243433434433132122313334343341324323334311121421221343143111131213114243344343324412143414123234311122234112421242231322143333314321331314334214131213213424321142333341311234134222142323121343222232412442143132431411132114134321143321433233334414323142443332321443414313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144414132212121431233112232312434113233323141312132422221144131332431413422424342242212233223212242311111412342131223211123332423342422342232441212414431344143324212123442142342343332221141124134321421213312133333321442322313132223143313144222321333322141424223423323433434124123211232233313331232432342123432132141111334122113432223432431232213213222413212412211242324331244331223112333433314322314214314133324131343321300000000000100000000000000031443231322332211431422431142132123411441122111314432431143433341431142213442414322431234301000000000000000000000000000000000000000000000000000000000000000122132233313134234334312443432313411132313121224424331411334132222333314312423332341332223222332144113111113331414422431422143443432323213312233121422341233244331442222323113334212311242413123123133233231413121213121224123332233443333224124332344133223111221233232113443142112112124213333321314232433223334314441433332414224343242422124341243321231411434132244222113132212443233222433433423221143423321233331421113134433223243123222413324332324242313431241441334142133312423423223212431342232224222313211431242322241321413443421322414333324322313341234434323223334441234232322342323342413131421421324441441233234231444114123333323312222232332233234441223122112222434223434334423432323342132223312142141223432424214223312213422321311414434432211213121331432324244143234133131331132423212411312413132343342143312222313141223433332432332223141344213121322114144142122411332313343244244214412113232323312343114143444331431123213211111211132131212243324214344122314132143113143222342442133421233223242414414114112224132334342231233312224314344414214211224233441414342334323341111212143321213422223214343322224321242132441424211323312143241320000000100000000000000000000000000000000000003244424222434223310000100000212124233432001000000000000002434333341312443323141331224211132332311414214322133413221314421142311141111122112131131213231243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221432234114231244321224122313443422313234223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211211113111121113121413211241243343211232314111221322333321114321432212411241241222332221334223441431322332231324421143334223344434241343411422241124113134113233441143124331342441441213433233443411231114312223442224122444314324122431222141431122122414133312441324213133133122211413141221211341342132424342342212431132212332221424121241321113332432424143233132232131311211433342431314323211421232442314233223121232332223114342333322423323324422233313341434141243144414423321221112133433341444121344241212411211344441131221321 313113411133411412322113214224243221133442423222134121434142114422123112124333232313244234431223334421323114121434333121434123323422242342422341213342121133123113311231124213213314232314424314412131213123211223414332244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414423113441243112334311233112323323324131242144443434222144411143112411123323243224421212344212134134134314323414443244433342231131231441312312422423441423132111233143112131314343421233222412413121132242141421224342423314233321241223231444343422341133323133322421312321334331114132421123213413344144222131323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141322143213342232444242432124242224334223231214331111144412313212232312423443112234113213413322414433323222332444111311433333343244214421142212123112131244431124124141234333114122332234113111144231331333132232443432124111322233322134124331223232343432223111222243223422222414414223111244233242123444331323113331432421121343321311131312112123124321423132323223214142213134323434211223231131123342224333143312411322244111431112112441221113133434412212312233132341114234442311313441114333421343322214233322422413224232132321221222112432113211332142233144414214333321213242124422323311333312324231223133133311224434412242342124322241312323222312443442131334342143141333122331431341412331214223423213343211443432242133314324324334131443231233244431314314312122443131434244242114414442421241343233213323322333232323323122424213222413212134332224431444414124424223111121313132342334223343312434214211412121141143213131334324444124412433334414431423432231244333412232143411422343233114133412131411341121422311211212334432311323311322144324221311114211111431242121234124132243443421313432443313434413222133134323233224132323321412211123322112413221444311313311343124243143313331222422211324433331413234133324332412222322234432234232222232333134213212111221134133243241422412224221231121433322413444423112321422221341432241432221324111432433322124132123113343224123434343212132133412331342324431232221121441134123232122234333311222242211342221342333312133214412311143333133411234114211244332113143432143231222133334232421112124423414411124421231114143312443443232231441431342332411311123341342121331344114010000000000000000000000000000000000023114323214143312242414221211141342312443212232434233324221313242132421321343423441142213133424444444114333233334443133321221133142311123321313343324144314231322224243223342242311323441221223213324323411333143222222331242314233411221242322433113313313214332312142441112422324434222322143212432344122232333224334122243143331344222222124332224124223424311231122314123424222232123232234112234143213313432213444423132321313112133433143443324212133113343333243331322121434423424123211124213333414231233442423421134334424423431332314344333143344214123442241243342121444342341432432311334223213214222231223324112133224313322223134214344413414242213144112211234142214313331234232243433434433132124311334343241324323334311121421221343143111131233114343344343324412143414123244311342234112421243231322143343314321331314334214143232233422121142333331313214112222212323111343222233231242121142231411132114124321143321433243234414343322123332321243214313233433121343411232422223232331241133433322341213432111431244211344313141443112233324342114432221232222334133332132224133333344444413144414132212122431233132432312434113233323141312132442221124131332431233423334324444212233341234222311111432342131223211123332423342422342232441112414431344343324212123422132342343332221141124134333431331314341331141222222311333322322331122323323111122141422221421433224412144323431332323124343414432322341214224323333334344232411223332431232233212224413232412211222341331442331241234333431234141132233113321242133123141100000000010000000000000000012441231342334213212422431144132121411441122111132432431143413341413144213422424322433412100000000000000000000000000000000000000000000000001000000000000000123134231313144214333134244232111241132332123243224213411133343442333134312423332411314222224334321132111343311434444222223441443432323213312233121122341233244331442222323113332432313412213241341331233241314331233113111423113241411312214323332222132223141421233412113341422112312114213133321314232433223334314441433332314244313242422124311121141221211414132244222113134424444434224333231223223121321313213331232131314433243423133222213322132324222313131241441334342131312423223223212433322432224222313211431242322344123413443422322434331442124213431214234123223134441212232322342323322413331421221323443231133232231244114123433323314222232132233434441222142122422434241434314323232323442134223312122123224432323231223323133222321314414434432211213121331432324224143234133131331132423212233312413132343342143312222313141223433332432332223141344213121322114144142122411332313343244244214412113232321332343114143444131411123331311131411332133432213224212322322314134113113113421234242334223432243244212414112131222324334432211231312422132142144214211224233443413142334323342111212124323311422132113343122224321242132441424211323312143241320000000000000100000000000000000000000000000003244424442434223310001000000212122213232100000000000000002434141141312441311121333221211312132314332431442343431213214423122311121411324312114223413233221323412312431323231413313311214131441123244432441131134312231334434343323313224311241123122214222414122343131433421222422223341322241434434112233244321224122313443322121214341414422141324223211313414424123114123344243334444234412342311413333214444111142214123224344213311113111111143121413231241243323223432334213221143233121314321412214223213144222332221334413243311322112233344421443334113344434241343411422241124113134313234241123124331342441443232433233443411231114132423242224122444314424322431222121211143144444141112141324232111412122211211143223433341213114242424132212413334224332233424131241323413331231242443233133212131441231432344211412323212441232442314233223121232332143121324133122221123334422442131321442421241232214343323221132321333231444143414243212413242322223133233113 313113411133411412322213214224243221133442433222134121434142114423123112124333232313244334433223331424123111121434333123434323343422242342422343211141124131121131131431124333223312432334424344432133344123211211414334221223324344232221434212432133234222323233122144131313231421423212323114421241312142313232313232112114143442414423113441223112334311233112323323324133442144341134224124211313112411133123243442221432342214131144134314323414423244433343232231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341222212233442323222341133323131322423332321334331114132421123213413344144222133323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144333143312411322244331431112114441223233133433412232312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443233121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311411242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433231432414222441233141433324413442333334321412213414314421233443113334234433324324342121113333224123434141412112113412112324144143214424143233213331212314412211212244424213121444131111234224431243314311131323134414242114212113331121214121333122111112324421112124423412413124443414332321343421212134413223211324132413333344342314331113124134000000000100000000000000000000000000023114423214142312144414231232141144332343214234412413343221213232132121341141123431142411133424442444113333432344223313321231332142311131321211143144144331233323224243223142242111323443223223212322321341313442422134143424434311211221242322433111213313214332312342443112422324434222122143212332344122232343224334134443343331344222222134332224124223424311231122314123422242232123232234111234143213313432213444423132321313112113433143443324212123123341333243331322323434423224113311124213333414231233442423221134334424423431332314344333143344214123442241243342123424342341432432311334223213214222231423324112133224313322223134214344213414342211124112211234142234131131231414121242232431212424413134221221314323112223321221413343343311131213114243324343324412143414123234311122234112431242231423143333314321331311334214131213213424321144333341311434134222142321121343222232412444143134431411112114324321143321433231334414341322123111343222233243233431343143211232422223232331241333433322341213442111431244211344313141443112233324342114432221232334312333332332224123331324444413144414132212121431233112232312434113233323141312132422221144131332431213422424342242212233223212242311111412342131223211123332423342422342232441212414431344143324212123442142342343332221141124134321421213312133333321442322313132223143313144222321333322143424223423323433434124123211232233313331232432342123432132141111334122113432223432431232213213222413212412211242324331244331223112333433314322314214314133324131343321300000000000100000000000000031443231322332211431422431142132123411441122111314432431143433341431142213442424322431234301000000000000000000000000000000000000000000000000000000000000000122132233313134234334312443432313411132313121224424331411334132222333314312423332341332223222332144113111113331414422431422143443432323213312233121422341233244331442222323113334212311242413123123133233231313323213121124123332233443333224124332344133223111221233232313443142112112124213333321314232433223334314441433332414224343242422124341243321231411434142244222113132212443233222433433423221143423321233331421113134433223243123222413324332324242313131241441334142133312423423223212431342232224222313211431242322241321413443421322414333324322313341234434323223334441234232322342323342413131421421324441441233234231444114123333343312222232332233234441223122112222434223434334423432323342132223312142141323432424214223312213422321311414434432211213131331211322224143234133131113224223444413344413112123444222114222313121223433132413311423141344213121332314144142122411332313343244244214412113232321332343114143444131411123331311131413332133432213324212322322344134113133143222342442133421233223242414414114112224132334342231233312224314344414214211224233443413142333323342111212123323311422132113343344424113324114233421333323322241432120000000000000000000000000000000000000000100003244444424234223310100000000214142231432000000000000100001434333344414221423243143414432134333134414414442342233221314421142311141111122112111131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221434234114231244321224122313443324113234341414422141324223231313414324123114123344243334444234412342311413333214444111142214123224344213233313333123113121413211241243321111231314111421322333331114323233212411341211222332221332223443311322112243344221443332113344434211143411424241124113434313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133334123432313333133332311413141221211341342132424342342212231132312312233442233223343133431232224123233132232131343211432122431312321222421234244314233421221112332223114322333322423323324422233313341434141243144412324131422312131441331444121344243212431442422223413433323 313113411133411412322213214224243221133442423222134121434142114423133112124333232313244234231442114414322241443232142321214341343422222342442423211341124131111131331411144313213314232314424314412133213123211223412312244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214134134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213411322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311411242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433241432414222243233121231322413442333334321412213414414221233221124311214421322124342121311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144334233322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413214332312142441112422324434222322143212432344122232333224334122243143331344222222124332224124223424311231122314123424222232123232234112234143213313432213444423132321313112133433143443324212133113343333243331322121434423424123211124213333414231233442423421134334424423431332314344333143344214123442241243342121444342341432432311334223213214222231223324112133224313322223134214344213414242213144112211234142214313331234232243433434433132122311334343241324323334311121421221343143111131233114343344343324412143414123244311342234112421243231322143343314321331314334214131213213424321144333331311234134224142323122321441412211444143332223332333314122121323341211433312432143322123111343222213343233431343143211232242321413333441133213132323133233331413212211344313123423332233124124112433443232322112333332132224123313344444413144214132212122431233132432312434113233323141312132442221322231131231433423424342424432432341212242311111432342131223211123332423342422342232441112414431344343324212123422132342323332221141324134333431331314341331141222222311333322322331122323323111122141242221421433224412144324431332323124343414432322341214224123333334344232411223332431232233212224413232412211222341331442331241234333431234141132233113321242133123141100000000010000000000000000012441231342334213212422431144132121411441122111132432431143413341413144213222414322433412300000000000000000000000000000000000000000000000000000000010000000122132233313344214333112244434111243322332241244244233423133343242332114332421312314214133224334321132114343311414422431222141444312321313332233121442321431224321222422223233334212311442213223121133233231313121211121221123113241441312214323332322333223111221233412111341422112132124233333123314222233223333312141414332412223311211224122313143321231211434132344234333112214443233224413433423221143423321233331421113134233223243123222413324332324242313431241441334142133312423423223212431342232224222313211431242322241323413243422322414333324322313343234434323223334441234332322342323322413131421221123443231133234231244114123433323312422212332231234441223122112222434243234134323232323342132223312322123224432424214223312213422321311414434432211213131331211322244143234133131113224223444413344413112123444222114222313121223433132413311423141344213121322314144142122411332313343244244214412113232321332343114143444131411123331311131413332133432213224212322322344134113133143222342442133421233223242414414114112224132334342231233312224314344414214211224233443413142333323342111212123323311422132113343344424113324114233421333323322241232120000000000000000000000000000000000000000100003244444424234223310100000000214142231432000000000000100001434333344414221423243143414432134333134414414442342233221314421142311141111122112111131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221434234114231244321224122313443324113234341414422141324223231313414324123114123344243334444234412342311413333214444111142214123224344213233313333123113121413211241243321111231314111421322333331114323233212411341211222332221332223443311322112243344221443332113344434211143411424241124113434313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133334123432313333133332311413141221211341342132424342342212431132312312233442233223343133431232224123233132232131343211432122431312321221421432442314233223121232332223114342333322423323324422233313341434141243144414423321221112133441343134343314241212431442422223413433323 313113331111433234142211223442411241123142421222144121322342114423123112142221232312314232433223331424323111121434333121434323243422242342422343211141124131121113311233124213213314232314424314412133213123211223412312244423324332232213222412432133224222133423143344113332431243223212121132421143314342333432311212112314143413414343113141243112134311233112323323324131212144443134222344411143112411123323243224421212344212134134134314323414443244443342231131231441312312422423441423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113211433322414413323224142444131311431331323442234441122414114112111234411122324343411314112122434234133341344443331343333232441412132233324231122134122331123233331232423113422241233444331412314243141244233233143432111343131131412321341343323233131312112123144322133131223243214142213134323234211223231131123342244333143312411322244331431112114441223233133433412232332313112443114114442311313441114333421344141232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443233121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311411242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433241432414224441233121433144413442333334321422221341432241432221324111432433322124132123113343224123434343212132133412331342324431232221121441134123232314412211212244444233121444331131334224231243314311131323434414242114212332331143434143231211133334234242322312431312143312143214132343312443443234213223211324132411313144241344121111142132000000000000010000000000000000000000023114321232133431224414221211141342312443212232434233324221313242132421321343423441142213133424444444114333233344443133321221333142311123321313343324144314231322224243223342242311323441221223213324323443333122412132143224314233211221244322433111313413214332314342443132422324432222322143212332144122232343244134122423143331344222222124332224124223424311231122314123424222232123232234112234143211332112431222223134321133331331413143244314444131313313241241211122121432423422313331344213433234231233442223411114132242321244111132344313211341232331224423433334343444342341442434313334423213414334431223344142313234323342223312433111414212222233144112211234342214313331234432243433434433132122313334343241324323334311121421223343343111131213114243324343324412143214123234311122234112421242231323143333314321331314334214131213213424321144333341311234134222142323121343222232412442143132423312333333124143321141413233332212343142443332321443214313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144414132212121431233112432312434113233323141312132422221144131332431433423334324442212233223212242311111432342131223211123332423342422342232441212414431344143324212123442142342343332221141122134333431331334341331141222222311333322322331122223121133342321422241423322233414144324212311323123343434432322341214224323333334342233431121313233414213233222233234214433244341333224333421112131233312141132233113323224131323121100000100000000000000000000012241441142134213212424223342134341411443142333314412243343413323433234243442414314431434300000000000000000000000000000000001000000000000000000000000000000122132233313144214323332233234111241322133141224424231411334132222333314312423332341332223222332144133111113331414422431422141444412321333132413141143123243422123442222323113334212311242413123123133233231313121213121224123332233443333224124332344133223111221233232113443142112112124213333321314232433223334314441433332414224113242422124311143121231211212132244222134112424443233234433231423423121423321113331432131334433221423123222413324332324222313131241441334342133311423423223212431342232224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114123433323312222232332431214441223122112222414243434333323432323342132223312122121243432423214223312213222321314414434432211213131331212322324143234133131113224223442413344413112123444222114222313124442311312212132223141344213123122112142142222113332213323244424244112331314333314341122331212321433221311331333431342311434411322232324124312112141113143421234242334223432243244212414112431422324134432211131112442132142144214211224233421414142334323341111212143321213442223214343122224321242132441424211323312143241320000000100000000000000000000000000000000000003244424222434223310000100000212124233432001000000000000002434333341312443323141331224211132332311414214322342231411312321324234121411344332134223413431141123423134212223231413313411214131434341441222223343322242413212112241144331422133423323122214241234122323413211143422221441344122423434434114231244321224122313443422311234341414422141324223231113414324123114123344241334444234412342311413333214444111142214123224344213233313331321143121413231241243323223432334213211143233121314321412214223213144234114221334223443413322112233324421443314113314434213143411422241122333431133233441141124333342441441413231211221242423332134243421443344324314324324213342343211122124244133112441324233133132121231431331221211142342132422342342212431112212332221424121241321113332432424143233132232131311211432342431312323211421234242334243223223213422143321124133342221123334422233313341434141243144412324131422312131441331444143413241212413211342441131221321 313111331111433232144221224244211221123442423222144121322341214423123112142221232312314234433223334424323111121434333121434323343422242342422341213342121133123113311231124213213314232314424314412131213123211223414332244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414423113441243112334311233112323323324131242144443434222144411143112411123323243224421212344212134134134314323414443244433342231131231441312312422423441423132111233143112131314343421233222412413121132242141421224342423314233321241223231444343422341133323133322421312321334331114132421123213413344144222131323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141322143213342232444242432124242224334223231214331111144412313212232312423443112234113213413322414433323222332444111311433333343244214421142212123112131244431124124141234333114122332234113111144231331333132232443432124111342233322134124331223232343432223111222243223422222414414223111244233242123444331323113331432421121343321311131312112123124321423132323223214142213134323434211223231131123342224333143312411322244111431112112441221113133434412212312233132341114234442311313441114333421343322214233322422413224232132321221222112432113211332142233144414214333321213242124422323311333312324231223133133311224434412242342124322241312323222312443442131334342143141333122331431341412331214223423213343211443432242133314324324334131443231233244431314314312122443131434244242114414442421241343233213323322333232323323122424213222413212134332224431444414124424223111121313132342334223343312432214211412121141143213131334324444124412433334414431423432231244333412232143411422343233114133412131411341121422311211212334432311323311322144324221311114211111431242121234124132243443421313432443313434413222133134323233224132323321412211123322112413221444311313311343124243143313331222422211324433331413234133324332412222322234432234232222232333134213212111221134133243231422412224221231121433322413444423112321422221341432241432221324111432433322124132123113343224123434343212132133412331342324431232221121441134123232122234333311222242211342221342333312133214412311143333133411234114211244332113143432343231222113334232421112124423414411124421231114143312443443232231441431342332411311123341342121331344114100000000000000000000000000000000000023114323214143312242414221211141342312443212232434233324221313242132421321341423441142213133424444444114333233334443133321221133142311123321313343324144314231322224243223342242311323441221223213124323411333143222222331242314233411221242322433113313313214332312142441112422324434222322143212434344122232333224334122243143331344222222124332224124223424311231122314123424222232123232234112234143213313432213444423132321313112133433143443324212133113343333243331322121434423424123211124213333414231233442423421134334424423431332314344333143344214123442241243342121444342341432432311334222213214222231223324112133224313322223134214344233414242213144112211234142214311331234232243433434433132122311334343241324323334311121421221343143111131233114343344343324412143414123244311342234112431243231322143343314321331314334214131213213424341144333341311434134222142321121343222232412444143132431411132114134321143321433233334414323142443332321443414343233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332413223232332312333312132224323131224444413134212314434142234423432441114212331331324144134444242311324133111211433423334324442212233223212242311111432342131223211123332423342422342232441112414431344143324212123442142342343332221141124134321421213312133333321442322313132223143313144222321333322141444223423323433434124123211232233313331232432342123232132141111334122113432221313233414213233222233234214233244341333224333421112131233312141132233113323224131323121300001000000000000000000000012441441142134213212424223342134141411443142333314412243343413323413234243442414314431432300000000000100000000000000000000000000000000000000000000000000000123112231313144214333112243434111243322333141224422231411314132224313114212423332311332223224222321132311113233414422431422141443432241313332233121423123243422123424244341233332432313412213241341331233241414331233113111423113241411312214343332222132223141421231412113341422412312114213333321314232433223334312443434132414224113242422124311143121231211212132244222134112424443233234413231423423121423321113331432131334433221423133222413142312324222313133241433134344133312421243223212433322434244222333231431242322241123412443412342434333324322313431214234123223134441234332322344323323211111421421323443231213414411244114143423323314222232132233434441222142122422434241434314323232323442134223312122121243432423214223312213222321314414434432211213131331212322324143234133131113224223442433344413112123444222114222313121223433132413311423141344213121322314144142122411332313343244244214412113232321332343114143444131411123331311131413332133432213224212322322344134113133143222342442133421233223242414414114112224132334342231233312224314344414214211224233443413142333323342111212123323311422132113343344424113324114233421333323322241432120000000000000000000000000000000000000000100003244444424234223310100000000214142231432000000000000100001434333344414221423243143414432134333134414414444142231211314441122311241411124314134131413231241142212312432241442232133333432313241123244222221343322212211212114241123113222133223123122214241234122323413211143422221241344122421424434334131442313412144121223324311234223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211333313331111143121413231241243323211232314111221322333321114321432212411241241222332221334413243311322112233344421443334111344434241343411422241124113114313234241123124331342441443232433233443411231114132423242224122444314424122431222121211143144444141112141324232111412122211211143223433341213114242424132212413334224332233424131241323413331231242443233133212131441231432344211412323212441232442314233223121232332143121324133322221123334422442131321442421241232214343323221132321333231444143413241212431442422223413433323 313113331111433234142211223442411241123142421222144121322342114423123112142221232312314234433223331424323111121434333121434323343422222344322343213342121131123113311231124213213344432133221143232141213121213211414334444423324332232213222412432133224222133423143344113332431243223212121132421143314342333432311212112314143413414443113141243112134311233112323323324131212144443134222344411143112411123323243224421212344212134134134314323414443244433342231131231441312312422423441423132111233143112131314343421233222414233121312242141411224342423314233321241223231224343422341141121131442333332321334331134212421123243413141224222331323124431122323143131342344221132124231411223122242344314333114134112213121214323333242141412143213242232442242232124244224134223231214311143444414313232214333423142112234113213213122412213323222142224111211413331323242234441122414324112111234411122344343411314112122434234133341342441331343333232441412132233344231122134122331123233331432423113422241233444331412314243141244233233143432111343133331412321141323323231131312112123124321423132323223212142213134223224211223231131123342224333143312411322244111431112112441221113133433412212312213132341114234442311313441114333421343322332212322222444242133332321421222122332313211133322413144434214331121413222124422121313333114323432221333132311444233412222342344322241332321422334443444111334144141141333342131231143412423234423423241121413241413224313111144124134131221312413424411114114213114211111233414142144214242423243141233233323322133232211322344442213243421134313134424231434434122443221312421333134312134223143332412214411412141141143213131334324444124412433334414431423432231244133412232143434421413441432311313314223413441333124233431214422311323112342144322221121114211111431142121214324132443443421313432243213134413222131142321221312432321141232234243123332232213444311232111141124423321113333334422211222433131241214131342232242122124214232234214222212331134213112111221132133433241422412222221231121433322413444423112321422221341432241432221324111432433322124132123113343224123434343212132133412331342324431232221121441134123232122234333311222242211342221342333312133214412311143333133411234114211244332113143432343231222133334232421112124423414411124421231114143312443443232231441431342332411311123341342121331344114100000000000000000000000000000000000023114323214143312242414221211141342312443212232434233324221313242112421321343423441142213133424444444114333233334443133321221133142311123321313343324144314231322224243223342242331323441221223213324323411333143222222331242334231431443132344212441313412214332314342443132422324434222322143212332124122232443224314122441123431344442143224114412323444343333231431132221244424412141232444322431411433333432413244242332113333112133433143443324212133111343333343331322141434423434113311121221341231243433431423413334132242341244111132324313211141232331224423433334341244342341442434313334423213414334431223342142313234323342123312433111434212222133144112211234342214313331214432243433434433132122313332343241324323334311123421221343143111131233114343344343324412143414123244311342234112431242231322143343314321331314334214143233213144321142333331111214112222212323111343222233231242121142231411132114124321143321433243234414343122443331343243214311233233321343411232422223212311241121233322141213432111431244411344313141423132233144342112433223242222332333332112224121331324444431144434132212422431233132432312434113233344321312432442224124131332431433422424342424434432341234222311111432342131223211123332423342422342232431114431213122321342232333323334423222334331121324312331223213312333121344424224313132223143313142243321133324121242221421433224412144323431332323124343414434322341214224323333334344232411223332431432233212224413232412211222341331442331241234333431234141132233113321242133123141300000000001000000000000000012443231142112243212422431142132123411441122111314432431143433341433234241444312114431412300001000000000000000000000000000000000000000000000000000000000000122134233333134434323332433234111241322132243224422231411314132224333114312423332341332223222332141132111113333432444222222141423434321333332233121422123243422121424242341233134233313441233241321313233441414331233113111423113241411312214323332222132223141421233412113341422112312114213133321314232433223334312441434132412223311211224122313143321231211434132344234333112214443233224413433423221143423321233331421113134233223243123222413324332324242313131241441334142133312423423223212431342232224222313211431242322241323413243422322414333324322313343234434323223334441234332322342323322413131421221123443231133234231244114123433323312422212332231234441223122112222434243234134323232323342132223312322123224432323231223323131232321334434212432433213331331432322224143234133131331132423212211112413134341424222114222313141223433132413311444442122431131122134124142122421214331141122244214412113232323412143114143444331431123213213111211342311434411322212124122414312343313113222342442134423432223242412414114112224132334342211233322242132342142214211224233441414142334323342111212123323311422132113343344224121242132441424211323312143241320000000000001000000000000000000000000000000003244424442434223310001000000212124233432000100000000000002434333341312221411141331221231312332314332431442342231411312321324214121411344332134223433431141123423134212223231413313411214131434341441422223343322242413212112241144331422133423323122214241234122323413211143422221441344122423424432334121442313412144123243422313214341414422123312224212333434411343332141312423334444234412324333413123224244233321232433143112211333313331111143121413231241243323223432334213211143233121314321412214223213144222332221332223443311322112243344221443332113344434211143411424241124113434113233441143144331342441441413231111221242423332134244422443344324314324324213342343211142122214133334143432313333133121231433331411213331343312422424132412413132312134233424121241323113332432424443233132232131341211432342431312323211421232442314233223121232332143121324133322221123134422442131321442421241232214343323221132321333231444143413241213213242422223413433323 313111331111433232144221224244211221123442423222144121322341214423123112142221232312314234433223334424323111121434333121434323243422222342442423213342124131123113311233124213213314232314424314412133213123211223412312244214322344232221432233332314234422131423143344113332431223221312121132421243314344313212311234212314143442414423113441243112334311233212323323324133242144341114244124211314112411133123243442221432344214131244134334323414423244433343232231331441342312422422421423112111233141122131114343421133441244233121334221144223224322423314233343222212231442323422311333323131442333332321334313114132421123213411141244222331323124433322323343131342344221132144231411321222224221324343314312444211121214323133244111312343413222232442242432124244224134223231213311143444414313232214333423142112234113213413322414413323222142224111211433331323242234441122414124112111234411122324343411314112122434234133341344441331343333232441432132231344231122134122331123233331432423113422241233424331412314243141244233233123444311343113331434423141343323231131314112123144321133132243243112342211134223234413113242133133322144313141312213144244134431114134441223213133434412232332313312341114234444311313441114333431343322232232322212343242232332323421222112332113211333322433144434214333341413222122222323331333112324231223111132331442234412122342144224241314321422114421444131314112113241313122341411141212331114223421213323211443432242133134324324334231443231231444133314314312122443131434244242314414442421241343233213323122132232211322344442213243421134314134424231434434122443221312421333134342134223343332414214211412141141113213431334122344314212233334414411423212433424333412232143331442343233114133412131411341121422311211212334432311323311322144324221311114211111431242121234124132243443421313432443313434413222133134323233224132323321412211123322112413221444311313311343124244143313331222422211324433331413234133324334212122322134214234214222212331134213112111221132133433241432414222243233121231322413442333334321412213414414221233221124311214421322124342121311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214321233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144334233322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213333434231233442424411134332224423431332314144333143344414123442241243342121444424331434412331222243213214224231223324112133224313322224134214344213412222233342312231314122214131131231414121242232431212424413134221221314323112223321221413343343111131213114243324343324412143214123234311122234112431242231323143333314321331314334214131213213424321144313343311234134222142323121343222232412442143132423312333333124143321141413233332212343322123111343222233243233431343143211232422223232331241133433322341213442111431244211344313141443112233324342114432221232222334133332132224133333344444413144414132212121431233112232312434113233123141312132442221124131332431233423424342424432212343232443333313232322233441233321114341122243322424233234431213122321342232333323334423222332321121142312321421213312133333321442322313132223143313144222321333322121242221421433223412144323431332333323141232432122321232132323333334322113431223432431232213213122233234212433242341333224311421112133431312122312214314133324133123121300000001000000000000000000012443431142334211412224223342114341411443142333314412243343413321411134241442414314431432300000000000100000000000000000000000000000000000000000000000000000123112231313144214333112243434111243322333141224422231411314132224313114212423332311332223224222321132311113233414422431422141443432241313332233121122341233244331442222323113332432313412213241341331233241414331233113111423333341443313214323312344133423114231233234113443142112112124213333321314232433243334312141134332312223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342432224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434134321432322342132223412124123224432323214223322213222341314114434232213234133331432324224143234133131113224223442231342413134341342143312221331324442311312212132223141344213123122112142142222113332213323244444244112331314333314341122331212321433221311331333431342311434411322232324124312112143133142242342442134423432223422412414114112224132334342231233312224114324412121123412111141234324314423132433423343131223323222243131122243111224434243441211241124123231340010000000000000000000000000000000000000000004241444422434221310010000000214142231432000000000000010001434333344414221423243143414432134333134414414444142231411312321324234121411344332134223413431141123423134212223231413313411214131434341441424221343322244213212112241144331442133423121323422322412421121433211123442222223321322221434434114231244321224122313423422311212341414422141324223231113414324123114123344241334444234412342311413333214444111142214123224344213333313331111113321413231241243323223432314211221143233121314321412214223213144234114221134224443411344333231322421113334223344414413143411422241112333114313234241123124331342441443413231211221242423332134244422443344324314324324213342343211142122214133334143432313333133121231433331411213331343312422424132412413132312134233424121241323113332432424443233132232131341211432342431312323211421234242334243223223213422143321124133342221123334422232131321434421241232214343323221132321333231444141344241412413211342441131221321 313113411133211412322213214224243221133442433222134121434142114423123112124333232313244334433223331424123111121434333123434323343422242342422343211141124131121131131431124332223312432334424344432133344123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344212134134134314323414443424433342231231231441312312422423421223132111233141112131314343421233222412433121332242141221224342413312333341241223231424143422341141121131442333332321334331134212421123243413141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141322143213342432444242432124242224334223231214331143444414313232214333423142112234113211433322414413323224142444131311431331323442234441122414114112111234411122324343411314112122434234133341344443331343333232441412132233344231122134122331123233331232423113422241233444331412314243141244233233143432111343131131412321141343323231131322312123123121433132243243112342211134223234413113242133133322144313141312213144244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443233121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311411242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433241432414222243233121231322413442333334321412213414414221233221124311214421322124342121311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413122143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144314231322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213433234231233442223411114132242321244111132344313211341232331224423433334341424424133232332333332223131434224213214124442333334111124243332434314413432222233344132232314142214313331214432243433434433132122313334343341324323334311121421221343143111131213114243344343324412143414123234311122234112431242231322143333314321331314334214131213213424321142333341311434134222142321121343222232412444143132431411132114134321143321433233334414323142443332321443414313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144214132212122431233132432312434113233323141312132442221322231131231433423424322424434432341234223333313232322233441233321112341122243322424233234431213122321342111333322332423222332323322144312331223213312333121344424224313132223122113142223321133324141422421223423233414124123211332233313331232432322321234224323333334322113431223432431232213213222413232412213344141313224333221112333433312141132213113323224131321123100000000100000000000000000012441232124134413212422223122134321213323344331334231241321413141413142213444412314431412100000000000000000000000000000000000000001000000000000000000000000142134233313343214333132233234111241322133143224424233411314132224333114312423332341332223222332141132111113333432444222222143443432323213312233121422341233244331442222323113334212311242413123123133233231313121213121224123332233443333224124332344133223111221233232313443142112112124213333321314232433223334314441433332414224343242422124341243321231411434132244222113132212443233222433433423221143423321233331421113134433223243123222413324332324242313431241441334142133312423423223212431342232224222313211431242322241321413443421322414333324322313341234434323223334441234232322342323342413131421421324441441233234231444114123333343312222232332233234441223122112222434223434334423432323342132223312142141323432424214223312213422321311414434432211213131331211322224143234133131113224223444413344413112123444222114222313121223433132413311423141344213121322314144142122411332313343244244214412113232321332343114143444131411123331311131413332133432213224212322322344134113133143222342442133421233223242414414114112224132334342231233312224314344414214211224233443413142333323342111212123323311422132113343344424113324114233421333323322241432120000000000000000000000000000000000000000100003244444424234223310100000000214142231432000000000000100001434333344414221423243143414432134333134414414442342233221314421142311141111122112111131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221434234114231244321224122313443324113234341414422141324223231313414324123114123344243334444234412342311413333214444111142214123224344213233313333123113121413211241243321111231314111421322333331114323233212411341211222332221332223443311322112243344221443332113344434211143411424241124113434313234241123124331342441443413231211221242423332134243422443344324314324324213344343211122124244133112441324233133132121231431331221211142342132422342342212431112212332221424121241321113332432424143233132232131311211432342431314323211421234242334243223223213422143321124133342221123334422232131321434421241232214323321221112131433343134343313323212431442422223413433323 313113331111433234142211223442411241123142421222144121322342114423123112142221232312314234433223331424323111121434333121434323243422242342422343213342121131123113311231124213213314232314424314412133213123211223412312244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222331323124423341114323324124222213312124231433223122242344314333114134112131343424422131144312412321443342432444242432124242224334223231214331111124412333212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443233121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311411422343233114133412131411341121422311211212334432311323311322144324221311114211111431242121234124132243443421313432443313434413222133134323233224132323321412211123322112413221444311313311343124243143313331222422211324433331413234133324332412222322234432234232222232333134213212111221134133243231422412224221231121433322413444423112321422221341432241432221324111432433322124132123113343224123434343212132133412331342324431232221121441134123232122234333311222242211342221342333312133214412311143333133411234114211244332113143432143231222133334232421112124423414411124421231114143312443443232231441431342332411311123341342121331344114100000000000000000000000000000000000023114323214143312242414221211141342312443212232434233324221313242132421321343423441142213133424444444114333233334443133321221133142311123321313343324144314231322224243223342242311323441221223213324323411333143222222331242314233411221242322433113313313214332312142441112422324434222322143212432344122232333224334122243143331344222222124332224124223424311231122314123424222232123232234112234143213313432213444423132321313112133433143443324212133113343333243331322121434423424123211124213333414231233442423421134334424423431332314344333143344214123442241243342121444342341432432311334223213214222231223324112133224313322223134214344213414242213144112211234142214313331234232243433434433132122311334343241324323334311121421221343143111131233114343344343324412143414123244311342234112421243231322143343314321331314334214131213213424321144333331311234134224142323122321441412211444143332223332333314122121323341211433312432143322123111343222213343233431343143211232242321413333441133213132323133233331413212211344313123423332233124124112433443232322112333332132224123313344444413144214132212122431233132432312434113233323141312132442221322231131231433423424342424432432341212242311111432342131223211123332423342422342232441112414431344343324212123422132342343332221141324134333431331314341331141222222311333322322331122323323111122141242221421433224412144324431332323124343414432322341214224123333334344232411223332431232233212224413232412211222341331442331241234333431234141132233113321242133123141100000000010000000000000000012441231342334213212422431144132121411441122111132432431143413341413144213222414322433412300000000000000000000000000000000000000000000000000000000010000000122132233313344214333112244434111243322332241244244233423133343242332114332421312314214133224334321132114343311414422431222141444312321313332233121442321431224321222422223233334212311442213223121133233231313321211123121123113241441312214323332322333223111221233412111341422112132124233333123314222233223333312141414332412223311211224122313143321231211434132344234333112214443233224413433423221143423321233331421113134233223243123222413324332324242313131241441334142133312423423223212431342232224222313211431242322241323413243422322414333324322313343234434323223334441234332322342323322413131421221123443231133234231244114123433323312422212332231234441223122112222434243234134323232323342132223312322123224432323231223323131232321334434212432433213331331432322224143234133131331132423212211112413134341424222114222313141223433132413311444442122431131122134124142122421214331141122244214412113232323412143114143444331431123213213111211342311434411322212124122414312343313113222342442134423432223242412414114112224132334342211233322242132342142214211224233441414142334323342111212123323311422132113343344224121242132441424211323312143241320000000000000100000000000000000000000000000003244424442434223310001000000212124233432000100000000000002434333341312221411141331221231312332314332431442342231411312321324234121411344332134223433431141123423134212223231413313411214131434341441422223343322242413212112241144331422133423323122214241234122323413211143422221441344122423424432334121442313412144123243422313412223331244343324243211313214324123114123342243334444214412342311413333214444111142214123224344213333313333111113321413231241243323223432314211221143233121314321412214223213144222334421314413243413322333231324441113334213344414413143411422241112333111313234241123124331342441443413231211221242423332134243422443344324314324324213344343211143144444141112143324213133133321311413143223433341213114242424132212413334212332233424121241321113332432424143233132232131311211433342431314323211421234244314233421221112332223114322333322423323324422233313341434141243144412324131422312131441331444143413241213213242422223133223323 313113411133411412322113214224243221133442423222134121434142114422133112124333232313244234231442114414322241443232142321214341343424222342442423213342124131123113311233124213213314232314424314412133213123211223412312244214322344232221432233332314234422131423143344113332431223221312121132421243314344313212311234212314143442414423113441243112334311233212323323324133242144341114244124211314112411133123243442221432344214131244134334323414423244443343232231331441342312422422421423112111233141122131114343421133441244233121334221144223224322423314233343222212231442323422311333323131442323332321334313114132421123213411141244222331323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112111234414322324341211113114141322234333313144241111143132232423432124111322233122134122331223232343432423111424223223424232414414223111224233232123444311343113331434423141343323231131314112123144321133132243243112342211134223234413113242133133322144313141312213144244134431114134441223213133434412232332313312341114234444311313441114333421343322214233322422413242232132321221222122432113211332142233144414214333321213242122422323311333112324231223133132331444234412222342144322241312321422314423444131334112141141333122331431141412323234223423243123213243412244333111324324134131223312413444431114314212122411111234244122344214242423241343233213123322133232221323344222213243421134314132224431444414124444223111121333132141334221323332434414213412124143141212111231322344322212223332424231141412433424333232242143434422413441432311313311223413441333124231212332432113323111241144422221121311231311431112123214124432223443421313432443313434411222131142321221312432321141214211123322112413221444311313311341124423143313331222422211324433331413234133324332412222124214232214414222212331134213112111221132133433241432414324241433121433322413444423112321422221341432241432221324111432433322124132123113343224123434343212132133412331342324431232221121441134123232314412211212244444233121444331131334224431243314311131323434414242114212332331143434143231211133334234242322312431312143312143214132343312443443234213223211324132411313144241344121111142132000000000000010000000000000000000000023114321232133431224414221211141342312443212232434233324221313242132421321343423441142213133424444444114333233344443133321221333142311123321313343324144314231322224243223342242311323441221223213324323443333122412132143224314233211221244322433111313413214332314342443132422324432222322143212332144122232343244134122423143331344222222124332224124223424311231122314123424222232123232234112234143213313432213444423132321313112133433143443324212133113343333243331322121434423424123211124213333434231233432423411334332242321244111132344313211341232331224423433334341444342341442434313334423213414334431223344142313234323342223312433111434212222233144112211234342214313331234432243433434433132122313334343241324323334311121421221343143111131213114243344343324412143414123234311122234112421242231322143333314321331314334214131213213424321142333341311234134222142323121343222232412442143132423312333333124143321141413233332212343322123111343222233243233431343143211232422223232331241133433322341213442111431244211344313141443112233324342114432221232222334133332132224133333344444413144414132212422431233132432312434113233344321312432442224124131332431231423334322424432212343232443333313232322233441233321114341122243322424233234431213122321342232333323334423222332321121142312321421213312133333321442322313132223143313144222321333322141424223423323433434124123211232233313331232432342123232132141111334122113432223432431232213213222413212412211242324331244331223112333433314322314214314133324131343321300000000000100000000000000031443231322332211431422431144132123411441122111314432431143433341413144213422414322433412100000000000000000000000000000000100000000000000000000000000000000123132233313134414333112444432111211132332141244244233423133343242332114332421314314214133224334321132114343311434444222223441443432321211334413143123123243422123442222323113334212311242413141341331233241414331433313111123113241441312214323132322113224111221223434113341423414132224233333321314232433223334312141414332312223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342432224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434134321432322342132223412124123224432323214223322213222341314114434432211213121331432324244143234133131331132423212411312413132343342143312222313141223433332432332223141344213121322114144142122411332313343244244214412113232323312343114143444331431123213211111211132131212243324214344122314132143113143222342442133421233223242414414114112224132334342231233312224314344414214211224233441414342334323341111212143321213422223214343322224321242132441424211323312143241320000000100000000000000000000000000000000000003244424222434223310000100000212124233432001000000000000002434333341312443323141331224211132332311414214322342233221314421142311141111122112131131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221434234114231244321224122313443324113234341414422141324223231313414324123114123344243334444234412342311413333214444111142214123224344213233313333123113121413211241243321111231314111421322333331114323233212411341211434114221334223443411422333231324421113334223344434211341243222443324133134113214443143144313322423123213443211443241231114132423442224122444314424122431222121211142122214133334123432313333133332311413141221211341342132424342342212231132312312233442231221323113332432424143233132232131311211432342431312323211421234244314233421221112332223114322333322423323324422233313341434141243144412324131422312131441331444121344243212213242422441131221321 313111331111433232144221224244211221123442423222144121322341214423123112142221232312314234433223334424323111121434333121434323343422222344322343213342121131123113311231124213213344432133221143232141213121213211414334444423324332232213222412432133224222133423143344113332431243223212121132421143314342333432311212112314143413414443113141243112134311233112323323324131212144443134222344411143112411123323243224421212344212134134134314323414443244433342231131231441312312422423441423132111233143112131314343421233222414233121312242141411224342423314233321241223231224343422341141121131442333332321334331134212421123243413141224222331323124431122323143131342344221132124231411223122242344314333114134112213121214323333242141412143213242232442242232124244224134223231214311143444414313232214333423142112234113213213122412213323222142224111211413331323242234441122414324112111234411122344343411314112122434234133341342441331343333232441412132233344231122134122331123233331432423113422241233444331412314243141244233233143432111343133331412321141323323231131312112123124321423132323223212142213134223224211223231131123342224333143312411322244111431112112441221113133433412212312213132341114234442311313441114333421343322332212322222444242133332321421222122332313211133322413144434214331121413222124422121313333114323432221333132311444233412222342344322241332321422334443444111334144141141333342131231143412423234423423241121413241413224313111144124134131221312413424411114114213114211111233414142144214242423243141233233323322133232211322344442213243421134313134424231434434122443221312421333134312134223143332412214411412141141143213131334324444124412433334414431423432231244133412232143434421413441432311313314223413441333124233431214422311323112342144322221121114211111431142121214324132443443421313432243213134413222131142321221312432321141232234243123332232213444311232111141124423321113333334422211222433131241214131342232242122124214232234214222212331134213112111221132133433241422412222221231121433322413444423112321422221341432241432221324111432433322124132123113343224123434343212132133412331342324431232221121441134123232122234333311222242211342221342333312133214412311143333133411234114211244332113143432143231222133334232421112124423414411124421231114143312443443232231441431342332411311123341342121331344114100000000000000000000000000000000000023114323214143312242414221211141342312443212232434233324221313242112421321343423441142213133424444444114333233334443133321221133142311123321313343324144314231322224243223342242331323441221223213324323411333143222222331242334231431443132344212441313412214332314342443132422324434222322143212332124122232443224314122441123431344442143224114412323444343333231431132221244424412141232444322431411433333432413244242332113333112133433143443324212133111343333343331322141434423434113311121221341231243433431423413334132242341244111132324313211141232331224423433334341244342341442434313334423213414334431223342142313234323342123312433111414212222133144112211234342414313331214432243433434433132122313332343241324323334311123421221343143111131233114343344343324412143414123244311342234112421242231322143343314321331314334214143233213144321142333331111214112222212323111343222233231242121142231411132114124321143321433243234414343122443331343243214311233233321343411232422223212311241121233322141213432111431244411344313141423132233144342112433223242222332333332112224121331324444431144434132212422431233132432312434113233344321312432442224124131332431433422424342424434432341234222311111432342131223211123332423342422342232431114431213122321342232333323334423222334331121324312331223213312333121344424224313132223143313142243321133324121242221421433224412144343431332323124343414434322341214224323333334344232411223332431432233212224413232412211222341331442331241234333431234141132233113321242133123141300000000001000000000000000012443231142112243212422431142132123411441122111314432431143433341433234241444312114431412300001000000000000000000000000000000000000000000000000000000000000122134233333134434323332433234111241322132243224422231411314132224333114312423332341332223222332141132111113333432444222222141423434321333332233121422123243422121424242341233134233313441233241321313233441414331233113111423113241411312214323332222132223141421233412113341422112312114213133321314232433223334312441434132414324313242422334311143123233213414334244224133112424233233224413433424223143423321233331421113134433223243123222413322332324222314131241441332342113132243223213212433322432424222313211431242322341123412443422322434333324322313343234434321223134442234232322342323342413131221421324441441233234231444112123333343312222433312233234441223122112222434243434334333432323342132223312322123224432323231223323131232321334434212432433234133341432124224143234133131331222223442211342413112123444142114241111121223433132413311444442122431131122134224142122421214331141122244214412113232323412143414143444331431143213213111211342311434411322212124122414312343313342242342412134423432223422412414114112224132334342231233312224114324412121123412111141234324314423132433423343131223323222243131122243111224434243241211241124123231340010000000000000000000000000000000000000000004244342442412423130000000010412122231231100000000000000002434141141412221423241133414232134333114414414442342231211314441122311241411124314114131413231241142212312432241442232133333432313241123244424221343322244213212112221144131442133423121323422322412421121433211123442222223321322221434434114231244321224122321223422113212223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211233313331111113121413231441243323221432314111221142233321114323432214213241141434114221334223443411422333231324421113334223344434211341243222443324133134113214443143144313322423123213443211443241231114132423442224122444314424122431222121211142122214133314123432313333133332311413141221211341342132424342342212431132312312233442231221323113332432424143233132232131311211432342431312323211421234244314233421221112332223114322333322423323324422233313341434141243144412324131422312121333231444143413241213213242422223413433323 313113411133211412322213214224243221133442433222134121434142114423123112124333232313244334433223331424123111121434333123434323343422242342422343213342121131123113311231124213213344432133221143232141313123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313442144341134224124211313112411133123243442221432342214134134134314323414423244433343232231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341222212233442323222341133323131322423332321334331114132421123213413344144222131333124431322323343131342344221132144231411311222224221324341314312444213121214323133242141412143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443233121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433241432414324241433121423322413442333334143312413441432443213221124311214421322124342121311131442123222343234334133142131342324441232221121441134123234122234333311242242211342421342333312133214212411143331133411234114211244332113143432143231222133334232421112124423414411124443414332321343421212212231421231122331213433124241344121333144132000000000000000000100000000000000000022334321232143431244414231212141312332443234234412413343221213242132121121141423241122213341242322242314112222342443113143222312424333123121211121144444114413222123231343342223113443321423323313142123441331142422132143224312233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213433234231233442223411114132242321244111132344313211341232331224423433334341424424133232332333332223131434224213214124442333334111124243332434314413432222233344132232314142214313331214432243433434433132122313334343341324323334311121421221343143111131213114243344343324412143414123234311122234112431242231322143333314321331314334214131213213424321142333341311434134222142321121343222232412444143132431411132114134321143321433233334414323142443332321443414313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144414132212121431233132432312434113233323141312132442221324131331231233423424322424434432341234223333313232322233441233321112341122243322424233234431213122321342111333322332423222332323322144312331223213312333121344424224313132223122113142223321133324141422421223423233414124123211332233313331232432322321234224323333334322113431223432431232213213222413232412213344141313224333221112333433312141132213113323224131321123100000000100000000000000000012441232124134413212422223122134321213321344331334231241321413141413142213444412314431412100000000000000000000000000000000000000001000000000000000000000000142134233313343214333132233234111241322133143224424233411314132224333114312423332341332223222332141132111113333432444222222141444412341313332233121122341233244331442222323113332432313412213241341331213241414331233113111423113241411312214323332322132223141421233412113341422112312114213133321314232433223334312441434132414224343242422124311243321231411434132314234333112214443233222433433423221143423321233331421113134433223243123222413324332324222313131241441334342133312423423223212431342232224222312211431242322241323413443422322434331442124213431214234123223134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434134321432322342132223412124123224432323214223322213222341314114434432211213121331432324244143234133131331132423212413342413112123342143312221131321442311312212132223141344213123122112142142222113332213323244444244112331314333314341122331212321433221311331333431342311434411322232324124312112143333143222342442133421233223242414414114112224132334342231233312224314344414214211224233441414342334323341111212143321213422223214343322224321242132441424333323322241432120000000000000000000000001000000000000000000003244342442432441310000000010234142213231010000000000000002434333341312221411141331221231312332314332431442342231411312321324234121411344332134223413431141123423134212223231413313411214131434341441424221343322244213212112241144331442133423121323422322412421121433211123442222223321322221434434114231244321224122313423422311212223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211333313331111143121413231241243323223432334213211143233121314321412214223213144222332221332223443311322112243344221443332113344434211143411424241124113434113233441143144331342441441413231111221242423332134244422443344324314324324213342343211142122214133314143432313333133121231433331411213331343312422424132412413132312134233424121241323113332432424443233132232131341211432342431312323211421232442314233223121232332143121324133322221123134422442131321442421241232214343323221132321333231444143413241213213242422223413433323 313113331111433234142213214224243221133142421222144121322342114423123112142221232312314234433223331424123111121434333121434323343422422342422343213342321331123113311231124213213344432133221143232331213123213211414334244223324344232221432233332314234222331421143344113332431223223212121132423143314344313212311234212314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131144134314323414243224433342231231231441312312422423441223132111233141122131114343421233222444233121132242141421224342423314233321241223231444343422341133323133322423312321334331134232421123213413141224222333323124431122323143131342344221132342213411321222224221324343312312444213121214323333242141412143213242232442242431334244224142243231213311143444414313212234132143442312234111213213122212213333422142222111211433331323242234143122424324112111234411122341343411314112141322234333313134241111143132212423432124111322233122114122331223232343432423111414223223424232414414223111224233232123444331323113331432421121343321311131312112123124321423132323223214142213134321434211223231131123342224333143312411322244114431112114441223233133434412232332313112341113234444311333141314333421343121232333322222443242232342341421222312332113211333322433144434214333341413222422422323311333112324231223133133313224434412242342124322241112323222312443442131334342143141133122331431141412323214223423243123213243412244333111324324114133221312411444431144114232122441411234241122144214243223441343233213123322133232221322344222213443421134334132222211444434142443221312421333134312134223343332412214211412121141143233131314322344324212233334413431443432231244333412232143334422413441432311313314223413441333124231231214432311133311322144324221321114211111431142121234124132243443421313432443313434413222131142321221312432341141214211121322112412213444311212111141124423323113333332422211224433131441214133324332412222124214232234214222212331134213112111221122133433431432414224441233121433324413442333334321412213414414421232243113334234421322124342121311131442123222343234332333112132324124143212234121433134123432314232211212224444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413124143414332321142221212232231421231322332413333124241342121331144134000000000000000000000000100000000000023114343214142312142412231232443142332413212234412413323422332432132121341141423441142211133424442444113333432344243313321231332142311121321211143144144334233322224243223142222111323443223231233122123441333142222132143224314233213221242322433111313433314332312342443132422324434222322143112332344122234343224334132443143331344222222124332224124223424311231122314123424222232123232234112234143213332134431222223134321133331131413143244314444131313313241241211122121432423422113311344113333234231213432423413334132242341244111132324313211141232331224423433334343424424133232332333332223131434224233214124442333334111124243332434314414434242233344112231234142234131131231414121242234431212424413134221221314323112223321441211343143131131233114343344343324442143434333244331122232112421242432322343343322331431314334214143233213424321142332341311214134222214323121343222232412444323132431411132114124321143321433233234414343142443332321443214313233433121331413331422223232331241133433322341213432111231244211122131321224334321123142332213223232332312333314132244323331224144413134212314434142234423434441114212331331324144134444242211324233111211233423424342424434432341234222213131234124213241233321114341122243322424233234431213122321342232333323334423222332331121322312133431333114341321341424234313132223122131122323321133322141422421223423233414124123211332233313331232432322321234224323333334122113431223432431232413213122233234212433242341333224333241112333433312122314214314133224131121123100000000100000000000000000012441232124134413212422223122134321213323344331334231241341413141413142213444412314431412300000000000000000000100000000000000000000000000000000000000000000123134231313333214333112243434111243322333141424422233411134132222333114334141312314214133224334321132111343211414422431422141423434321333332233121422341233244331442222323113332432313412213241341331233241414331211121221123113241441312214323332322333223111221233412111331422112132124231333313314232433223334312441434332414324313242422334311143123233213414334244224133114424243233224433231424223141443121213311432131334431223423133222413142312124222113131244441334322133312423423421212433322434244222313331431242322341123412443412342434333324322313433214234123223134441234332322342323322413133421221123443231133232231244314123433323312222232332233234441423122112222434243434334323432323342132223312322123224433323214423322213222321314414432432211213131331212322324143234133111113224223442411342413334343424223114421131321443311312212132223141344213121122114144142122411332313343244244214422113232323412143114143444331431123213211111211332131212243324212324122314132343133343222342442133421233223242414414114112224132334342231233312224314344414214211224233441414142334323341111212143321213422223214343322224321242132441424333323322241432120010000000000000000000000000000000000000000003244342442412423130000000010412122231231100000000000000002434141141412221423241133414232134333134414414444343431213214423122311121411324312134223413231221323412312431323231413313311214131441123244432441131134312231334434343323313224311241123122214222414122343131433421222422223341322241434434112233244321224122313443322121214341414422141324223211313414324123114123344243334444234412342311413333214444111142214123224344213311313331111113121413231441243323221432314111221142233321114321432114213241241422314223314213443411322112233124421441214113344434211341243222443324132131133233441141124333342441441413231211221242423332134243421443344324314324324213342343211122124244133132441324233133132121231431331221411142342132422342342212431112212332221424121241321113332432424143233132232131311211432342431314323211421234242334243223223213422143321124133342221123334422232131321434421241232214323321221112131433343134343314243212413242422223413433323 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121111123113311231124213213344432133221143232141313123211211414334221223324344232221434212432133234222323233122144131313231421423212323114421241312142313232313232112114143442414423113441223112334311233112323323324133442144341134224124211313112411133123243442223432344214131144134314323414423244433343232231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143442341141121131442333334321334331311133221323313411141224222333323124423341114321324124222213312124231433223112242344314333114134112131343424422131144312412321443342432444242422124242224334223231214331111124412333212232312423443112234113213413322414433323222332444111311433331123242434441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412214312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123133232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323132342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141214211123322114413221444311313311343144443143313331222412231324443331443234133324332412224124214232234214222212331134213112111221122133433231432414222441233141433324413442333334321412213414314421233443113334234433324324342121113333224123434141412112113412112324144143214424143233213331212314412211212244424213121444131111234224431243314311131323134414242114212113331121214121333122111112324421112124423412413124443414332321343421212134413223211324132413333344342314331113124134000000000100000000000000000000000000023114423214142312144414221211141342312443212232434233324221313242132421321343423441142213133424444444114333233344443133321221333142311123321313343324144314231322224243223342242311323441221223213324323443333122412132143224314233211221244322433111313413214332314342443132422324432222322143212332144122232343244134122423143331344222222124332224124223424311231122314123424222232123232234112234143211332112431222223134321133331331413143244314444131313313241241211122121432423422313331344213433234231233442223411114132242321244111132344313211341232331224423433334341424424141442434313334423213414334431223344142313234323342223312433111434212222233344132432314142414313331214432243433434433132122313334343341324323334311121421221343143111131213114243344343324412143414123234311122234112421242231322143333314321331314334214131213213424321142333341311434134222142321121343222232412444143132223332333314122121323341211433312432143322123111343222213343233431343143211232242321413333441133213132323133233331413212211344313123423332233124124112433443232322112333332132224123313344444413144414132212422431233132432312434113233344321312432442224124131332431231423334322424432212343232443333313232322233441233321114341122243322424233234431213122321342232333323334423222332321121142312321421213312133333321442322313132223143313144222321333322121242221421433223412144323431332333323141232432122321232132323333334322113431223432431232213213222233234212233242141333224311421112133431312122312214314133324133123121300000001000000000000000000012443431142334211412224223342114341411443142333314412243343413321411234241442414314431432100000000000000000000000010000000000000000000000000000000000000000223134231313144214333112243434111243322333141224424231411334132222333114312423332411314222244334321133111113331414442431422141443432241333332233121422341233244331442222323113332432313412213241341331233241414331233113111423113241411312214343332222132223141421231412113341422412312114213333321314232433223333314141434132414224113242422124311143121231211212132244222134112424443233234433231423423121423321113331432131334433221423133222413142312324222313133241433134344133312421243223212433322434244222313231431242322341123412443412342434333324322313431214234123223134441214233322312323322413131441241323443231213234231244314123433323312222433332233234441223122112222434243434334323432323342132223312122123223432423214223312213222321314414434432211213131331212322224143234133131113224223442413342411134341424222114222313141223433332413311444442122431131122134124142142421214331141122242214412113232323312343114143444331431123213211111211132131212243324214344122314132143113142242342442134423432223242412221334112234332334432211233322242132342144214211224233421414142334323341111212143321213422223214343122224321242132441424211323312143241320000001000000000000000000000000000000000000003244424222434223310000100000212124233432001000000000000002434333341312443323141331224211132332311414214322342231411312321324234121411344332134223411431141123423134212223231413313311214131434341441424221343322244213212112241144331442133423121323422322412421121433211123442222223341322241434434114233244321224122321223322113212341414422141324223231113414324123114123344241334444234412342311413333214444111142214123224344213333313331111113121413211241243343211232314111221322333321114321432212411241241422334421314413243413322333231324441113334223344414413141243222443324133114113233441143144331342441441413231111221242423332134244422443344324314324324213342343211142122214133334143432313333133121231433331411213331343312422424132412413132312134233424121241323113332432424443233132232131341211432342431312323211421232244314233421221112332223114322333322423323324422233313341434141243144412324131422312131441333134343444241212431442422223133223323 313113331111433234142211223442411241123142421222144121322342114423123112142221232312314234433223331424323111121434333121434323243422242312422343213342124131123113311233124213213314232314424314412133213123211223412312221223324344232221434212432133234222323233122144131313231421423212323114421241312142313232313232112114143442414423113441223112334311233112323323324133442144341134224124211313112411133123243442221432342214134134134314323414423244433343232231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323124423341114323324124222213312124231433223122242344314333114134112131323424422131144312412321441222223422222431334244224142223233413111311144444313212232312423423112234123213413322414414323222132444111311433333343242234421122412123134111234414322324341211133114142434234133341344441331343333232441432132231144211122134122331123433331432423113222221233424331412314243141244233233144444311424113331432421141343323231131322312123144321133112223243112342211134223234433113242133133324144313141312411322244111431114334431223213133233222232332313312443114214242311313443111333221343322232232122222443242232332323421222312332111211333122433144434214333341413222122422323331333112334231443133112331444234412122342142322241314321422314123444131334112113241333122331431111412333214223423143123231243432242331114324344334131443231233444431113314212122441431214244242144414442421241343233212121322133232221322344222213243421134334132224211444434142443221311121313132312322243341332434414213132321141143233131314322344324212233334413431443412413424333412232143334422413441432311313314223413441333124231231214232311333311322144324221121114211111411142121412124132223433421313432442313434411222131142321221312432321141212211123322112413221444311313311343124243143313331222422211324433331413234133324332412224124214232234214222212331134213112111221122133433231432414222441233121433324413442333334321412213414314421233443113334234433324324342121113333224123434141412112113412112324144143214424143233213331212314412211212244424213121444131111234224431243314311131323134414242114212113331121214121333122111112324421112124423412413124443414332321343421213134413223211324132413333344342314331113124134000000000100000000000000000000000000023114423214142312144414231232141144332343214234412413343221213232132121341141123431142411133424442444113333432344223313321231332142311131321211143144144331233323224243223142242111323443223223212322321341333442422134143424434311211221242322433111213313214332312342443112422324434222122143212312344122232343224334134443343331344222222134332224124223424311231122314123422242232123232234111234143213313432213444423132321313112113433143443324212123123341333243331322321434423224113311124213333414231233442423421134334424423431332314344333143344214123442241243342123444342341432432311334223213214222231423324112133224313322223134214344213414342211124112211234142234131131231414121242232431212424413134221221314323112223321221413343343111131213114243324343324412143414123234311122212112431242231322123343314331331314334214131213213424341144333341311434134222142321121343222232412444143132431411132114134321143321433233334414323142443332321443414313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144414132212121431233132432332434113233323141312132444221324131131213233423334322424432212343232443333313232322233441233321114341122243322424233234431213122321342232333323334423222332321121142312321421213312133333321442322313132223143313144222321333322121242221421433223412144323431332333323141232432122321232132323333334322113431223432431232213213122233234212433242341333224311421112133431312122312214314133324133123121300000001000000000000000000012443431142334211412224223344114341411441142333314412243343413321411234241442414314431432100000000000000000000000100000000000000000000000000000000000000000223134231313144214333112444432111211132332243244244233423133343242332114332421312314214133224334321132114343311434444222223443443432321211334413143123321233224321422222323233334212311242413123123133233241414331233113111423133241443313214323312344133423111221233412111341422112133124213333321314232433223334314441434334414224113242422124311143121231211212132244222134112424443233234433231423423121423321113331432131334433221423133222413142312324222313133241433134342133312421243223212433322434244222313231431242322341123412443412342434333324322313431214234123223134441234332323342323322413131421221323443231133232231244314123433323312222232332233234431223122112222434243434333323432323342132223312122121243432423214223312213222321314414434432211213131331212322324143234133131113224223442413342413132343444222114222313141223433332432332223141344213121332114144142122411332313343244244214412113232323312343114143444331431123213211111211132131212243324214344122314132143113113222242444324443432241242212221334112234132334342211233322242132342142214211224233441414142334323342133423343131223323222243131122224121242132441424211323322243241121000000000000000000000000000000000000000000003244444422434221311000000000214142231432000000001000000001434333344422221423241131224231132332311412414442342231411312321324234121411344332134223413431141123423134212223231413313411214131434341441422223343322242413212112241144331422133423323122214241234122323413211143422221441344122423424432334121442313412144121221422313234341414422141324223231113414324123114123344241334444234412342311413333214444111142214123224344213333313331111143121413231241243323223432334213211143233121314321412214223213144222332221334223441431322332231324421143334223344414413143411422241112333131113233441143144331342441441413231111221242423332134244422443344324314324324213342343211142122214133334143432313333133121231433331411213331343312422424132412413132312134233424121221323113332432424443233132232131341211432342431312323211421234244314233421221112332223114322333322423323324422233313341434141243144412343323221132321333231444143414241213213242422223133233113 313113331111433234142211223442411241123142421222144121322342114423123112142221232312314234433223331424323111121434333121434323243422222342442423213342124131123113311233124213213314232314424314412133213123211223412312244214322344232221432233332314234422131423143344113332431223221312121132421143314344313212311234212314143442414423113441243112334311233212323323324133242144341114244124211314112411133123243442221432344214131244134334323414423244443343232231331441342312422422421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422321411222223422222431334244224142223233413111311144444313212232312423423112234123213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114121332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232333322222443242232342341421222312332113211333322433144434214333341413222422422323311333112324231223133133313224434412242342124322241112323222312443442131334342143141133122331431141412333214223423143123231243432242331114324344334131443231233444431113314212122441431214244242144414442421241343233212121324133232221322344222213243421134334132224211444434142443221311121333132312322243341332434414213132321141143233131314322344324212233334413431443412413424333412232143334422413441432311313314223413441333124231231214232311333311322144324221121114211111411142121412124132223433421313412442313434411222131142321221312432321141212211123322112413221444311313311343124243143313331222422211324433331413234133324334212122322134214234214222212331134213112111221132133433241432414222243233121231322413442333334323412213414414221233221124311214421322124342123311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144334233322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213433234231233442223411114132242321244111132344313211341232331224423433334341424424133232332333332223131434224213214124442333334111124243332434314413432222233344132232314142214313331214432243433434433132122313334343341324323334311121421221343143111131213114243344343324412143414123234311122234112421242231322143333314321331314334214131213213424321142333341313214112222214343122321441412211242143132431411132114134321143321433233334414323322123111343222213243233431343143211232422223232331241133433322341213442111431244211344313141443112233324342114432221232222334133332132224133333344444413144414132212121431233132432312434113233323141312132442221324131331231233423424322424434432341234223333313232322233441233321112341122243322424233234431213122321342111333322332423222332323322144312331223213312333121344424224313132223122113142223321133324141422421223423233414124123211332233313331232432322321234224323333334322113431223432431232213213222413232412211242324331244331223112333433314322314214314133324131343321300000000000100000000000000031443231322332211431422431142132123411441122111314432431143433341431142213442424322431234301000000000000000000000000000000000000000000000000000000000000000122132233313134234334312443432313411132313121224424331411334132222333314312423332341332223222332144113111113331414422431422143443432323213312233121422341233244331442222323113334212311242413123123133233231313121213121224123332233443333224124332344133223111221233232113443142112112124213333321314232433223334314441433332414224343242422124341243321231411434132244222113132212443233222433433423221143423321233331421113134433223243123222413324332324242313431241441334142133312423423223212431342232224222313211431242322241321413443421322414333324322313341234434323223334331434212322344323322213111421421323443231213414411244114143423323314222232132233434441222142122422434241434314323232323442134223312122123224432323214423322213222321314414434432211213131331212322324143234133111113224223442413344413112123444222114222313121223433132413311444442122431131122134124142122421214331141122244214412113232323412143114143444331431123213213111211342311434411322212124122414312343313143222342442324443433241242212221334112234332334432431233312224114324412121123412111141234324334423132433423343131223323222143131122243111224434243241211241124123231340000000000000000000000000000100000000000000004241444422434221310010000000214142231432000000000000010001434333344414221423243143414432134333134414414444142231211314441122311241411124314134131413231241142212312432241442232133333432313241123244222221343322212211212114241123113222133223123122214241234122323413211143422221241344122421424434334131442313412144121221422313234341414422141324223231113414324123114123344241334444234412342311413333214444111142214123224344213311113111323113121411431241443323211232312111221322323321114341432232211241211222332221334413243311322112233344421443334113344434241343411422241124113131133233441141124333342441441413231211221242423332134243421443344324314324324213342343211122124244133112441324233133132121231431331221211142342132422342342212431112212332221424121241321113332432424143233132232131311211432342431312323211421234244314233421221112332223114322333322423323324422233313341434141243144412324131422312131441331444121344241412411241322223413433323 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121131123113311231124213213144432133221143232141313123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421223314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221223342413112333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243132342211134223234433113242133133324144313141312431322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233112123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323112342144322223321114211111231142141214124132223443421313432423333434411242131142311221322432341141232234243123332232213444311232111141124423321113333334422211222433131241214131342232242122124214232234214222212331134213112111221132133433241422412222221231121433322413444423112321422221341432241432221324111432433322124132123113343224123434343212132133412331342324431232221121441134123232122234333311222242211342221342333312133214412311143333133411234114211244332113143432143231222133334232421112124423414411124421231114143312443443232231441431342332411311123341342121331344114100000000000000000000000000000000000023114323214143312242414221211141342312443212232434233324221313242112421321343423441142213133424444444114333233334443133321221133142311123321313343324144314231322224243223342242331323441221223213324323411333143222222331242334231431443132344212441313412214332314342443132422324434222322143212332124122232443224314122441123431344442143224114412323444343333231431132221244424412141232444322431411433333432413244242332113333112133433143443324212133111343333343331322141434423434113311121221341231243433431423413334132242341244111132324313211141232331224423433334341244342341442434313334423213414334431223342142313234323342123312433111434212222133144112211234342214313331214432243433434433132122313332343241324323334311123421221343143111131233114343344343324412143414123244311342234112421242231322143343314321331314334214143233213144321142333331111214112222212323111343222233231242121142231411132114124321143321433243234414343122443331343243214311233233321343411232422223212311241121233322141213432111431244411344313141423132233144342112433223242222332333332112224121331324444431144434132212422431233132432312434113233344321312432442224124131332431433422424342242212233223212242311111412342131223211123332423342422342232441212414431344143324212123442142342343332221141124134321421213312133333321442322313132223143313144222321333322143424223423323433434124123211232233313331232432342123432132141111334122113432223432431232213213222413212412211242324331244331223112333433314322314214314133324131143321300000000000100000000000000031443231322332211431422431142132123411441122111314432431143433341431144213442424322431234301000000000000000000000000000000000000000000000000000000000000000122132233313134234334312443432313411132313121224424331411334132222333314312423332341332223222332144113111113331414422431422143443432323213312233121422341233244331442222323113334212311242413123123133233231313121213121224123332233443333224124332344133223111221233232313443142112112124213333321314232433223334314441433332414224343242422124311243321231411434132244222113132212443233222433433423221143423321233331421113134433223243123222413324332324242313131241441334142133312423423223212431342232224222313211431242322241321413443421322414333324322313341234434323223334441234232322342323342413131421421324441441233234231444114123333343312222232332233234441223122112222434223434334423432323342132223312142141323432424214223312213422321311414434432211213131331211322224143234133131113224223444413344413112123444222114222313121223433132413311423141344213121322314144142122411332313343244244214412113232321332343114143444331411123331311131413332133432213224212322322344134113133143222342442133421233223242414414114112224132334342231233312224314344414214211224233443413142333323342111212123323311422132113343344424113324114233421333323322241432120000000000000000000000000000000000000000100003244444424234223310100000000214142231432000000000000100001434333344414221423243143414432134333134414414442342233221314421142311141111122112111131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221434234114231244321224122313443422311234341414422141124223231113414324123114123344241334444234412342311413333214444111142214123224344213313313331321143121413231241243323223432334213211143233121314321412214223213144234114221334413243311322112233344421443334113344434241343411422241124113134313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133334123432313333133332311413141221211341342132424342342212231132312312233442233223343133431232224123233132232131343211432122431312321221421432442314233223121232332223114342333322423323324422233313341434141243144414423321221112133433341444121344241212411211344441131221321 313113411133411412322113214224243221133442423222134121434142114422133112124333232313244234231442114414322241443232142321214341343424222342442423213342124131123113311233124213213314232314424314412133213123211223412312244214322344232221432233332314234422131423143344113332431223221312121132421243314344313212311234212314143442414423113441243112334311233212323323324133242144341114244124211314112411133123243442221432344214131244134334323414423244443343232231331441342312422422421423112111233141122131114343421133441244233121334221144223224322423314233343222212231442323422311333323131442323332321334313114132421123213411141244222331323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112111234414322324341211113114141322234333313144241111143132232423432124111322233122134122331223232343432423111424223223424232414414223111224233232123444311343113331434423141343323231131314112123144321133132243243112342211134223234413113242133133322144313141312213144244134431114134441223213133434412232332313312341114234444311313441114333421343322214233322422413242232132321221222122432113211332142233144414214333321213242122422323311333112324231223133132331444234412222342144322241312321422314423444131334112141141333122331431141412323234223423243123213243412244333111324324134131223312413444431114314212122411111234244122344214242423241343233213123322133232221323344222213243421134314132224431444414124444223111121333132141334221323332434414213412124143141212111231322344322212223332424231141412433424333232242143411442343233114133412131411341121422311211212334432311323311322144324221311114211111431242121234124132243443421313432443313434413222133134323233224132323321412211123322112413221444311313311343124244143313331222422211324433331413234133324334212122322134214234214222212331134213112111221132133433241432414222243233121231322413442333334321412213414414221233221124311214421322124342121311131442123222343234132333112132324124143212234121433134123432314232211212224444113121444331131334224431243334311331321434412242114212313331141214321233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332000000100000000000000000000000000000023314321134433431244442231412443112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144334233322224243223142242111321443223223212322341341333442422132143224314231431443132344212441313412214332314342443132422324434222322143212334144122232343224334132243143331344222222124332224124223424311231122314123424222232123232234112234143213313432213444423132321313112133433143443324212133113343333243331322121434423424123211124213333434231233432423411134332242321244111132344313211341232331224423433334341442342341442434113334422213414334431223344142313234323342223312433111434212222233144114211234142214331131231414121242232431212424413134221221314323112223321221413343343111131213114243324343324412143214123234311122234112431242231323143333314321331314334214131213213424321144333341311234134222142323121343222232412442143132423312333333124143321141413233332212343142443332321443414313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144414132212121431233132432332434113233323141312132444221324131131213233423334322424432212343232443333313232322233441233321114341122243322424233234431213122321342232333323334423222332321121142312321421213312133333321442322313132223143313144222321333322121242221421433223412144323431332333323141232432122321232132323333334322113431223432431232213213122233234212433242341333224311421112133431312122312214314133324133123121300000001000000000000000000012443431142334211412224223344114341411443142333314412243343413321411234241442414314431432100000000000000000000000100000000000000000000000000000000000000000223134231313144214333112444432111211132332243244244233423133343242332114332421312314214133224334321132114343311434444222223443443432321211334413143123321233224321422222323233334212311242413123123133233241414331233113111423133241443313214323312344133423111221233412111341422112133124213333321314232433223334314441434334414224113242422124311143121231211212132244222134112424443233234433231423423121423321113331432131334433221423133222413142312324222313133241433134342133312421243223212433322434244222313231431242322341123412443412342434333324322313431214234123223134441234332323342323322413131421221323443231133232231244314123433323312222232332233234431223122112222434243434333323432323342132223312122121243432423214223312213222321314414434432211213131331212322324143234133131113224223442413342413132343444222114222313141223433332432332223141344213121322114144142122411332313343244244214412113232323312343114143444331431123213211111211132131212243324214344122314132143113113222242444324443432241242212221334112234132334342211233322242132342142214211224233441414142334323342133423343131223323222243131122224121242132441424211323322243241121000000000000000000000000000000000000000000003244444422434221311000000000214142231432000000001000000001434333344422221423241131224231132332311412414442342231411312321324234121411344332134223433431141123423134212223231413313411214131434341441422223343322242413212112241144331422133423323122214241234122323413211143422221441344122423424432334121442313412144121221422313234341414422141324223231113414324123114123344241334444234412342311413333214444111142214123224344213333313331111143121413231241243323223432334213211143233121314321412214223213144222332221334223441431322332231324421143334223344414413143411422241112333131113233441143144331342441441413231111221242423332134244422443344324314324324213342343211142122214133334143432313333133121231433331411213331343312422424132412413132312134233424121221323113332432424443233132232131341211432342431312323211421234244314233421221112332223114322333322423323324422233313341434141243144412343323221132321333231444143414241213213242422223133233113 313113411133211412322213214224243221133442433222134121434142114423123112124333232313244334433223331424123111121434333123434323343422242342422343211141124131121131131431124333223312432334424344432133344123211211414334244214322244432221432212432333432222133423143344113332433223223212121132441143314344313212111234232314143442214423113441243114334331233212323123324133244144341134224124211313112411133123243442221432344212134134134314323414443424433342231231231441312312422423441223132111233141112131114343421233222412433121332242141221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213411322414433323222332444111311433331123242234441122412123112332434431124124141234333114121332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323112342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141214211123122114413221444311313311343144443143313331222412231324443331443234131144232242122124214232214414222212331134213112111221132133433241432414324241433121423322413442333334143312413441432443213221124311214421322124342121311131442123222343234334133142131342324441232221121441134123234122234333311242242211342421342333312133214212411143331133411234114211244332113143432143231222133334232421112124423414411124443414332321343421212212231423231122331213433124241344121333144132000000000000000000100000000000000000022334321232143431244414231212141312332443234234412413343221213242132121121141423241122213341242322244314112222342443113143222312424333123121211121144444114413222123231343342223113443321423323313142123441331142422132143224312233431221242122433111311413214332314342443132422324434222322143212334144122232343224334132243143331344222222124332224124223424311431122314123424222232123232234112234143211332112431222223134321133331331413143244314444131313313241241211122121432423422313331344213433234231233442223411314132242321244111132344313211341232331224423433334341424424141442434313334423213414334431223344142313234323342223312433111414212222233344132432314142414313331214432243433434433132122313334343341324323334311121421221343143111331233114343144343324412143414123244311122234112421242231342143333314321331314334214131213213424321144333331311234134224142323122321441412211444143332423332333314122121323341211433312432143142443332321443414313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413134212314434142234423432441114212331331324144134444242311324133111211433423424342424434432341234222313131234124213241233321114341122243322424233234431213122321342232333323334423222332331121124132133431333114341321341424234313132223142131122323321133322141444223423323433414124124211331333123343432132322321234224323333334322132411121312233412213233222233234214233244141313224333221112333433312141132213113323242133123141100000000000000000010000000012441231342334213212422431144132121411441122111132432431143413341413144213424414322433412100000000000000000000000000010000000000000000000000000000000000000123132233313134414333112444432111211132332141244244231423133343242332114332421314314214133224334321132114343311434444222223441444412321333132413141143123243422123424244341233134233313442233241321313233441414331233313111123113241441312214323332322333243111221433412113443142112112124213333321314232433123334314421434332312223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342432224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443233133234231244114121433323312222232332431214441223122112222414243434333323432323342132223312122121243432423214223312213222321314414434432211213131331212322324143234133131113224223442433344413112123444222114222313124442311312212132223141344213123122112142142222113332213323244424244112331314333314341122331212321433221311331333431342311434411322232324124312112141113143421234242334223432243244212414112431422324134432211131112442132142144214211224233421414142334323341111212143321213442223214343122224321242132441424211323312143241320000000100000000000000000000000000000000000003244424222434223310000100000212124233432001000000000000002434333341312443323141331224211132332311414214322342231411312321324214121411344332134223413431141123423134212223231413313411214131434341441422223343322242413212112241144331422133423323122214241234122323413211143422221441344122423424432334121442313412144121221422313234341414422141324223231113414324123114123344241334444234412342311413333214444111142214123224344213333313331111143121413231241243323223432334213211143233121314321412214223213144222332221334413243311322112233344421443334113344434241343411422241124113134313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133334123432313333133332311413141221211341342132424342342212231132312312233442233223343133431232224123233132232131343211432122431312321221421432442314233223121232332143121324133122221123334422442131321442421241232214343323221132321333231444143413241213213211342441131221321 313113411133211412322213214224243221133442433222134121434142114423123112124333232313244334433223331424123111121434333123434323343422242342422343213342124131123113311231124213213344432133221143232141313123211211414334244223324344232421432233332314234222131421122144131313231421443212321114421241312142333432311212112314143412414423113441243112334311233112323323324131242144443434222144411143112411123323243224421212344212134134134314123414443224433342231231231441312312422423441423132111233141112131114343421233222412413121112242141411224342423314233321241223231224343422341141121131442333332321334331134233221323313411141224222331323124423341114323324124222213312124231433223122242344314333114134112131343424422131144312412321443342432444242432124242224334223231214331111124412333212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232333322222443242232342341421222312332113211333322433144434214333341413222422422323311333112324231223133133313224434412242342124322241112323222312443442131334342143141133122331431141412323214223423243123213243412244333111324324114133221312411444431144314232122441411234241122144214243223441343233213123322133232221322344222213443421134334132222211444434142443221312421333134312134223343332412214211412121141143233131314322344324212233334413431443432231244333412232143334422413441432311313314223413441333124231431214422311323132342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141214211123322114413221444311313311343144443143313331222412231324443331443234313324334212122124214232234214222234113112433131233242132131431241432214232241233121433322413442333312143312213441414421233443113334234233122142341341131131224341434343212132133414132122324441332234121431134121232314412211212244444213121444131131334224431243334311131323434414242114212313131343432143231222133334234221322122421412443324121231112143312443443232213223211324132413333344342314121331142134000000000001000000000000000000000000023114323214143312242412321412421142312443232234412413343221213232132121341141423441142211133424442424113333432344243313321231332142311121321211143144144334233322224243223142242111323443223223213324323443333122412132143224314233211221244322433111313413214332314342443132422324432222322143212332144122232343244134122423143331344222222124332224124223424311231122314123424222232123232234112234143211332112431222223134321133331331413143244314444131313313241241211122121432423422313331344213333431231234232443411131312224421431332314342331143344214123442241241142341442342341442434113334422213414334431223344142313234323342223312433111434212222233144114211234142214313331234232243433434433134122311334343241324323334311121421221343143111131433114343344343324412141414123244311342234112431242231322143343314321331314314214131213213424341144332341311434134222142321121343222232412444143132431411132114134321143321433233334412323342443332321443414313233433121331413331424223232331241133433322341213432111231244211122131321224334221123142332213223232332312333312132224323131224444413144414132212422431233132432312434113233344321312432442224124131332431231423334322424432212343232443333313232322233441233321114341122243322424233234431213122321342232333323334423222332321121142312321421213312133333321442322313132223143313144222321333322121242221421433223412144323431332333323141232432122321232132323333334322113431223432431232213213122233234212233242341333224311421112133431312122312214314133324133123121300000001000000000000000000012443431142334211412224223344114341411443142333314412243343413321411234241442414314431432100000000000000000000000100000000000000000000000000000000000000000223134231313144214333112444432111211132332243244244233423133343242332114332421312314214133224334321132114343311434444222223443443432321333132413141143123243422123424244341233134233313441233241321313233441414331433313111123113241441312214323132322113224111221223434113341423414132224233333321314232433223334312141414332312223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342432224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312224232332233234431223122112222434243434333323432323342132223312122121243432423214223312213222321314414434432211213131331212322224143232113133131224223442433342413132343342143312221131321443311312212132223141344213121122114144142122411332313343244244214422113232323412143114143444331431123213211111211332131212243324212324122314132343133343222342442133421233223242414414114112224132334342231233312224314344414214211224233441414142334323341111212143321213422223214343322224321242132441424333321322241432120000000000000000000000000000000001000000000003244442442434221311000000000214142231432000000000010000001434333341412221423241133414231134323114414414442342231213214423122311121411324312134223413411141123423134212223231413313333432313241123244422223343322242413212112241144331422133423323122214241234122323413211143422221441344122423424432334221442313412144121223422311212323331244343324243211313214324123114123342243334444214412342231333323414222113342412123224144211233313333121113121413211241243323211232314111221322333321114321432212411241211234114221332223443311322112243344221443332113344434211143411424241124113434313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133334123432313333133332311413141221211341342132424342342212231132312312233442233223343133431232224123233132232131343211432122431312321221421432442314233223121232332223114342333322423323324422233313341434141243144414423321221112133433341444121344241212411211344441131221321 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121131123113311231124213213344432133221143232141313123211211414334244214322244432221432212432133434222133423143344113332433223223212121132441143314344313212111234232314143442214423113441243114334331233212323123324133244144341134224124211313112411133123243442221432344212134134134314323414443424433342231231231441312312422423441223132111233141112131114343421233222412433121332242141221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213411322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312332113211333322433144434211333341413222422422323311333112324231223113133313224434412242342124322241112323222312443442131334342143141133122331431141412333214223423143123231243432242331114324344334131443231233444431113314212122441431214244242144414442421241343233212121324133232221322344222213243421134334132224211444434142443221311121333232312332443341132434442213132321341143233131314322344324212233334413431443412413424333412232143334422413441432311313314223413441333124231231214232311333311322144324221121114211111411142121412124132223433421313412442313434411222131142321221312432321141212211123322112413221444311313311343124243143313331222422211324433331413234133324334212122322134214234214222212331134213112111221132133433241432414222243233121231322413442333334323412213414414221233221124311214421322124342123311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214321233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144334233322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213433234231233442223411114132242321244111132344313211341232331224423433334321424424133232332333332223131434224213214124442333334111124243332434314413432222233344132232314142214313331214432243433434433132122313334343341324323334311121421221343143111131213114243344343324412143414123234311122234112421242231322143333314321331314334214131213213424321142333341311434134222142321121343222232412444143132431411132114134321143321433233334414323142443332321443414343233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144214132212122431233132432312434113233323141312132442221322231131231433423424322424434432341234223333313232322233441233321112341122243322424233234431213122321342111333322332423222332323322144312331223213312333121344424224313132223122113142223321133324141422421223423233414124123211332233313331232432322321234224323333334322113431223432431232213213222413232412213344141313224333221112333433312141132213113323224131321123100000000100000000000000000012441232124134413212422223122134321213321344331334231241321413141413142213444412314431412100000000000000000000000000000000000000001000000000000000000000000142134233313343214333132233234111241322133143224424233411314132224333114312423332341332223222332141132111113333432444222222141444412341313332233121122341233244331442222323133332432313412213241341331233241414331233113111423113241411312214343332222132223141421231412113341422412312114213333321314232433223334312441434332312223311311224122313143121231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342432224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434134321432322342132223412122123224432323214423322213222321314414434432211213131331212322324143234133111113224223442413344413112123444222114222313121223433132413311444442122431131122134124142122421214331141122244214412113232323412143114143444331431123213213111211342311434411322212124122414312343313343222342442324443433241242212221334112234332334432431233312224114324412121123412111141234324334423132433423343131223323222143131122243111224434243241211243124123231340000000000000000000000000000100000000000000004241444422434221310010000000214142231432000000000000010001434333344414221423243143414432134333134414414444142231211314441122311241411124314134131413231241142212312432241442232133333432313241123244222221343322212211212114241123113222133223123122214241234122323413211143422221241344122421424434334131442313412144121223324311234223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211233313331111113121413211241243343211232314111221322333321114321432212411241241222332221334413243311322112233344421443334113344434241343411422241124113134313234241123124331342441443232433233443411231114132423242224122444314424122431222121211143144444141112141324232111412122211211143223433341213114242424132212413334224332233424131241323413331231242443233133212131441231432344211412323212441232442314231223121232332143121324133322221123334422442131321442421241232214343323221132321333231444143414243212413242322223133433323 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121131123113311231124213223312432334424344432133344123211211414334244214322244432221432212432133434222133423143344113332433223223212121132441143314344313212111234232314143442214423113441243114334331233212323123324133244144341134224124211313112411133123243442221432344212134134134314323414443424433342231231231441312312422423441223132111233141112131114343421233222414233121312242141411224342423314233321241223231224343422341141121131442333332321334331134232421123213441134144222131323124433322323343131342344221132124131431223122242344314333114134112131323424423131244112312321443241232442242431334244224144222231214311143444414313232214333423142112234113211433322414413323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113131433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232211444311313311343124243143313331222422211324433331413234133324332412222322234432234232222232333134213212111221134133243231422412224221231121433322413444423112321422221341432241432221324111432433322124132123113343224123434343212132133412331342324431232221121441134123232122234333311222242211342221342333312133214412311143333133411234114211244332113143432143231222133334232421112124423414411124421231114143312443443232231441431342332411311123341342121331344114100000000000000000000000000000000000023114323214143312242414221211141342312443212232434233324221313242132421321343423441142213133424444444114333233334443133321221133142311123321313343324144314231322224243223342242331323441221223213324323411333143222222331242314233411221242322433113313313214332312142441112422324434222322143212432344122232333224334122243143331344222222124332224124223424311231122314123424222232123232234112234143213313432213444423132321313112133433143443324212133113343333243331322121434423424123211124213333414231233442423421134334424423431332314344333143344214123442241243342121444342341432432311334223213214222231223324112133224313322223134214344213414242213144112211234142214313331234232243433434433132122311334343241324323334311121421221343143111131233114343344343324412143414123244311342234112421243231322143343314321331314334214131213213424321144333331311234134224142323122321441412211444143332223332333314122121323341211433312432143322123111343222213343233431343143211232242321413333441133213132323133233331413212211344313123423332233124124112433443232322112333332132224123313344444413144214132212122431233132432312434113233323141312132442221322231131231433423424342424432432341212242311111432342131223211123332423342422342232441112414431344343324212123422132342343332221141324134333431331314341331141222222311333322322331122323323111122141242221421433224412144324431332323124343414432322341214224123333334344232411223332431232233212224413232412211222341331444331241234333431234141132233113321242133123141100000000010000000000000000012441231342334213212422431142132123411441122111132432431143413341413144213222414322433412300000000000000000000000000000000000000000000000000000000010000000122132233313344214333112243434111243322332241244244233423133343242332114332421312314214133224334321132114343311414422431222141444312321313332233121422321431224321222422223233334212311442213223121133233231313121211121221123113241441312214323332322333223111221233412111341422112132124233333123314222233223333312141414332412223311211224122313143321231211434132344234333112214443233224413433423221143423321233331421113134233223243123222413324332324242313131241441334142133312423423223212431342232224222313211431242322241323413243422322414333324322313343234434323223334441234332322342323322413131421221123443231133234231244114123433323312422212332231234441223122112222434243234134323232323342132223312322123224432323231223323131232321334434212432433213331331432324224143234133131331222223442211342413112123444142114241111121223433132413311444442122431131122134224142122421214331141122244214412113232323412143414143444331431143213213111211342311434411322212124122414312343313342242342412134423432223422412414114112224132334342231233312224114324412121123412111141234324314423132433423343131223323222243131122243111224434243241211243124123231340010000000000000000000000000000000000000000004244344442412423130000000010412122231231100000000000000002434141141412221423241133414232134333114414414442342231211314441122311241411124314134131413231241142212312432241442232133333432313241123244424221343322244213212112221144131442133423121323422322412421121433211123442222223321322221434434114231244321224122321223422113212241414422141324223231313414324123114121344243334444234412342311413333214444111142214123224344213233313333123113121413211241243321111231314111421322333331114323233212411241241422334421314413243311322112233324421443334211341434213143243422443312133134313234241123124331342441443232433233443411231114132423242224122444314424122431222121211143144444141112141324232111412122211211143223433341213114242424132212413334224332233424131241323413332231242443233133212131441231432344211412323212441232442314231223121232332143121324133322221123334422442131321442421241232214343323221132321333231444143414243212413242322223133433323 313113411133411412322113214224243221123442423222134121434142114422123112124333232313244234431223334421323114121434333121434123323422242312422343213342124131123113311233124213213314232314424314412133213123211223412312244214322244232221434212432133234222323233122144131313231421423212323114421241312142313232313232112114143442414423113441223112334311233112323323324133244144341134224124211313112411133123243442221432344212134134134314323414443424433342231231231441312312422423441223132111233141112131114343421233222412433121332242141221224342413312333341241223231424143422341141121131442333134321334331311133221323311411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433333343244214421142212123112131244431124124141234333114122332234113111144231331333132232443432124111322233322134124331223232343432223111222243223422222414414223111244233242123444331323113331432421121343321311131312112123124321423132323223214142213134323434211223231131123342224333143312411322244111431112112441221113133434412212312233132341114234442311313441114333421343322232212322222443242132332321412222312332113211333322433144434214333341413222122222323331333112324231223131132331444234412122342124322241312323222312443442131334342143141333122331431141412331214223421213323211443432242133114324324334231443231233442433314314312122443131434244242114414432421241343233213323322133232211322344442213243421134314134444231434434122443221312421333134312134223343332434414213132321141143233131314322344324212233334413431443412413424333412232143334422413441432311313314223413441333124231231214432311133311322144324221121114211111411142121412124132223433421313432442313434211222233132223433222134123323234234243123332232213444311232111141124423321113333332422211224433131241214333324332412122322234232234232222234333134213112111221132133433241432414224441233121433144413442333334321412213414314421233443113334234233122142341341131131224341434343212132133414132122324441332234121433134121232314232333231422244213121444342133314123231213311341331323434412242211242332113143434143233222131332234242322312431312113124421231112143312443443232231421231322332413333124241344121331142332000001000000000000000000000000000000023314321134133431222442321412421112332443234234412413343221213232132121341141123441142211133424442444113333432344243313321231332142311121321211143144144334233322224243223142242111323443223223212322321341333442422132143224332233211221242322433111313413214334312342423132422144214422332133212332144122232333224334122243143331344222222134332224124223424311231122314123424222232123232434112234143413313432213444423132321313112113433143443324212133123343333243331322121434423424113211124113333234231233442423411114132242321244111132344113211341232331224423433334341424342331434412331222243213214224231223324142333234111122223332434311433414242233144112211234142214313331234232243433434433132122311334323241324323334311121421221343143111131233114343344343324412143414123244311342234112421242231322123341312331331334332214343232233422321142333331313214112222242323111343222233231242121142231411132114124321143321433243234414343322123332321243214313233433121343411232422223232331241133433322341213442111431244211344313141443112233324342114432221232222334133332132224133333344444413144414132212122431233132432312434113233323141312132442221124131332431233423334324444212233341234222311111432342131223211123332423342422342232441112414431344343324212123422132342343332221141124134333431331314341331141222222313333322322331122323323111122141422221421433224412144323431332323124343414432322341214224323333314344232411223332431232233212222413232412211222341331442331241234333431234141132233113321242133123121100000000010000000000000000012441231342334213211422231144132121411441122111132432431143413341413144213424414322433412100000000000000000000000000000000000000000000000001000000000000000123134231313144214333134244232111241132332123243224213411133343442333114312423332411314222224334321132111343311434444222223441443432323213312233121142341233244331442222323113332432313412213221341331233241414331233113111423113241411312214323332222132223141421233412113341422112312114213133321314232433223334314441433332314244313242422124311121141221211414132244222113134424444434224333231223223121321313213331232131314433243423133222213322132324222313131241441334342131312423223223212433322432424222313211431242322344123413443422322434331342124213431214234123223132441212232322342323322413331421221323443231133234231244114123433323314222232132233434441222142122422434241434314323232323442134223312122123224432323214423322213222321314414434432211213131331212322224143234133131113224223442411112413134341424222114222313124442311312212132223141344213123122112144142222111332213323244444244112331314333314341122331212321433221311331133411342311434411322232324124312112141113342242342442134423432223242412414114112224132334342211233322242132342144214211224233421414142334323341111212143321213422223214343122224321242132441424211323312143241320000000000001000000000000000000000000000000003244422442412223310001000000212122213232100000000000000002434141141312441311121333221211312132314332431442343431213214423122311121411324312134223413231221323412312431323231413313311214131441123244432441131134312231334434343323313224311241123122214222414122343131433421222422223341322241434434114233244321224122313423422311234341414422141324223211313414324123114323344243334444234412342311413333214444111142214123224344213211313331123113121413231241223323211432314111221122333321114323432214211241141422334421334223423431422112433144423441214111441334211331243212423322133131113214443143144313322423123233443233443411233112134243422443344324314324322211342341211122122414133334143432313333133121231433331411213331343312422424132412413132312134133424121241123413331432422443233132232111441231432344213412323212421234244314233421221112332223114322333322423323324422233313341434141243144412324131422312131441343134343413323212413242422223413433323 313113411133411412322213214224243221133442423222134121434142114423133112124333232313244234231442114414322241443232142321214341343424222342442423213342124131123113311233124213213314232314424314412133213123211223412312244214322244232221432233332314234422131423143344113332431223221312121132421243314344313212311234212314143442414423113441243112334311233212323323324133242144341114244124211314112411133123243442221432344214131244134334323414423244443343232231331441342312422422421423112111233141122131114343421133441244233121334221144223224322423314233343222212231442323422311333323131442323332321334313114133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144333143312411322244331431112114441223233133433412232312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443233121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311411242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433231432414222441233141433324413442333334321412213414314421233443113334234433324324342121113333224123434141412112113412112324144143214424143233213331212314412211212244424213121444131111234224431243314311131323134414242114212113331121214121333122111112324421112124423412413124443414332321343421212134413223211324132413333344342314331113124134000000000100000000000000000000000000023114423214142312144414231232141144332343214234412413343221213232132121341141123431142411133424442444113333432344223313321231332142311131321211143144144331233323224243223142242111323443223223212122321341313442422134143424434311211221242322433111213313214332312342443112422324434222122143212332344122232343224334134443143331344222222134332224124223424311231122314123422242232123232234111234143213313432213444423132321313112113433143443324212123123341333243331322323434423224113311124213333414231233442423221134334424423431332314344333143344214123442241243342123424342341432432311334223213214222231423324112133224313322223134214344213414342211124112211234142234131131231414121242232431212424413134221221314323112223321221413343343311131213114243324343324412143414123234311122234112421242231423143333314321331311334214131213213424321144333341311434134222142321121343222232412444143134431411112114324321143321433231334414341322123111343222233243233431343143211232422223232331241333433322341213442111431244211344313141443112233324342114432221232334312333332332224123331324444413144414132212121431233112232312434113233323141312132422221144131332431233422424342242212233223212242311111412342131223211123332423342422342232441212414431344143324212123442142342343332221141124134321421213312133333321442322313132223143313144222321333322143424223423323433434124123211232233313331232432342123432132141111334122113432223432431232213213222413212412211242324331244331223112333433314322314214314133324131343321300000000000100000000000000031443231322332211431422431142132123411441122111314432431143433341431142213442424322431234301000000000000000000000000000000000000000000000000000000000000000122132233313134234334312443432313411132313121224424331411334132222333314312423332341332223222332144113111113331414422431422143443432323213312233121422341233244331442222323113334212311242413123123133233231313121213121224123332233443333224124332344133223111221233232313443142112112124213333321314232433223334314441433332414224343242422124341243321231411434142244222113132212443233222433433423221143423321233331421113134433223243123222413324332324242313431241441334142133312423423223212431342232224222313211431242322241321413443421322414333324322313341234434323223334441234232322342323342413131421421324441441233234231444114123333343312222232332233234441223122112222434223434334423432323342132223312142141323432424214223312213422321311414434432211213131331211322224143234133131113224223444413344413112123444222114222313121223433132413311423141344213121332314144142122411332313343244244214412113232321332343114143444131411123331311131413332133432213324212322322344134113133143222342442133421233223242414414114112224132334342231233312224314344414214211224233443413142333323342111212123323311422132113343344424113324114233421333323322241432120000000000000000000000000000000000000000100003244444424234223310100000000214142231432000000000000100002434333344414221423243143414432134333134414414442342233221314421142311141111122112111131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221434234114231244321224122313443324113234341414422141324223231313414324123114123344243334444234412342311413333214444111142214123224344213233313331111143121413231241243323223432334213211143233121314321412214223213144222332221332223443311322112243344221443332113344434211143411424241124113434113233441143144331342441441413231111221242423332134244422443344324314324324213342343211142122214133334143432313333133121231433331411213331343312422424132412413132312134233424121241323113332432424443233132232131341211432342431312323211421234242334243223223213422143321124133342221123334422232131321434421241232214323323221132321333243134343314243212413242322223133433323 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121131123113311231124213213344432133221143232141313123211211414334221223324344232221434212432133234222323233122144131313231421423212323114421141312142313232313232112114143442414423113441223112334311233112323323324133244144341134224124211313112411133123243442221432344212134134134314323414443424433342231231231441312312422423441223132111233141112131114343421233222412433121332242141221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423243121413221412244313111142124131131221312413424411114112213412211111233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323112342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141214211123322114413221444311313311343144443143313331222412231324443331443234131344332242124124214232234214122212331134213112111221122133433231432414324241433121423322413442333334143312413441432443213221124311214421322124342121311131442123222343234334133142131342324441232221121441134123234122234333311222242211342421342333312133214212411143331133411234114211244332113143432143231222133334232421112124423414411124443414332321343421212212231421231122331213433124241344121333144132000000000000000000100000000000000000022334321232143431224414231212141312332443234234412413343221213242132121121141423241122213341242322242314112222342443113143222312424333123121211121144444114413222123231343342223113443321423323313342123441331142422132143224312213431221242122433111213313214332312342443112422324434222122143212332344122232343224334134443343331344222222134332224124223424311231122314123422242232123232234111234143213313432213444423132321313112113433143443324212123123341333243331322323434423224113311124213333414231233442423221134334424423431332314344333143344214123442241243342123424342341432432311334223213214222231423324112133224313322223134214344213414342211124112211234142234131131231414121242232431212424413134221221314323112323321221413343343311131213114243324343324412143414123234311122234112431242231423143333314321331311334214131213213424321144333341311434134222142321121343222232412444143134431411112114324321143321433231334414341322123111343222233243233431343143211232422223232331241333433322341213442111431244211344313141443112233324342114432221232334312333332332224123331324444413144414132212121431233112232312434113233323141312132422221144131332431413422424342242212233223212242311111412342131223211123332423342422342232441212414431344143324212123442142342343332221141124134321421213312133333321442322313132223143313144222321333322141424223423323433434124123211232233313331232432342123432132141111334122113432223432431232213213222413212412211242324331244331223112333433314342314214314133324131343321300000000000100000000000000031443231322332211431422431142132123411441122111314432431143433341411142213442414322431234301000000000000000000000000000000000000000000000000000000000000000122132233313134234334312443432313411132313121224424331411334132222333314312423332341332223222332144113111113331414422431422143443432323213312233121422341233244331442222323113334212311242413123123133233231413323213121124123332233443333224124332344133223111221233232113443142112112124213333321314232433223334314441433332414224343242422124311243321231411434132244222113132212443233222433433423221143423321233331421113134433223243123222413324332324242313131241441334142133312423423223212431342232224222313211431242322241321413443421322414333324322313341234434323223334441234232322342323342413131421421324441441233234231444114123333343312222232332233234441223122112222434223434334423432323342132223312142141323432424214223312213422321311414434432211213131331211322224143234133131113224223444413344413112123444222114222313121223433132413311423141344213121322314144142122411332313343244244214412113232321332343114143444131411123331311131413332133432213224212322322344134113133143222342442133421233223242414414114112224132334342231233312224314344414214211224233443413142333323342111212123323311422132113343344424113324114233421333323322241232120000000000000000000000000000000000000000100003244444424234223310100000000214142231432000000000000100001434333344414221423243143414432134333134414414442342231411312321324234121411344332134223413431141123423134212223231413313411214131434341441224221343322244213212112241144331442133423121323422322412421121433211123422241223344122421424434114231244121224122313443322113212223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211313113131111113121413211241243343211232314111221322333321114321432212411241241234114221334223443413322112233324421443314113314434213143411422241122333431133233441141124333342441441413231211221242423332134243421443344324314324324213342343211122124244133112441324233133132121231431331221211142342132422342342212431112212332221424121241321113332432424143233132232131311211432342431312323211421234242334243223223213422143321124133342221123334422232131321434421241232214344131422312131441331444121344241412411442422223413433323 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422341213342121133123113311231124213213314232314424314412131213123211223414332244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414423113441243112334311233112323323324131242144443434222144411143112411123323243224421212344212134134134314323414443244433342231131231441312312422423441423132111233143112131314343421233222412413121132242141421224342423314233321241223231444343422341133323133322421312321334331114132421123213413344144222131323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141322143213342232444242432124242224334223231214331111144412313212232312423443112234113213413322414433323222332444111311433333343244214421142212123112131244431124124141234333114122332234113111144231331333132232443432124111322233322134124331223232343432223111222243223422222414414223111244233242123444331323113331432421121343321311131312112123124321423132323223214142213134323434211223231131123342224333143312411322244111431112112441221113133434412212312233132341114234442311313441114333421343322214233322422413224232132321221222112432113211332142233144414214333321213242124422323311333312324231223133133311224434412242342124322241312323222312443442131334342143141333122331431341412331214223423213343211443432242133314324324334131443231233244431314314312122443131434244242114414442421241343233213323322333232323323122424213222413212134332224431444414124424223111121313132342334223343312432214211412121141143213131334324444124412433334414431423432231244333412232143411422343233114133412131411341121422311211212334432311323311322144324221311114211111431242121234124132243443421313432443313434413222133134323233224132323321412211123322112413221444311313311343124243143313331222422211324433331413234133324332412222322234432234232222232333134213212111221134133243231422412224221231121433322413444423112321422221341432241432221324111432433322124132123113343224123434343212132133412331342324431232221121441134123232122234333311222242211342221342333312133214412311143333133411234114211244332113143432143231222133334232421112124423414411124421231114143312443443232231441431342332411311123341342121331344114100000000000000000000000000000000000023114323214143312242414221211141342312443212232434233324221313242132421321343423441142213133424444444114333233334443133321221133142311123321313343324144314231322224243223342242311323441221223213324323411333143222222331242314233411221242322433113313313214332312142441112422324434222322143212432344122232333224334122243143331344222222124332224124223424311231122314123424222232123232234112234143213313432213444423132321313112133433143443324212133113343333243331322121434423424123211124213333414231233442423421134334424423431332314344333143344214123442241243342121444342341432432311334223213214222231223324112133224313322223134214344213414242213144112211234142214313331234232243433434433132122311334343241324323334311121421221343143111131233114343344343324412143414123244311342234112421243231322143343314321331314334214131213213424321144333331311234134224142323122321441412211444143332223332333314122121323341211433312432143322123111343222213343233431343143211232242321413333441133213132323133233331413212211344313123423332233124124112433443232322112333332132224123313344444413144214132212122431233132432312434113233323141312132442221322231131231433423424342424432432341212242311111432342131223211123332423342422342232441112414431344343324212123422132342343332221141324134333431331314341331141222222311333322322331122323323111122141242221421433224412144324431332323124343414432322341214224123333334344232411223332431232233212224413232412211222341331442331241234333431234141132233113321242133123141100000000010000000000000000012441231342334213212422431144132121411441122111132432431143413341413144213222414322433412100000000000100000000000000000000000000000000000000000000000000000123112231313144214333112244434111243322333141224422231411314132224313114212423332311332223224222321132311113233414422431422141443432241313332233121123123243422123424244341233134233313441233241321313233441414331433313111123113241441312214323132322113224111221223412113341423414132124233333321314232433223334312141414332414224113242422124311143121231211212132244222134112424443233234413231423423121423321113331432131334433221423133222413142312324222313133241433134344133312421243223212433322434244222313231431242322341123412443412342434333324322313431214234123223134441214233322312323322413131441241323443231213234231244314123433323312222433332233234441223122112222434243434334323432323342132223312122123223432423214223312213222321314414434432211213131331212322224143234133131113224223442413342411134341424222114222313141223433332413311223141344213123122112142142222113332213323244424244112331314333314341122331212321433221311331333431342311434411322232324124312112143313143421234242334223432243244212414112131222324134432211131112442132142144214211224233421414142334323341111212143321213442223214343122224321242132441424211323312143241320000100000000000000000000000000000000000000003244424222434223310000100000212124233432001000000000000002434333341312443323141331224211132332311414214322133413221314421142311141111122112131131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221432234114231244321224322313443324113232223331224343324224212333434411343332141312423334444234412324333412123224244233321232433143112421233313331111143121413231241243323211232314111221322333321114323432212411241241234114221332223443311322112243344221443332113344434211143411424241124113434113233441143144331342441441413231111221242423332134244422443344324314324324213342343211142122214133334143432313333133121231433331411213331343312422424132412413132312134233424121241323113332432424443233132232131341211432342431312323211421234442314233223221212322143121324333322221123334422233313341434121243244414324131422312131441331444121344241412411241322223133233113 313113331111433234142211223442411241123142421222144121322342114423323112142221232312314334433223331424123111121434333123434323343422222344322343211342124131123113311231124333223312432334424344432133344123211211414334244214322244232221432212432133434222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331134212421123243413141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444113311433333343224214421142212123112131244431124124141234333114122332214113111144231331333132232443432124111322233322134124331223232343432223111222243223422222414414223111244233242123444331323113331432421121343321311131312112123124321423132323223214142213134323434211223231131123342224333143312411322244111431112112441221113133434412212314233132341114234442311313443111333221343322232333322222443242132332321421222312312113211333322433144434214333341413222422422323311333112324231223133133313224434212242342124322241112323222312443442131334342143141333122331431141412323214223423243123213243412244333111324324114133221312411444431144314232122441411234241122144214243223441343233213123322133232221322344222211443421134334132222211441434142243221312421333134312134223343332414214211412121141143213131334324444324412233334214433423432431244333412232143334422413441432311333314223413441333124231231214432311133311322144324221121114211111411142121412124132223433421313432442313434211222233232223433222134123323212211123322112413221444311313311343124244143313331222422211324433331413234133324332412224124214232234214222212331134213112111221122133433241432414324241433121423322413442333334143312413441432443213221124311214421322124342121311131442123222343234334333142131342324441232221121441134123234314232211212244444213121444331131334224431243334311331323434412242114312313331141214121233122111112324421112124423412413124143414332321342421212212231421231122331233333124342314131331144132000000000000000000001000000000000000023334321134143432222312321412441142312441234232112411123422332432332113123121423441142213133424442444114333232344444113321221332142211121323211141124121314233332224243224142242111323441223223213322323443333122412132143224314233411221242322433113313313214332312142441112422324434222322143212432344122232333224334122441124443344242143224114222343444343333231431132221244424434241142433322421111433332134431222223114321133331131413143224312444133313313241241211122121432423422113311344113333414231233442423221134334424423431332314344333143344214123442241243342123444342341432432311334223213214222231423324112133224313322223134214344213414342211124112211234142234131131231414121242232431212424413134221221314323112223321221413343343111131213114243324343324412143414123234311122234112421242231323343333314321331314334214131213211424321144333341311434134222142121121343222232412444143134431411132114324321143321433231334414341322123111343222233241233431343143211232422223232331241133433322341213442111431244211344313141443112233324342114432221232222334133332132224133333344444413134212314434142234423434441114212331331324144134444242211324133111211433423334322442212233223212242311111432342131223211123332423342422342232441112414431344143324212123442142342323332221141124134333431331334341331141222222311333322322331122223121133342321422241423322233414144324212311323123343434432322341214224323333334342233431121313233414213233222233234214433244341333224333421112131233312141132233113323224111323121100000000000000000000000010012441231142314213212422223342134341411443142333314412243343413323411144213422414322413412100000000000000000000000000000000000000000100000000000000000000000142134233313343214333134243232111241132332123244224213411133343442333134312423332411314222224334321332111114333434244221243441444412321333132413121422321431224321222422223233334212311442213241341331211233333331233313111123113241441312214323332322333243111221233412113443142112112124213333321314232433223334314441433332312223311311224122313143321231211432132344434333112214443233224433433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342232224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434134321432322342112223412124123224432323214223322213222341314114434432211213121331432324244143234133131331132423212433312413132343342143312222313121223433132413311423141344213121322314144142122411332313343244244214412113232321332343114143444131411123331311131413332133432213224212322322344134113133143222342442133421233223242414414114112224132334342231233312224314344414214211224233443413142333323342111212123323311422132113343344424113324114233421333323322241432120000000000000000000000000000000000000000100003244444424234223310100000000214142231432000000000000100001434333344414221423243143414432134333134414414442342233221314421142311141111122112111131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221434234114231244321224122313443324113234323434222123322224212333414411323332141312423431322432233142331333333214222113342412123224144211333313331111143121413231241243323223432334213211143233121314321412214223213144422334421314413243413322333231324441113334223344414413141243222443324133114313234241123124331342441443232433233443411231114132423242224122444314424122431222121211143144444141112141324232111412122211211143223433341213114242424132212413334224332233424131241323413331231242443233133212131441231432344211412323212441232442314233223121232332143121324133342221123334422232131321434421241232214343323222312131441343134343314241212411442422223133233113 313113411133411412322213214224243221133442423222134121434142114423133112124333232313244234231442114414322241443232142321214341343424222342442423213342124131123113311233124213213314232314424314412133213123211223412312244214322344232221432233332314234422131423143344113332431223221312121132421143314344313212311234212314143442414423113441243112334311233212323323324133242144341114244124211314112411133123243442221432344214131244134334323414423244443343232231331441342312422422421423112111233141122131114343421133441244233121334221144223224322423314233343222212231442323422311333323131442323332321334313114132421123213411141244222331323124433322323343131342344221132144231411321222224221324343314312444211121214323133244111312343413222232442242432124244224134223231213311143444414313232214333423142112234113213413322414413323222142224111211433331323242234441122414124112111234411122324343411314112122434234133341344441331343333232441432132231344231122134122331123233331432423113422241233424331412314243141244233233123444311343113331434423141343323231131314112123144321133132243243112342211134223234413113242133133322144313141312213144244134431114134441223213133434412232332313312341114234444311313441114333431343322232232322212343242232332323421222112332113211333322433144434214333341413222122222323331333112324231223111132331442234412122342144224241314321422114421444131314112113241313122341411141212331114223421213323211443432242133134324324334231443231233444133314314312122443131434244242314414442421241343233213323122132232211322344442213243421134314134424231434434122443221312421333134342134223343332412214211412141141113213431334122344314212233334414411423212433424333412232143311422413441432311313314223413441333124231431214422311323112342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141214211123322114413221444311313311343144443143313331222412231324443331443234131344332242124124214232234214122212331134213112111221122133433231432414224241233121433322413442333334321412213414414421233443113334234233122142341341131131224341434343212132133412331342324431232221121441134123232122234333311222242211342221342333312133214212311143333133411234114211244332113143432143231222133334234242323112431322143324143214132343312443443214231421231322332413313123331344121331142334000000000000000000000000000000001000023314321134433431222442321412421112332443234434112411123422332432332113123121423441142213133424442444114333232344443113321221332142211121323211141124121314233332224243224142242111323441223223213322123443333142422132143224314233431221242122433111311413214332314342443132422324434222322143212332144122232343224334132243143331344222222124332224124223424311431122314123424222232123232234112234143213313432213444423132321313112133433143443324212133113343333243331322121434423424123211124213333434231233432423411334332242321244111132344313211341232331224423433334341442342341442434113334422213414334431223344142313234323342223312433111434212222233144114211234142214313331234232243433434433134122311334343241324323334311121421221343143111131433114343344343324412141414123244311342234112421242231322343343314321331314314214131213213424341144333331311234134224142323122321441412211444143332431411132114134321143321433233334414323322123111343222233243233431343143211232422223232331241133433322341213442111431244211344313141443112233324342114432221232222334133332132224133333344444413134212314434142234423434441114212331331324144134444242211324133111211433423334322442212233223212242311111432342131223211123332423342422342232441112414431344143324212123442142342343332221141124134333431331334341331141222222311333322322331122223121133342321422241423322233414144324212311323123343434432322341214224323333334342233431121313233414213233222233234214433244341333224333421112131233312141132233113323224111323121100000000000000000000000010012441231142314213212422223342134341411443142333314412243343413323411144213422414322413412100000000000000000000000000000000000000000010000000000000000000000142134233313343214333134243232111241132332123244224213411133343442333134312423332411314222224334321332111114333434244221243441444412321333132413141143123243422123424244341233134233313441233241321313233441414331433313111123113241441312214323132322113224111221223434113341423414132224233333321314232433223334312141414332312223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342232224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434134321432322342132223412124123224432323214223322213222341314114434432211213121331432324244143234133131331132423212413342413112123342143312221131321442311312212132223141344213123122112142142222113332213323244444244112331314333314341122331212321433221311331333431342311434411322232324124312112143333343222342442133421233223242414414114112224132334342231233312224314344414214211224233441414342334323341111212143321213422223214343322224321242132441424333323322241432120000000000000000000000100000000000000000000003244342442432441310000000010234142213231010000000000000002434333341312221411141331221231312332314332431442342231411312321324234121411344332134223413431141123423134212223231413313411214131434341441422223343322242413212112241144331422133423323122214241234122323413211143422221441344122423424432334121442313412144121221422313234341414422141324223231313414324123114123344243334444234412342311413333214444111142214123224344213313313331111143121413231241243323211232314111221322333321114323432212411241241222332221334413243311322112233344421443334113344434241343411422241124113134313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133334123432313333133332311413141221211341342132424342342212231132312312233442233223343133431232224123233132232131343211432122431312321221421432442314233223121232332143121324133322221123334422442131321442421241232214343323221132321333231444141313323212431442422223413433323 313113411133411412322213214224243221133442423222134121434142114423133112124333232313244234231442114414322241443232142321214341343424222342442423213342124131123113311233124213213314232314424314412133213123211223412312244214322244232221432233332314234422131423143344113332431223221312121132421243314344313212311234212314143442414423113441243112334311233212323323324133242144341114244124211314112411133123243442221432344214131244134334323414423244443343232231331441342312422422421423112111233141122131114343421133441244233121334221144223224322423314233343222212231442323422311333323131442323332321334313114133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144333143312411322244331431112114441223233133433412232312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443233121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411242314232444311411242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433231432414222441233141433324413442333334321412213414314421233443113334234433324324342121113333224123434141412112113412112324144143214424143233213331212314412211212244424213121444131111234224431243314311131323134414242114212113331121214121333122111112324421112124423412413124443414332321343421212134413223211324132413333344342314331113124134100000000000000000000000000000000000023114423214142312144414231232141144332343214234412413343221213232132121341141123431142411133424442444113333432344224313321231332142311131321211143144144331233323224243223142242111323443223223212322321341313442422134143424434311211221242322433111213313214332312342443112422324434222122143212332344122232343224334134443343331344222222134332224124223424311231122314123422242232123232234111234143213313432213444423132321313112113433143443324212123123341333243331322323434423224113311124213333414231233442423221134334424423431332314344333143344214123442241243342123424342341432432311334223213214222231423324112133224313322223134214344213414342211124112211234142234131131231414121242232431212424413134221221314323112223321221413343343311131213114243324343324412143414123234311122234112421242231423143333314321331311334214131213213424321144333341311434134222142321121343222232412444143134431411112114324321143321433231334414341322123111343222233243233431343143211232422223232331241333433322341213442111431244211344313141443112233324342114432221232334312333332332224123331324444413144414132212121431233112232312434113233323141312132422221144131332431233422424342242212233223212242311111412342131223211123332423342422342232441212414431344143324212123442142342343332221141124134321421213312133333321442322313132223143313144222321333322143424223423323433434124123211232233313331232432342123432132141111334122113432223432431232213213222413212412211242324331244331223112333433314322314214314133324131343321300000000001000000000000000031443231322332211431422431142132123411441122111314432431143433341431142213442424322431234300001000000000000000000000000000000000000000000000000000000000000122132233313134234334312443432313411132313121224424331411334132222333314312423332341332223222332144113111113331414422431422143443432323213312233121422341233244331442222323113334212311242413123123133233231313121213121224123332233443333224124332344133223111221233232313443142112112124213333321314232433223334314441433332414224343242422124341243321231411434142244222113132212443233222433433423221143423321233331421113134433223243123222413324332324242313431241441334142133312423423223212431342232224222313211431242322241321413443421322414333324322313341234434323223334441234232322342323342413131421421324441441233234231444114123333343312222232332233234441223122112222434223434334423432323342132223312142141323432424214223312213422321311414434432211213131331211322224143234133131113224223444413344413112123444222114222313121223433132413311423141344213121332314144142122411332313343244244214412113232321332343114143444131411123331311131413332133432213224212322322344134113133143222342442133421233223242414414114112224132334342231233312224314344414214211224233443413142333323342111212123323311422132113343344424113324114233421333323322241232120010000000000000000000000000000000000000000003244444424234223310000000010214142231432100000000000000001434333344414221423243143414432134333134414414442342233221314421142311141111122112111131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221434234114231244321224122313443324113234341414422141324223231313414324123114121344243334444234412342311413333214444111142214123224344213233313331111143121413231241243323223432334213211143233121314321412214223213144222332221332223443311322112243344221443332113344434211143411424241124113434113233441143144331342441441413231111221242423332134244422443344324314324324213342343211142122214133314143432313333133121231433331411213331343312422424132412413132312134233424121241323113332432424443233132232131341211432342431312323211421234242334243223223213422143321124133342221123334422232131321434421241232214343323221132321333243134343314243212413242322223133433323 313113411133411412322213214224243221133442423222134121434142114423133112124333232313244234231442114414322241443232142321214341343422222342442423213342124131123113311233124213213314232314424314412133213123211223412312244214322344232221432212432133234222323233122144131313231421423212323114421143314344313212311234212314143442414423113441243112334311233212323323324133242144341114244124211314112411133123243442221432344214131244134334323414423244443343232231331441342312422422421423112111233141122131114343421133441242433113332242121221224342413312333341241223231424143442341141121131442333334321334331311133221323313411141224222333323124423341114323324124222213312124231433223122242344314333114134112131323424422131144312412321441222223422422431334244224142223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444331323113331432421121343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323112342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141214211123322114413221444311313311343144443143313331222412231324443331443234131344332242124124214232234214122212331134213112111221122133433241432414324241433121423322413442333334143312413441432443213221124311214421322124342121311131442123222343234334133142131342324441232221121441134123234122234333311222242211342421342333312133214212411143331133411234114211244332113143432143231222133334232421112124423414411124443414332321343421212212231423231122331213433124241344121333144132000000000000000001000000000000000000022334321232143431244414231212141312332443234234412413343221213242132121121141423241122213341242322242314112222342443113143222312424333123121211121144444114413222123231343342223113443321423323313142123441331142422132143224312233431221242122433111311413214332314342443132422324434222322143212334144122232343224334132243143331344222222124332224124223424311431122314123424222232123232234112234143213113432213444423132321313112133433113443324212133113343333243331344121414423424113211121221341231243433431423413334132242341244111132324313211141232331224423433334341244342341442434313334423213414334431223342142313234323342123312433111434212222133144112211234342214313331214432243433434433132122313332343241324323334311123421221343143111131233114343344343324412143414123244311342234112431242231322143343314321331314334214143233213144321142333331111214112222212323111343222233231242121142231411132114124321143321433243234414343122443331343243214311233233321343411232422223212311241121233322141213432111431244411344313141423132233144342112433223242222332333332132224121331324444431144434132212422431233132432312434113233344321312432442224124131332431433422424342424434432341234222311111432342131223211123332423342422342232431114431213122321342232333323334423222334331121324312331223213312333121344424224313132223143313142243321133324121242221421433224412144343431332323124343414434322341214224323333334344232411223332431432233212224413232412211222341331442331241234333431234141132233113321242133123141300000000001000000000000000012443231142112243212422431142132123411441122111314432431143433341433234241444312114431412300001000000000000000000000000000000000000000000000000000000000000122134233333134434323332433234111241322132243224422231411314132224333114312423332341332223222332141132111113333432444222222141423434321333332233121422123243422121424242341233134233313441233241321313233441414331233113111423113241411312214323332222132223141421233412113341422112312114213133321314232433223334312441434132414324313242422334311143123233213414334244224133112424233233224413433424223143423321233331421113134433223243123222413322332324222314131241441332342113132243223213212433322432424222313211431242322341123412443422322434333324322313343234434321223134442234232322342323342413131221421324441441233234231444112123333343312222433312233234441223122112222434243434334333432323342132223312322123224432323231223323131232321334434212432433234133341432124224143234133131331222223442211342413112123444142114241111121223433132413311444442122431131122134224142122421214331141122244214412113232323412143414143444331431123213213111211342311434411322212124122414312343313142242342412134423432223422412414114112224132334342231233312224114324412121123412111141234324314423132433423343131223323222243131122243111224434243241211241124123231340010000000000000000000000000000000000000000004244342442412423130000000010412122231231100000000000000002434141141412221423241133414232134333114414414442342231211314441122311241411124314134131413231241142212312432241442232133333432313241123244424221343322244213212112221144131442133423121323422322412421121433211123442222223321322221434434114231244321224122321223422113212223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211233313331111113121413231441243323221432314111221142233321114323432214213241141234114221334223443411422333231324421113334223344434211341243222443324133134113214443143144313322423123213443211443241231114132423442224122444314424122431222121211142122214133334123432313333133332311413141221211341342132424342342212231132312312233442231221323113332432424143233132232131311211432342431312323211421234244314233421221112332223114322333322423323324422233313341434141243144412324131422312131441331444141313323212431441322223133233113 313113411133411412322213214224243221133442423222134121434142114423133112124333232313244234231442114414322241443232142321214341343422222342442323213342124131123113311233124213213314232314424314412133213123211223412312244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421421112111234121124131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213411322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323112342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141214211123322114413221444311313311343144443143313331222412231324443331443234131344332242124124214232234214122212331134213112111221122133433241432414324241433121423322413442333334143312413441432443213221124311214421322124342121311131442123222343234334133112131342324441232221121441134123234314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431244442231412443112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144334233322224243223142242111321441223223212322341341333442422132143224314231433221242322433111313433314332312342443132422324434222322143112332344122234343224334132443143331344222222134332224124223424311231122314123424222232123234234112234143213113432213444423132321313112133433113443324212133113343333243331344121414423424113211124213333434231234232443411131312424421431332314342331143344214123442241241142341442342331434412331222243213214224231223324112133224313322223134214344213412222233344112231314122214113131234432243433234233132122311334343241324323334311121421221343143111131433114343344343324412141414123244311342234112421243231322143343314321331314314214131213213424341144332341311434134222142321121343222232412444143132431411132114134321143321433233334414323142443332321443414343233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144214132212122431233132432312434113233323141312132442221322231131231433423424322424434432341234223333313232322233441233321112341122243322424233234431213122321342111333322332423222332323322144312331223213312333121344424224313132223122113142223321133324141422421223423233414124123211332233313331232432322321234224323333334322113431223432431232213213222413232412213344141313224333221112333433312141132213113323224131321123100000000100000000000000000012441232124134413212422223122134321213323344331334231241321413141413142213444412314431412100000000000000000000000000000000000000001000000000000000000000000142134233313343214333132233234111241322133143224424233411314132224333114312423332341332223222332141132111113333432444222222141444412341313332233121122341233244331442222323133332432313412213241341331233241414331233113111423113241411312214343332222132223141421231412113341422412312114213333321314232433223334312441434332312224311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342432224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434134321432322342132223412124123224432323214223322213222321114414432422211213131231212314224443412111133111224223442213344413112123444222114221331324442311312212132223141344213123122112142142222113332213323244444244112331314333314341122331212321433221311331333431342311434411322232324124312112143133142242342442134423432223422412414114112224132334342231233312224114324412121123422111141234324314423132433423343131223323222243131122243111224434243444211241124123231340000000000000000000000000000100000000000000004241444422434221310010000000214142231432000000000000010001434333344314221423243143414432134333134414414444142231411312321324234121411344332134223413431141123423134212223231413313411214131434341441424221343322244213212112241144331442133423121323422322412421121433211123442222223321322221434434114231244321224122313423422311212341414422141324223231113414324123114123344241334444234412342311413333214444111142214123224344213333313331111143121413231241243323223432334213211143233121314321412214223213144234114221314223443431322112233324421443334211341434213143243422443312133134133233441141124333342441441413231211221242423332134243421443344324314324324213342343211122124244133112441324233133132121231431331221211142342132422342342212431112212332221424121241321113332432424143233132232131311211432342431314323211421234242334243223223213422143321124133142221123334422232131321434421241232214343323221132321333233134343314243212413242322223133433323 313113331111433234142211223442411241123442421222144121322342114423123112142221232312314234433223331424323111121434333121434323243422222342442423213342124131123113311233124213213314232314424314412133213123211223412312244214322344232221432233332314234422131423143344113332431223221312121132421243314344313212311234212314143442414423113441243112334311233212323323324133242144341114244124211314112411133123243442221432344214131244134334323414423244443343232231331441342312422422421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222331323124423341114323324124222213312124231433223122242344314333114134112131343424422131144312412321443342432444242432124242224334223231214331111124412333212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443233121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311411242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433241432414222243233121231322413442333334321412213414414221233221124311214421322124342121311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214321233122111112324421112124423412413122143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144314231322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413211314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213433234231233442223411114132242321244111132344313211341232331224423433334341424424133232332333332223131434224213214124442333334111124243332434314413432222233344132232314142214313331214432243433434433132122313334343341324323334311121421221343143111131213114243344343324412143414123234311122234112421242231322143333314321331314334214131213213424321142333341311434134222142321121343222232412444143132431411132114134321143321433233334414323142443332321443414313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144414132212122431233132432312434113233323141312132442221322231131231433423424322424434432341234223333313232322233441233321112341122243322424233234431213122321342111333322332423222332323322144312331223213312333121344424224313132223122113142223321133324141422421223423233414124123211332233313331232432322321234224323333334322113431223432431232213213222413232412213344141313224333221112333433312141132213113323224131321123100000000100000000000000000012441232124134413212422223122134321213323344331334231241341413141413142213444412314431412100000000000000000000000000000000000000001000000000000000000000000142134233313343214333132233234111241322133143224424233411314132224333114312423332341332223222332141132111113333432444222222141444412341313332233121122341233244331442222323133332432313412213241341331233241414331233113111423113241411312214343332222132223141421231412113341422412312114213333321314232433223334312441434332312224311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342432224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434134321432322342132223412124123224432323214223322213222321114414432422211213131231212314224443412111133111224223442213344413112123444222114222313124442411312212132223141344213123122112142142222113332213323244424244112331314333314341122331212321433221311331333431342311434411322232324124312112141113343421234242334223432243244212414112131222324134432211131112442132142144214211224233421414142334323341111212143321213442223214343122224321242132441424211323312143241320000100000000000000000000000000000000000000003244424222434223310000100000212122213231010000000000000002434333341312221411141331221231312332311414414442342231411312321324234121411344332134223411431141123423134212223231413313311214131434341441434221343322244213212112241144331444311241123122214222414122343131433421222222223341322221434434114231244321224122313443322113432223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211333313331323113121413411241443323211232312111221322323321114341432232211241211422334421314413243413322333231324441113334213344414413143411422241112333114313234241123124331342441443413231211221242423332134243422443344324314324324213344343211122124244133112441324233133132121231431331221211142342132422342342212431112212332221424121241321113332432424143233132232131311211432342431314323211421234242334243223223213422143321124133342221123334422232131321434421241232214323321221112131433343134343314241413213242422223413433323 313113411133411412322213214224243221133442423222134121434142114423133112124333232313244234231442114414322241443232142321214341343422222342442423213342124131123113311233124213223312432334424344432133344123211211414334244214322244432221432212432133434222133423143344113332433223223212121132441143314344313212111234232314143442214423113441243114334331233212323123324133442144341134224124211313112411133123243442221432344214134134134314323414423244433343232231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143442341141121131442333334321334331311133221323313411141224222333323124423341114323324124222213312124231433223122242344314333114134112131323424422131144312412321441222223422422431334244224142223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444331323113331432421121343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323112342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141214211123322114413221444311313311343144443143313331222412231324443331443234131344332242124124214232234214122212331134213112111221122133433241432414324241433121423322413442333334143312413441432443213221124311214421322124342121311131442123222343234334133142131342324441232221121441134123234122234333311222242211342421342333312133214212411143331133411234114211244332113143432143231222133334232421112124423414411124443414332321343421212212231421231122331213433124241344121333144132000000000000000001000000000000000000022334321232143431244414231212141312332443214234412413343221213242132121121141423241122213341242322242314112222342443113143222312424333123121211121144444114413222123231343342223113443321423323313142123441331142422132143224312233431221242122433111311413234332314342443132422324434222322143212334144122232343224334132243143331344222222124332224124223424311431122314123424222232123232234112234143213113432213444423132321313112133433113443324212133113343333243331344121414423424113211124213333431231234232443411131312424421431332314342331143344214123442241241142341442342341442434113334422213413334431223344142313234323342223314433111434212222233144114211234142214311331234232243433434433134122311334343241324323334311121421221343143111131433114343344343324412141414123244311342234112431242231322143343314321331314314214131213213424341144333341313214112222214343122321441412211242143132431411132114134321143321433233334414323142443331343243214341133243321343411232422223212331241123233322341211432111431244211344313141423132233144342112433223242222332333332132224123331322444413144214112212121431233112232312434113233323141312132422221144131332431213422424342242212233223212242311111412342131223211123332423342422342232441212414431344143324212123442142342343332221141124134321421213312133333321442322313132223143311144222321333322143424223423323433434124123211232233313331232432342123432132141111334122113432223432431232213213222413212412211242324331244331223112333433314322314214314133324131343321300000000000100000000000000031443231322332211431422431142132123411441122111314432431123433341431144213442424322431234301000000000000000000000000000000000000000000000000000000000000000122132233313134234334312443432313411132313121224424331411334132222333314312423332341332223222332144113111113331414422431422143443432323213312233121422341233244331442222323113334212311242413123123133233231313121213121224123332233443333224124332344133223111221233232313443142112112124213333321314232433223334314441433332414224343242422124341243321231411434142244222113132412443233222433431423221143423321233331421113134433223243123222413344332324242313431241441334142133312423423223212431342232224222313211431242322241321413443421322414333324322313341234434323223334441234232322342323342413131421421324441441233234231444114123333343312222232332233234441223122112222434223434334423432323342132223312142141323432424214223312213422321311414434432211213131331211322224143234133131113224223444413344413112123444222114222313121223333132413311423141344213121322314144142122411332313343244244214412113232321332343114143444131411123231311131413332133432213224212322322344134113133143222342442133421233223242414414114112224132334342231233312224314344414214211224233443413142333323342111212123323311422132113343344424113324114233421333323322241432120000000000000000000000000000000000000000100003244444424234223310100000000214142231432000000000000100001434333344414221423243143414432134333134414414442342233221314421142311141111122112111131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221434234114231244321224122323443324113234341414422141324223231313414324123114123344243334444234412342311413333214444111142214123224344213233313333123113121413211241243321111231314111421322333331114323233212411341211222334421314413243413322333231324441113334213344414413143411422241112313114313234241123124331342441443413231211221242423332134243422444344324314324124213344143211122124244133112441324233133132121231431331221211342342132422342342212431112212332221424121241321113332432424143233132232131311211432342431314323211421234242334243223223213422143321124133342221123334422232131321434421241232214323321221112131433343134343313323212431442422223413433323 313113331111433234142211224224243221133442423222134121422342114423123112122221232312314234431223334421323114121434333121434123323422242312422343213342124131123113311233124213213314232314424314412133213123211223412312221223324344232221434233332314234422131423143344113332431223221312121132421143314344313212311234212314143442414423113441243112334311233212323323324133242144341114244124211314112411133123243442221432344214131244134334323414423244443343232231331441342312422422421423112111233141122131114343421133441244233121334221144223224322423314233343222212231442323422311333323131442323332321334313114132421123213411141244222331323124433322323343131342344221132144231411321222224221324343314312444211121214323133244111312343413222232442242432124244224134223231213311143444414313232214333423142112234113213413322414413323222142224111211433331323242234441122414124112111234411122324343411314112122434234133341344441331343333232441432132231344231122134122331123233331432423113422241233424331412314243141244233233123444311343113331434423141343323231131314112123144321133132243243112342211134223234413113242133133322144313141312213144244134431114134441223213133434412232332313312341114234444311313441114333431343322232232322212343242232332323421222112332113211333322433144434214333341413222122222323331333112324231223111132331442234412122342144224241314321422114421444131314112113241313122341411141212331114223421213323211443432242133134324324334231443231233444133314314312122443131434244242314414442421241343233213323122132232211322344442213243421134314134424231434434122443221312421333134342134223343332412214211412141141113213431334122344314212233334414411423212433424333412232143331442343233114133412131411341121422311211212334432311323311322144324221311114211111431242121234124132243443421313432443313434413222133134323233224132323321412211123322112413221444311313311343124244143313331222422211324433331413234133324334212122322134214234214222212331134213112111221132133433241432414222243233121231322413442333334321412213414414221233221124311214421322124342121311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431132142311121311221143144144334233322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241132433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213333434231233442424411134332224423431332314144333143344214123442241243342121444342341442434313334223213414334431223324142313234323342223312433111434214242233344112211234142214311131231414121243234431232424413334221221314323334311121421211343143131131233114343344142324442143434333244311122232112421242232322123341312331331334332214343232233422121142333341313214112222214343122321441412211242143132221312333333122121321141413233332212343142443332321443214313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144214132212121431233112432312434113233323141312132422221144131332431433423334344442212233223212242311111432342131223211123332423342422342232441112414431344143324212123442142342343332221141122134333431331334341331141222222311333322322331122223121133342321244223423323433434124123211232233313331232432342123232132141113334122113432141312233212413213222413232412211242341333224333241112333433312122312214314133324131321121100100000000000000000000000012441231342334411412424223144134321411443142331314432241323413323411144213422414322431412300000000000000000000010000000000000000000000000000000000000000000122234233313333214333112444432111211132333141244244233423133343242332114332421312314214133224334321132111343311432444222222441444412323213312233121422321431224321222422223233332432313412213241341331233241414331233113111423113241411312214343332222132223141421231412113341422412312114213333321314232433223334312441434332414224113242422124311143121231211212132244222134112424443233234433231423423121423321113331432131334433221423123222413324332324222313131241441334342133311423423223212431342232224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114123433323312222232332431214441223122112222414243434333323432323342132223312122121243432423214223312213222321314414434432211213131331212322324143234133131113224223442433344413112123444222114222313124442311312212132223141344213123122112142142222113332213323244424244112331314333314341122331212321433221311331333431342311434411322232324124312112141113143421234242334223432243244212414112431422324134432211131112442132142144214211224233421414142334323341111212143321213442223214343122224321242132441424211323312143241320000000100000000000000000000000000000000000003244424222434223310000100000212124233432001000000000000002434333341312443323141331224211132332311414214322342231411312321324214121411344332134223413431141123423134212223231413313411214131434341441222223343322242413212112241144331422133423323122214241234122323413211143422221441344122423434434114231244321224122313443422311234341414422141124223231113414324123114123344241334444234412342311413333214444111142214123224344213313313333111113321413231241243323223432314211221143233121314321412214223213144222334421314413243413322333231324441113334213344414413143411422241112333111313234241123124331342441443413231211221242423332134243422443344324314324324213344343211143144444141112143324213133133321311413143223433341213114242424132212413334212332233424131241321113332432424143233132232131311211433342431312323211421232442314233223121232332223114342333322423323324422233313341434141243144414423321221112133433341444121344241212431442422223133233113 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121131123113311231124213213144432133221143232141313123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421223314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221223342413112333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431114334431223213133233222232332313312443114214242311313443111333221343322232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433241432414324241433121423322413442333334143312413441432443213221124311214421322124342121311131442123222343234334133142131342324441232221121441134123234314232211212224444113121444331131334224431243334311331321434412242114212312331141214321233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242414221211141342312443212232434233324221313242132421321343423441142213133424444444114333233334443133321221133142311123321313343324144314231322224243223342242311323441221223213324323411333143222222331242314233411221242322433113313313214332312142441112422324434222322143212432344122232333224334122243143331344222222124332224124223424311231122314123424222232123232234112234143213313432213444423132321313112133433143443324212133113343333243331322121434423424123211124213333414231233442423421134334424423431332314344333143344214123442241243342121444342341432432311334223213214222231223324112133224313322223134214344213414242213144112211234142214313331234232243433434433132122311334343241324323334311121421221343143111131233114343344343324412143414123244311342234112421243231322143343314321331314334214131213213424321144333331311234134224142323122321441412211444143332223332333314122121323341211433312432143322123111343222213343233431343143211232242321413333441133213132323133233331413212211344313123423332233124124112433443232322112333332132224123313344444413144414132212122431233132432312434113233323141312132442221322231131231433423424342424432432341212242311111432342131223211123332423342422342232441112414431344343324212123422132342343332221141324134333431331314341331141222222311333322322331122323323111122141242221421433224412144324431332323124343414432322341214224123333334344232411223332431232233212224413232412211222341331442331241234333431234141132233113321242133123141100000000010000000000000000012441231342334213212422431144132121411441122111132432431143413341413144213222414322433412300000000000000000000000000000000000000000000000000000000010000000122132233313344214333112244434111243322332241244244233423133343242332114332421312314214133224334321132114343311414422431222141444312321313332233121442321431224321222422323233334212311442213223123133233231313121211121221123113241441312214323332322333223111221233412111341422112132124233333123314222233223333312141414332412223311211224122313143321231211434132344234333112214443233224413433423221143423321233331421113134233223243123222413324332324242313131241441334142133312423423223212431342232224222313211431242322241323413243422322414333324322313343234434323223334441234332322342323322413131421221123443231133234231244114123433323312422212332231234441223122112222434243234134323232323342132223312322123224432323231223323131232321334434212432433213331331432324224143234133131331132423212211112413134341424222114222313141223433132413311444442122431131122134124142122421214331141122244214412113232323412143114143444331431123213213111211342311434411322212124122414312343313113222342442134423432223242412414114112224132334342211233322242132342142214211224233441414142334323342111212123323311422132113343344224121242132441424211323312143241320000000000001000000000000000000000000000000003244424442434223310001000000212124233432000100000000000002434333341312221411141331221231312332314332431442342231411312321324234121411344332134223433433141123423134212223231413313411214131434341441422223343322242413212112241144331422133423323122214241234122323413211143422221441344122423424432334121442313412144123243422313412223331244343324243211313214324123114123342243334444214412342313413333214444111142214123224344213311113111323143121413231241243323223432334213211143233121314321412214213213144422334421314413243413322333231324441113334213344414413143411422241112333134313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133334123432313333133332311413141221211341342132424342342212231132312312233442233223343133431232224123233132232131343211432122431312321221421432442314233223121232332223114342333322423323324422233313341434141243144414423321221112133433341444121344241212431442422223133233113 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121131123113311231124213213344432133221143232141313123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213411322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311411242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433241432414222243233121231322413442333334321412213414414221233221124311214421322124342121311131442123222343234112333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413122143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144314231322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213433234231233442223411114132242321244111132344313211341232331224423433334341424424133232332333332223131434224213214124442333334111124243332434314413432222233344132232314142214313331214432243433434433132122313334343341324323334311121421221343143111131213114243344343324412143414123234311122234112431242231322143333314321331314334214131213213424321142333341311434134222142321121343222232412444143132431411132114134321143321433233334414323142443332321443414313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144214132212122431233132432312434113233323141312132442221322231131231433423424322424434432341234223333313232322233441233321112341122243322424233234431213142321342111333322332423222332323322144312331223213312333121344424224313132223122113142223321133324141422421223423233414124123211332233313331232432322321234224323333334322113431223432431232213213222413232412213344141313224333221112333433312141132213113323224131321123100000000100000000000000000012441232124134413212422223122134121213323344331334231241321413141413142213444412314431412100000000000000000000000000000000000000001000000000000000000000000142134233313343214333132233234111241322133143224424233411314132224333114312423332341332223222332141132111113333432444222222141444412341313332233121122341233244331442222323133332432313412213241341331233241414331233113111423113241411312214343332222132223141421231412113341422412312114213333321314232433223334312441434332312224311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342432224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434134321432322342132223412124123224432323214223322213222321114414432422211213131231212314244443412111133111224223442213344413112123444222114222313124442311312212132223141344213123122112142142222113332213323244424244112331314333314341122331212321433221311331333431342311434411322232324124312112141113143421234242334223432243244212414112131222324134432211131112442132142144214211224233421414142334323341111212143321213442223214343122224321242132441424211323312143241320000100000000000000000000000000000000000000003244424222434223310000100000212122213232010000000000000002434333341312221411141331221231312332311414414442342231411312321324234121411344332134223411431141123423134212223231413313311214131434341441434221343322244213212112241144331444311241123122214222414122343131433421222222223341322221434434114231244321224122313443322113412223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211333313331323113121413411241443323211232312111221322323321114341432232211241211422334421314413243413322333231324441113334213344414413143411422241112333114313234241123124331342441443413231211221242423332134243422443344324314324324213344343211122124244133112441324233133132121231431331221211142342132422342342212431112212332221424121241321113332432424143233132232131311211432342431314323211421234242334243223223213422143321124133342221123334422232131321434421241232214323321221112131433343134343314241413213242422223413433323 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121131123113311231124213213344432133221143232141313123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213411322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244114431112114441223233133434412212332313312443114214242311313443111333221343322232232342222443242232332323421444312312111211333122433144432214313341413222122222323331333112324231223111132331442234412122342144224241314321422114421444131314112113241313122341411141212331114223421213323211443432242133134324324334231443231233444133314314312122443131434244242314414442421241343233213323122132232211322344442213243421134314134424231434434122443221312421333134342134223343332412214211412141341113213431334122344314212233334414411423212433424333412232143331442343233114133412131411341121422311211212334432311323311322144324221311114211111431242121234124132243443421313432443313434413222133134323233224132323321412211123322112413221444311313311343124244143313331222422211324433331413234133324334212122322134214234214222212331134213112111221132133433241432414222243233121231322413442333334321412213414414221233221124311214421322124342121311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332000000001000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144334233322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423134321313112113133143443324212323123343333213331322321434423424111314124213333434231233442424411134332224423431332314144333143344414123442241243342121444424331434412331222243213214224231223324112133224313322224134214344213412222233342312231314122214131131231414121242232431212424413134221221314323112223321221413343343111131213114243324343324412143214123234311122234112421242231323143333314321331314334214131213213424321144313341311434134222142321121343222232412444143132431411132114134321143321433233332212343142443332321443214313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144414132212121431233112432312434113233323141312132422221144131332431433423334324442212233223212242311111432342131223211123332423342422342232441212414431324143324212123442142342343332221141122134333431331334341331141222222311333322322331122223121133342321422241423322233414144324212311323123343434432322341214224323333334342233431121313233414213233222233234214433244341333224333421112131233312141132233113323224131323121100000100000000000000000000012241441142134213212424223342134341411443142333314412243343413323433234243442414314431432300000000000100000000000000000000000000000000000000000000000000000123112231313144214333112243434111243322333141224422231411314132224313114212423332311332223224222321132311113233414422431422141443432241313332233121123123243422123424244341233134233313441233241321313233441414331433313111123113241441312214323132322113224111221223434113341423414132124233333321314232433223334312141414332312223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313431241441334342133311423423223212431342232224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112212414243434134321432322342112223412124123224432323214223322213222341314114434432211213121331432324224143234133131331132423212411344413112123444222114222313124442411312212132223141344213123122112142142222113332213323244424244112331314333314341122331212321433221311331333431342311434411322232324124312112141113143421234242334223432243244212414112131222324131432211131112442132142144214211224233421414142334323341111212143321213442223214343122224321242132441424211323312143241320000100000000000000000000000000000000000000003244424222434223310000100000212124233431001000000000000002434333341312443323141331224211132332311414214322133413221314421142311141111122112111131213233243142212312432241442232133333432313241123244422223343322242213212112241144331422133423121323422322412421121433211123444221221344124221424434314131444121224122313443422313432223331244343324243211313214324123114123342243334444214412342231333321414222113342412123224144211311113111321143121413231241243323223432334213211143233121314321412214223213144222332221334413243311322112233344421443334113344434241343411422241124113114313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133334123432313333133332311413141221211341342132424342342212231132312312233442233223343133431232224123233132232131343211432122431312321221421434244314233421221112332223114322333322423323324422233313341434141243144412324131422312131441331444141313323212431442422223413433323 313113411133411412322213214224243221133442433222142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121131123113311231124213213314232314424314412133213123211223412312221223324344232221434212432133234222323233122144131313231421423212323114421241312142313232313232112114143442414423113441223112334311233112323323324133442144341134224124211313112411133123243442221432342214134134134314323414423244433343232231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341222212233442323222341133323131322423332321334331114132421123213413344144222131333124431322323343131342344221132144231411311222224221324341314312444213121214323133242141412143213241232442242431334244224144222231214311143444414313232214333423142112234113213433322414413323224142444131311431331323442234441122414114112111234411122324343411314112122434234133341344441331343333232441432132231144211122134122331123433331432423113422221233424231412314243141244233233144444311424113331132421341343323231131322312123123121433132243243114142213134321434211223231131123342224333143312411322244114431112114441223233133434412212332313312443114214242311313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233112123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311411242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433241432414222243233121231322413442333334321412213414414221233221124311214421322124342121311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412443112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144334233322224243223142242111321443223223212322341341333442422132143224314231433221242322433111313433314332312342443132422324434222322143112332344122234343224334132443143331344222222134332224124223424311231122314123424222232123234234112234143213113432213444423132321313112133433113443324212133113343333343331344121414423424113211124213333434231234232443411131312424421431332314342331143344214123442241241142341442342341442434113334422213413334431223344142313234323342223312433111434212222233144114211234142214313331234232243433434433134122311334343241324323334311121421221343143111131433114343344343324412141414123244311122234112421242231322143333314321331314334214131213213424321142333331311214134222214323122321441412211444143132431411132114324321143321433233334414343142443332321243214343233433121343411232422243232331241133433322341213432111431244211344313141443132233324342112432223232222332333332132224123331322444413144414132212122431233132432312434113233344121312432442224124131332433433422424342424434432341234222313131234124213241233311114341122243322424233234431213122321342232333323334423222332321141124134333431331334341331141222222311333322322331122223121133342141442221421433224412144323431332323124343414432322341214224323333134344232411223332431232233213212413232412411222341331442231241234333431234141132433113321224131321123100000000000000100000000000012441232124134413212422223124134321213323344331334231241343213141413142213444412314431432100000000100000000000000000000000000000000000000000000000000000000123132233313134414333112444432111211132332141244244233423133343242332114332421312314214133224334321132111343333432444222222141444412321333132413343122341233244331442222323113332432313412213241341331233241414331433313111123113241441312214323132322113224111221223434113341423414132124233333321314232433223334312141414332314223311211422124313143121231211432132244222133134424443233224433231443223121423321213331432131314431223423133222413142312344222313133241431134342133312421223223212433322432224242313211431242122341143412441422322434331442124213431214234123223134441212232322342323322413131421421333443233133234231244114123433323312422212332231234441223122112222434243234134323232323342132223312322123224432323231223323131232321334434212432433213331331432324224143234133131331132423212211112413134341424222114222133324223433332432332223141344213121322314144142122411332313343244244214412113232321332343114143444131411123331311131413332133432213224212322322344134113133113222242444324443432241242212221334112234332334432411233312242132342142214211224233441414142334323342111212123323311422132113343344224113324134233224211241124123231340000000000000000000000000000001000000000000004241424442434241330000000010234142213231010000000000000002434333341312221411141331221231312332314332431442342231411312321324214121411344332134223433431141123423134212223231413313411214131434341441422223343322242413212112241144331422133423323122214241234122323413211143422221441344122423424432334121442313412144121223422311234341414422141324223231313414324123114123344243334444234412342311413333214444111142214123224344213333313333123113121413211241243321111231314111421322333321114323233212411341211434114221334223443411422333231324421113334223344434211341243222443324133134113214443143144313322423123213443211443241231114132423442224122444314424122431222121211142122214133334123432313333133332311413141221211341342132424342342212231132312312233442231221323113332432424143233132232131311211432342431312323211421234244314233421221112332223114322333322423323324422233313341434141243144412324131422312131441331444121344243212213242422441131221321 313113411133411412322213214224243221133442423222134121322342114423123112142221232312314234433223334424323114121434333121434323343422222342442423211341124131111131331411144313213314232314424314432133344123211223414332444423324332233213222412432133224222133423143344113332431243223212121132421243314322333432311212112314143413414443113141243112134311233112323323324133242144341134224124211313112411123123243442221432342212131144134314323414423244433343222231231441312312422423441423132111233143112131314343421233222412413123132242141421224342423314233321222222231242323222311333323131442323332321334331134232421123213213141224222333323122423341114323324124222213312124231431223122242344314333114134112131323424423131244112314321443221232442242431334234224134223221214314113444414113212234132143442312234113213413322414413323222132444111311433333343242234421122412123112131244431124124141234333114222332234113111144231333332132232443432124111322233122132324321221232343432223141222241333344331412314443141244233233144432111343133331412321141343323231131312112123124321423132243243212344211134221234413112242133133322144311121433213142424134131114134441223211233433412232312313132341114234442311314441114333421343322232212322222443242132332321421222312332113211333322433144432214313341434222142422323131333112324231243113312331444214444122312342312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313311142124131131221312413224411143112213412213411233414144144232242443243121233233123122113214323123122424233222213212134312224433244314124424233111123113232141332441323132434442213412324341143233131334322344324212233334414431443412411244314232444311411242342233114133412131411341123322311311212334432133322112241124422421121114211113411142121412124132223433421313434442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433241432414324241433121423322412442333334143312413441432443213221124311214421322124342121311131442123222343234334133142131342324441232221121441134123234314232211212224444113121444331131334224431243334311331331434412242114212312331143214121233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332000000001000000000000000000000000000023314321134433431242442231412443112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121313221143144144334233322224243223142242111321443223223212322341341333442422132143224314231433221242322433111313433314332312342443132422124434222322143112332344122234343224314132443143331344222222134332224124223424311231122314123424222232123234234112234143213113432213424423132321313112133433113443324212133113343333243331344121414423424113211124213333434231434232443411131312424421431332314342333143344214123442241241142341442342341442434113334422213413334431223344142313234323342223312433111414212222233144314211234142414313331434232243433434433134122311334343241324323334311121421221343143111131433114343344343324412141414123244311342234112431242231322143343324221331314314213131213213424341144332341313214112224214343122121441412211242143132431411132114134321143321433233334414323322123111343222213313233431343141211232242321413333441133213132323133233331413212211344313123423332233124124112433443232322112333332132224123313344444413144414132212121431233112232312434113233323141312132422221144111332431233423424342424434432341434223213131232122213241233321114341122243322424233234431213122321342211333322332423222332323321142312331223213312333121344424224313132223123113142223321113122143442221423423233434142124211331332323343432432323341234224323333334122132231223332431232213213222413232412211242341331442333241112333423312122314214314133324131321123100000000000000100000000000012441232124134413212424223122134121213323344331334231241321413141413132213442414314431432100000001000000000000000000000000000000000000000000000000000000000123132233313134414334312443432313411132313121224424231411334132224333114212423332311332223224222321132111113333414422431422143444412321211334413143143321233224321422222323233332432313412213241341331233241414331211121211123113241441312224323332322333223111221233412111341422412132124213333313324232433223133314141434332314344313242422124311121141221211414132244222113134424444434224333231223223121321313213331432131314433243423123222213322132324222313131241441334342131312223223223212433322432224222313211431242322344123413413422342434333324322313343232434323223334441214232122342323342413131421421333443231213234231244114123433323312422212332231234441223122112222434243234134323232323342132223312324123224432323231223323133222321314414434432211213121333432324224143234133131331132423212233312413112343342143312222313141223433332432332223141344213121322114144142122411334313343244244214412113232321332343114143444131411123331311131411332133432213324212322322314134113113313421234242334223432243244212414112131222324334432211231312424132144144214211224233443413142334323342111212124323311422132113343122224321242132441424211323312143241320000000000000100000000000000000000000000000003344424442234223310001000000212122213232100000000000000002434141141312443311121333221211312132314332431444342231211314441122331241411124314134131413233241142212312432241442232133333432313241123244232441131134312231334434343323313224311241123122214222414122343131433421222222223341322241434434114233244321224122313443324113414341414222143322424111333414411323332141112423431322432233124333413123214444111122214123224344213333313333123113121413233241223323221412314111221122333321114323432214211241141222332221334413243311322112233344421443334113344414241343411422241124333131113233441143144331342441441413231111221242423332134244422443344324314324324213342343211142122244133334143434313333133121231433331411213331343312422424132412413132312134233424121241323113332432424443233133232133341211412342431312323211421232442314233223121232332143121324133122221123134424442131321442421241232214343323221132321333231444141313323212431442322223133433323 313113411133411412322213214224243221133442423222134121434142114422123112124333232313244234431223334421323114121434333121434123323422242342422343213342124131123113311231124213223312432334424344432133344123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313442144341134224124211313112411133123243442221432342214134134134314323414423244433343232231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341222212233442323222341133323131322423332321334331114132421123213413344144222131333124431322323343131342344221132144231411311222224221324341314312444213121214323133242141412143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333421343322232232122222443242232332323421222312312111211333322433144434214333341413222122222323331333112324231223111132331442234412122342144224241314321422114421444131314112113241313122341411141212331114223421213323211443432242133134324324334231443231233444133314314312122443131434244242314414442421241343233213323122132232211322344442213243421134314134424231434434122443221312421333134342134223343332412214211412141141113213431334122344314212233334414411423212433424333412232143311442343233114133412131411341121422311211212334432311323311322144324221311114211111431242121234124132243443421313432443313434413222133134323233224132323321412211123322112413221444311313311343124244143313331222422211324433331413234131344332242124124214232234214122212331134213112111221122133433241432414222243233121231322413442333334321412213414414221233221124311214421322124342121311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324242323112431322143324143214132343312441443232231421231322331433333124342314131131144332000000000000000000000000001000000000023334321134143432222312321412421142312441232234112411343422332432132121323141423441142213133424444444114333232144243113321221332142311123321313143124144314233322224243223342242111323441221223213324323441333142422132143224314211211221242322433111313413214332312342443132422324434222122133212332124122232343224314122441123431344242143224114412323444343333231431132221244424412141232444322431411433333432413244242332113333332131411343243314242133313343341241211122321434423434113311124213433234231233442223411114132242321244111132344313211341232331224423433334341424424133232332333332223131434224213214124442333334111124243332434314413432222233344132232314142214313331214432243433434433132122313334343341324323334311121421221343143111331233114343144343324412143414123244311122234112421242231342143333314321331314334214131213213424321144333331311234134224142323122321441413231242143332223332333314122121323341211433312432143322123111343222213343233431343143211232242321413333441133213132323133233331413212211344313123423332233124124112433443232322112333332132224123313344444413134212314434142234423432441114212331331324144134444242311324133111211433423334324442212233223212242311111432342131223211123332423342423342232441112414431344143324212123442142342343332221141122134333431331334341331141222222311333322322331122223121133342321244223423323433434124123211232233313331232432342123232132141113334122113432141312233212413213222413232412211242341333224333241112333433312122312214314133324131321121100100000000000000000000000012441231342334411412424223144134321411443142331314432241323413323411144213422414322431412300000000000000000000000000000000000100000000000000000000000000000122234133313333214333112444432111211132333143224424231411334132222333114312423332311332223224222321132111113333414422431222141444412321213312233121122341233244331442222323113332432313412213241341331233241414331433313111123113241441312214323132322113224111221233412113341423414132124233333321314232413223334312141414332312223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342432224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434134321432322342132223412124123224432323214223322213222341314114434432211213121331432324244143234133131331132423212413342413112123342143312221131321442311312212132223141344213123122112142142222113332213323244444244112331314333314341122331212321433221311331333431342311434411322232324124312112143333143222342442133421233223242414414114112224132334342231233312224314344414214211224233441414342334323341111212143321213422223214343322224321242132441424333323322241432120000000000000000000000000000100000000000000003241444422434221310010000000214142231432000000000000010001434333344414221423243143414432134333134414414444142231211314441122311241411124314134131413231241142212312432241442232133333432313241123244222221343322212211212114241123113222133223123122214241234122323413211143422221241344122421424432334121442313412144121221422313234341414422141324223231113414324123114123344241334444234412342311413333214444111142214123224344213313313331111143121413231241243323211232314111221322333321114323432212411241241234114221334413243311322112233344421443334113344434241343411422241124333131113233441143144331342441441413231211221242423332134244422443344324314324324213342343211122124244143312441324232113412321231433331411211341342132424342342212431132212332233424121241323113332432424443233132232133341211432342231322321212421234244314233421221112332223114322333322423323324422233313341434141243144414323323221132321333231444143414243213213242422223133233113 313113411133411412322213214224243221133442423222134121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121131123113311231124213213344432133221143232141313123211211414334221223324344232221434212432133234222323233122144131313231421423212323114421241312142313232313232112114143442414423113441223112334311233112323323324133244144341134224124211313112411133123243442221432344212131134134314323414443424433342231231231441312312422423441223132111233141112131114343421233222412433121332242141221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213411322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312332113211333322433144434211333341413222422422323311333112324231223133133313224434412242342124322241112323222312443442131334342143141133122331431141412333214223423143123231243432242331114324344334131443231233444431113314212122441431214244242144414442421241343233212121324133232221322344222213243421134334132224211444434142443221311121333132312322243341332434414213132321141143233131314322344324212233334413431443412413424333412232143334422413441432311313314223413441333124231231214232311333311322144324221121114211111411142121412124132223433421313412442313434411222131142321221312432321141212211123122112413221444311313311343124243143313331222422211324433331413234133324334212122322134214234214222212331134213112111221132133433241432414222243233121231322413442333334323412213414414221233221124311214421322124142123311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232344243311321431332142311121311221143144144334233322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213333434231233442424411134332224423431332314144333143344214123442241243342121444424331434412331222243213214224231223324112133224313322224134214344213412222233342312231314122214131131231414121242232431212424413134221221314323112223321221413343343111131213114243324343324412143214123234311122234112431242231323143333314321331314334214131213213424321144333331111214112222212323111343222232211444121142231411132114124321143321433243234414343122443331343243214311233233321343411232422223212311241121233322141213432111431244411344313141423132233144342112433223242222332333332112224121331324444431144414132212121431233112232312434113233123141312132442221124131332431233423424342424434432341434222213131234124213241233321114341122242322424233234431213122321342232333323334423222332321121124134333431333114341321341424234313132223143313142223321133322141442241423322233414144324212331323124343434432322341214224323333334342232432141312233412414213222233234212233344141313224311421112133431312142312214314133224131143321300000000000010000000000000012441231342134213232224223142134121411343342331312412241341211343411142213444414314431412100000000000000000000001000000000000000000000000000000000000000000122234233313333214333112444432111211132333141244244233423133343242332114332421312314214133224334321132111343311432444222222441444412323213312233121422321431224321222422223233332432313412213241341331233241414331233113111423113241411312214343332222132223141421231412113341422412312114213333321314232433223334312441434332414224343242422124341243321231411434132244222113132212443233222433433423221143423321233331421113134433223243123222413324332324242313431241441334142133312423423223212431342232224222313211431242322241321413443421322414333324322313341234434323223334441234232322342323342413131421421324441441233234231444114123333343312222232332233234441223122112222434223434334423432323342132223312142141323432424214223312213422321311414434432211213131331211322224143234133131113224223444413344413112123444222114222313121223433132413311423141344213121322314144142122411332313343244244214412113232321332343114143444131411123331311131413332133432213224212322322344134113133143222342442133421233223242414414114112224132334342231233312224314344414214211224233443413142333323342111212123323311422132113343344424113324114233421333323322241232120000000000000000000000000000000000000000100003244444424234223310100000000214142231432000000000000100001434333344414221423243143414432134333134414414442342233221314421142311141111122112111131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221434234114231244321224122313443422311234341414422141124223231113414324123114123344241334444234412342311413333214444111142214123224344213313313333111113321413231241243323223432314211221143233121314321412214223213144234114221134224443411344333231322421113334223344414413143411422241112333114313234241123124331342441443413231111221242423332134244422443344324314324324213342343211142122214133334143432313333133121231433331411213331343312422424132412413132312134233424121241323113332432424443233132232131341211432342431312323211421232442314233223121232332143121324133322221123134422442131321442421241232214344131422312131441331444143414241212413211342441131223323 313113411133211412322213214224243221133442433222134121434142114423123112124333232313244334433223331424123111121434333123434323343422242342422343211141124131121131131431124333223312432334424344432133344123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144333143312411322244331431112114441223233133433412232312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443233121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311411422343233114133412131411341121422311211212334432311323311322144324221311114211111431242121234124132243443421313432443313434413222133134323233224132323321412211123322112413223444311313311343124243143313331222422211324433331413234133324332412222322234432234232222232333134213212111221134133243231422412224221231121433322413444423112321422221341432241432221324111432433322124132123113343224123434343212132133412331342324431232221121441134123232122234333311222242211342221342333312133214412311143333133411234114211244332113143432343231222133334232421112124423414411124421231114143312443443232231441431342332411311123341342121331344114100000000000000000000000000000000000023114323214143312242414221211141342312443212232434233324221313242132421321343423441142213133424444444114333233334443133321221133142311123321313343324144314231322224243223342242311323441221223213324323411333143222222331242314233411221242322433113313313214332312142441112422324434222322143212432344122232333224334122243143331344222222124332224124223424311231122314123424222232123232234112234143213313432213444423132321313112133433143443324212133113343333243331322121434423424123211124213333414231233442423421134334424423431332314344333143344214123442241243342121444342341432432311334223213214222231223324112133234313322223134214344213414242213144112211234142214313331234232243433434433132122311334343241324323334311121421221343143111131233114343344343324412143414123244311342234112421242231322143343314321331314334214143233213144321142333331111214112222212323111343222232412444121142231411132114124321143321433243234414343122443331343243214311233233321343411232422223212311241121233322141213432111431244411344313141423132233144342112433223242222332333332112224121331324444431144434132212422431233132432312434113233344321312432442224124131332431433422424342424434432341234222311111432342131223211123332423342422342232431114431213122321342232333323334423222334331121324312331223213312333121344424224313132223143313142243321133324121242221421433224412144343431332323124343414434322341214224323333334344232411223332431432233212224413232412211222341331442331241234333431234141132233113321242133123141300000000001000000000000000012443231142112243212422431142132123411441122111314432431143433341433234241444312114431412300001000000000000000000000000000000000000000000000000000000000000122134233333134434323332433234111241322132243224422231411314132224333114312423332341332223222332141132111113333432444222222141423434321333332233121422123243422121424242341233134233313441233241321313233441414331233113111423113241411312214323332222132223141421233412113341422112312114213133321314232433223334312441434132414324313242422334311143123233213414334244224133112424233233224413433424223143423321233331421113134433223243123222413322332324222314131241441332342113132243223213212433322432424222313211431242322341123412443422322434333324322313343234434321223134442234232322342323342413131221421324441441233234231444112123333343312222433312233234441223122112222434243434334333432323342132223312322123224432323231223323131232321334434212432433234133341432124224143234133131331222223442211342413112123444142114241111121223433132413311444442122431131122134224142122421214331141122244214412113232323412143414143444331431123213213111211342311434411322212124122414312343313342242342412134423432223422412414114112224132334342231233312224114324412121123412111141234324314423132433423343131223323222243131122243111224434243241211241124123231340010000000000000000000000000000000000000000004244342442412423130000000010412122231231100000000000000002434141141412221423241133414232134333114414414442342231211314441122311241411124314134131413231241142212312432241442232133333432313241123244424221343322244213212112221144131442133423121323422322412421121433211123442222223321322221434434114231244321224122321223422113212223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211233313331111113121413231441243323221432314111221142233321114323432214223241144222332221334413243311322112233344421443334113344434241343411422241124113114313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133334123432313333133332311413141221411341342132424342342222231132312312233442233223343133431232224123233132232131343211432122431312321221421432442314233223121232332143121324133322221123334422442131321442421241232214344131422312131441331444141313323212431442422223413433323 313113411133411412322213214224243221133442423222134121434142114423133112124333232313244234231442114224312141423432132341212323343422242342422343213342121131123113311231124213213344432133221143232141313123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144333143312411322244331431112114441223233133433412232312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443233121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311411242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232211444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433231432414222441233141433324413442333334321412213414314421233443113334234433324324342121113333224123434141412112113412112324144143214424143233213331212314412211212244424213121444131111234224431243314311131323134414242114212113331121214121333122111112324421112124423412413124443414332321343421212134413223211324132413333344342314331113124134010000000000000000000000000000000000023114423214142312144414231232141144332343214234412413343221213232132121341141123431142411133424442444113333432344223313321231332142311131321211143144144331233323224243223142242111323443223223212322321341313442422134143424434311211221242322433111213313214332312342443112422324434222122143212332344122232343224334134443343331344222222134332224124223424311231122314123422242232123232234111234143213313432213444423132321313112113433143443324212123123341333243331322323434423224113311124213333414231233442423221134334424423431332314344333143344214123442241243342123424342341432432311334223213214222231423324112133224313322223134214344213414342211124112211234142234131131231414121242232431212424413134221221314323112223321221413343343311131213114243324343324412143414123234311122234112421242231423143333314321331311334214131213213424321144333341311434134222142321121343222233231242143134431411132114324321143321433231334414341322123111343222233243233431343143211232422223232331241333433322341213442111431244211344313141443112233324342114432221232334312333332332224123331324444413144414132212121431233112232312434113233323141312132422221144131332431413422424342242212233223212242311111412342131223211123332423342422342232441212414431344143324212123442142342343332221141124134321421213312133333321442322313132223143313144222321333322141424223423323433434124123211232233313331232432342123432132141111334122113432223432431232213213222413212412211242324331244331223112333433314322314214314133324131343321300000000000100000000000000031443231322332211431422431142132123411441122111314432431143433341411142213442424322431234301000000000000000000000000000000000000000000000000000000000000000122132233313134234334312443432313411132313121224424331411334132222333314312423332341332223222332144113111113331414422431422143443432323213312233121422341233244331442222323113334212311242413123123133233231313121213121224123332233443333224124332344133223111221233232113443142112112124213333321314232433223334314441433332414224343242422124341243321231411434132244222113132212443233222433433423221143423321233331421113134433223243123222413324332324242313431241441334142133312423423223212431342232224222313211431242322241321413443421322414333324322313341234434323223334441234232322342323342413131421421324441441233234231444114123333343312222232332233234441223122112222434223434334423432323342132223312142141323432424214223312213422321311414434432211213131331211322224143234133131113224223444413344413112123444222114222313121223433132413311423141344213121332314144142122411332313343244244214412113232321332343114143444131411123331311131413332133432213224212322322344134113133343222342442133421233223242414414114112224132334342231233312224314344414214211224233443413142333323342111212123323311422132113343344424113324114233421333323322241432120000000000000000000000000000000000000000100003244444424234223310100000000214142231432000000000000100001434333344414221423243143414432134333134414414442342233221314421142311141111122112111131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221434234114231244321224122313443422311234341414422141124223231113414324123114123344241334444234412342311413333214444111142214123224344213213313333121113321413231241243323223432314211221143233121314321412214213213141422334421314413243413322333231324441113334213344414413143411422241112333111313234241123124331342441443413231211221242423332134243422443344324314324324213344343211143144444141112143324213133133321311413143223233341213114242424132212413334212332233424131241321113332432424143233132232131311211433342431314323211421234244314233421221112332223114322333322423323324422233313341434141243144412323323221132321333231444143413241212411211342423413433323 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121131123113311231124213213314232314424314412133213123211223412312244214322244432221432212432133434222133423143344113332433223223212121132441143314344313232313232112314143442414421331131241312312313211134221344242313442144341134224124211313112411133123243442221432342214131144134314323414423244433343232231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341222212233442323222341133323131322423332321334331114132421123213413344144222131333124431322323343131342344221132144231411311222224221324341314312444213121214323133242141412143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433241432414324241433121423322413442333334143312413441432443213221124311214421322124342121311131442123222343234334133142131342324441232221121441134123234314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412443112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144334233322224243223142242111321441223223212322341341333442422132143224314231433221242322433111313433314332312342443132422324434222322143112334344122234343224334132443143331344222222134332224124223424311231122314123424222232123234234112234143213113432213444423132321313112133433113443324212133113343333243331344121414423424113211124213333431231234232443411131312424421431332314342331143344214123442241241142341442342341442434113334422213413334431223344142313234323342223312433111434212222233144114211234142214313331234232243433434433134122311334343241324323334311121421221343143111131433114343344343324412141414123244311342234112421242231322143343314321331314314214131213213424341144333331311234334222142323221343222232412444123132431411132114124321143321433233234414343322123111343222213243233431343143211232422223232331241133433322341213442111431244211344313141443112233324342114432221232222334133332132224133333344444413144414132212121431233132432332434113233323141312132444221324131131213233423424342424434432341234222311111432342131223211123332423342422342232441212414431344143324212123442142342343332221141122134333431331334341331141222222311333322322331122223321111122143422421223423233414124123211332233313331232432322321234224323333334122113431223432431232413213122233234212433242341333224333241112333433312122314214314133324131343321300000000001000000000000000012441231142112243212422223142134321411443142331314432241321211343413142213444414322431412100000000000000000000000000000000000000000000000010000000000000000123134231311144214333134243232111241132332123244224213411133343442333134312423332411314222224334321332111114333434244221243441423434321333332233121423321233224321422222323233334212311242413123123133233231313121213121224123332233443333224124332344133223111221233412113443142112112124213333321314232433223334312441434132414224343212422124311243321231411434132244232113132212443233222413433423221143423321233331421113134433223243123222413324332324222313131241441334342133312423423223212431342232224222312211431242322241323413443422322434331442124213431214234123223134441234332322344323322213111421421323443231213414411244114343423323312222232332231234441223122112222434243434334323432323342132223312122123224432323214423322213222321314414434432211213121331432324224143234133131331132423212231342413112123444142114241131321442311312212132223141344213123122112142142222113332213323244444244112331314333314341122331212321433221311331333431342311434411322232324124312112141113113421234242334223432243244212414112131222324134432211131112442132142144214211224233421414142334323341111212143321213442223214343122224321242132441424211323312143241320000000010000000000000000000000000000000000003244424442434241330000000010234142213231010000000000000002434333341312221411141331221231312132314332431444342233221314421142234143411124314131233413231221323412312431323231413313311214131434341441224221343322244213212112221144131442133423121323422322412421121433211123444221221344124221424434334131442321224122321223422313414341414222143322424111333414411323332141312423431322432232124333413123214444111142214123224344213311113111323143121413231241243323223432334213211143233121314321412214223213144222332221334413243311322112233344421443334113344434241343411422241124113131313234241123124331342441443413231211221242423332134243422444344324314324124213344143211142122214133314123434313333133332311413141221211341342132424342342212231132312312233442233223343133431232224123233132232131343211432122431312321221421432442314233223121232332143121324133322221123334422442131321442421241232214343323221132321333231444143413241213213242422223133233113 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121131123113311231124213213344432133221143232141313123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214134134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222331323124423341114323324124222213312124231433223122242344314333114134112131343424422131144312412321443342432444242432124242224334223231214331111124412333212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113141144231331333132232443432124111322233144134124331213232343432223111222243223422231412413243111242231233123444311343113131434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121212232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443233121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311411242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433241432414222243233121231322413442333334321412213414414221233221124311214421322124342121311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413122143414332321142221212232431421233322332413333124241344121331142332000000001000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144314231322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334331231312144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213433234231233442223411114132242321244111132344313211341232331224423433334341424424133232332333332223131434224213214124442333334111124243332434314413432222233344132232314142214313331214432243433434433132122313334343341324323334311121421221343143111131213114243344343324412143414123234311122234112431242231322143333314321331314334214131213213424321142333341311434134222142321121343222232412444143132431411132114134321143321433233334414323142443332321443414313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144414132212122431233132432312434113233323141312132442221322231131231433423424322424434432341234223333313232322233441233321112341122243322424233234431213122321342111333322332423222332323322144312331223213312333121344424224313132223122113142223321133324141422421423423233414124123211332233313331232432322321234224323333334322113431223432431232213213222413232412213344141313224333221112333433312141132213113323224131321123100000000100000000000000000012443232124134413212422223122134121213323344331334231241341413141413142213444412314431412100000000000000000000000000000000000000001000000000000000000000000142134233313343214333132233234111241322133143224424233411314132224333114312423332341332223222332141132111113333432444222222141444412341313332233121122341233244331442222323133332432313412213241341331233241414331233113111423113241411312214343332222132223141421231412113341422412312114213333321314232433223334312441434332312223311341224122313143321231211432132344424333112214443233224433433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342432224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332433214441223122112222414243434134321432322342132223412124123224432323214223322213222321114414432422211213131231212314244443412111133111224223442213344413112123444222114222313124442311312212132223141344213123122112142142222113332213323244424244112331314333314341122331212321433221311331333431342311434411322232324124312112141113113222242444324443432241242212221334112234132334342211233322242132342142214211224233441414142334323342133423343131223323222243131122224121242132441424211323322243241121000000000000000000000000000000000000000000003244444422434221311000000000214142231432000000001000000001434333344422221423241131224231132332311412414442342231411312321324234121411344332134223413431141123423134212223231413313411214131434341441422223343322242413212112241144331422133423323122214241234122323413211143422221441344122423424432334221442313412144121221422313234341414422141324223231113414324123114123344241334444234412342311413333214444111142214123224344213333313331111143121413231241243323223432334213211143233121314321412214223213141422334421314413243413322333231324441113334223344414413141243222443324133114313234241123124331342441443232433233443411231114132423242223122444314424322431222321211143144444141132141322232111412122211211143223433341213114242424132212413334224332233424131241323413331231242443233133212131441231432344211412323212441232442314233223121232332143121324133342221123334422232131321434421241232214343323222312131441343134343314241212431442422223413433323 313111331111433232144221224244211221123442423222144121322341214423123112142221232312314234433223334424323111121434333121434323343422222344322343213342121131123113311231124213213344432133221143232141213121213211414334444423324332232213222412432133224222133423143344113332431243223212121132421143314342333432311212112314143413414443113141243112134311233112323323324131212144443134222344411143112411123323243224421212344212134134134314323414443244433342231131231441312312422423441423132111233143112131314343421233222414233121312242141411224342423314233321241223231224343422341141121131442333332321334331134212421123243413141224222331323124431122323143131342344221132124231411223122242344314333114134112213121214323333242141412143213242232442242232124244224134223231214311143444414313232214333423142112234113213213122412213323222142224111211413331323242234441122414324112111234411122344343411314112122434234133341342441331343333232441412132233344231122134122331123233331432423113422241233444331412314243141244233233143432111343133331412321141323323231131312112123124321423132323223212142213134223224211223231131123342224333143312411322244111431112112441221113133433412212312213132341114234442311313441114333421343322332212322222444242133332321421222122332313211133322413144434214331121413222124422121313333114323432221333132311444233412222342344322241332321422334443444111334144141141333342131231143412423234423423241121413241413224313111144124134131221312413424411114114213114211111233414142144214242423243141233233323322133232211322344442213243421134313134424231434434122443221312421333134312134223143332412214411412141141143213131334324444124412433334414431423432231244133412232143434421413441432311313314223413441333124233431214422311323112342144322221121114211111431142121214324132443443421313432243213134413222131142321221312432321141232234243123332232213444311232111141124423321113333334422211222433131241214131342232242122124214232234214222212331134213112111221132133433241422412222221231121433322413444423112321422221341432241432221324111432433322124132123113343224123434343212132133412331342324431232221121441134123232122234333311222242211342221342333312133214412311143333133411234114211244332113143432143231222133334232421112124423414411124421231114143312443443232231441431342332411311123341342121331344114100000000000000000000000000000000000023114323214143312242414221211141342312443212232434233324221313242112421321343423441142213133424444444114333233334443133321221133142311123321313343324144314231322224243223342242331323441221223213324323411333143222222331242334231431443132344212441313412214332314342443132422324434222322143212332124122232443224314122441123431344442143224114412323444343333231431132221244424412141232444322431411433333432413244242332113333112133433143443324212133111343333343331322141434423434113311121221341231243433431423413334132242341244111132324313211141232331224423433334341244342341442434313334423213414334431223342142313234323342123312433111434212222133144112211234342214313331214432243433434433132122313332343241324323334311123421221343143111131233114343344343324412143414123244311342234112431242231322143343314321331314334214143233213144321142333331111214112222212323111343222233231242121142231411132114124321143321433243234414343122443331343243214311233233321343411232422223212311241121233322141213432111431244411344313141423132233144342112433223242222332333332112224121331324444431144434132212422431233132432312434113233344321312432442224124131332431433422424342224434432341234222311111432342131223211123332423342422342232431114431213122321342232333323334423222334331121324312331223213312333121344424224313132223143313142243321133324121242221421433224412144323431332323124343414434322141214224323333334344232411223332431432233212224413232412211222341331442331241234333431234141132233113321242133123141300000000001000000000000000012443231142112243212422431142132123411441122111314432431143433341413234241444312114431412300001000000000000000000000000000000000000000000000000000000000000122134233333134434323332433234111241322132243224422231411314132224333114312423332341332223222332141132111113333432444222222141423434321333332233121422123243422121424242341233134233313441233241321313233441414331233113111423113241411312214323332222132223141421233412113341422112312114213133321314232433223334312441434134414224113242422124311143121231211212132244222134112424443233234433231423423121423321113331432131334433221423133222413142312324222313133241433134342133312421243223212433322434244222313231431242322341123412443412342434333324322313431214234123223134441234332323342323322413131421221323443231133232231244314123433323312222232332233234431223122112222434243434333323432323342132223312122121243432423214223312213222321314414434432211213131331212322324143234133131113224223442411342413112343444222114222313141223433332432332223141344213121322114144142122411332313343244244214412113232323312343114143444331431123213211111211132131212243324214344122314132143113113222242444324443432241242212221334112234132334342211233322242132342142214211224233441414142334323342133423343131223323222243131122224121242132441424211323322243241321000000000000000000000000000000000000000000003244444422434221311000000000214142231432000000001000000001434333344422221423241131224231132332311412414442342231411312321324234121411344332134223413431141123423134212223231413313411214131434341441422223343322242413212112241144331422133423323122214241234122323413211143422221441344122423424432334121442313412144121221422313234341434422141324223231113414324123114123344241334444234412342311413333214444111142214123224344213333313331111143121413231241243323223432334213211143233121314321412214223213144222332221334223441431322332231324421143334223344414413143411422241112333131113233441143144331342441441413231111221242423332134244422443344324314324324213342343211142122214133334143432313333133121231433331411213331343312422424132412413132312134233424121221323113332432424443233132232131341211432342431312323211421234244314233421221112332223114322333322423323324422233313341434141243144412343323221132321333231444143414241213213242422223133233113 313113331111433234142211223442411241133442423222134121434142114422123112124333232313244234431223334421323114121434333121434123323422222342442423213342124131123113311233124213213314232314424314412133213123211223412312244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323124423341114323324124222213312124231433223122242344314333114134112131323424422131144312412321441222223422222431334244224142223233413111311144444313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141231333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311411242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323234234243123332232213444311232111141124423321113333332422211224433131241214131144232242122124214232234414222212331134213112111221132133433241432414324241433121423322413442333334143312413441432443213443113334234233122124342123311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214321233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144334233322224243223141242111321443223223212322341341333442422132143424434211211221242322433111313413214332312342443132422324434222122133212332124122232343224314122441123431344242143224114412323444343333231431132221244424412141232444322431411433333432413244242332113333332131411343243314242133313343341241211122321434423434113311124213433234231233442223411114132242321244111132344313211341232331224423433334341424424133232332333332223131434224213214124442333334111124243332434314413432222233344132232314142214313331234232243433434433134122311334343241324323334311121421221343143111131433114343344343324412141414123244311342234112431242231322143343314321331314314214131213213424341144333341311434134222142321121343222232412444143134431411132114324321143321433231334414341322123111343222233243233431343143211232422223232331241333433322341213442111431244211344313141443112233324342114432221232334312333332332224123331324444413144214132212121431233112232312434113233323141312132422221144131332431213422424342442212233223212242311111412342131223211123332423342422342232441212414431344143324212123442142342343332221141124134321421213312133333321442322313132223143313144222321333322143424223423323433434124123211232233313331232432342323432132141111334122113432223432431232213213222413212412211242324331244331223112333433314322314214314133324131343321300000000000100000000000000031443231322332211431422431142132123411441122111314432431143433341431142213442424322431234301000000000000000000000000000000000000000000000000000000000000000122132233313134234334312443432313411132313121224424331411334132222333314312423332341332223222332144113111113331414422431422143443432323213312233121422341233244331442222323113334212311242413123123133233231313121213121224123332233443333224124332344133223111221233232313443142112112124213333321314232433223334314441433332414224343242422124341243321231411434142244222113132212443233222433433423221143423321233331421113134433223243123222413324332324242313431241441334142133312423423223212431342232224222313211431242322241321413443421322414333324322313341234434323223334441234232322342323342413131421421324441441233234231444114123333343312222232332233234441223122112222434223434334423432323342132223312142141323432424214223312213422321311414434432211213131331211322224143234133131113224223444413312413132343342143312221131321443311312212132223141344213121122114144142122411332313343244244214422113232323412143114143444331431123213211111211332131212243324212324122314132343133143222342442133421233223242414414114112224132334342231233312224314344414214211224233441414142334323341111212143321213422223214343322224321242132441424333323322241432120000000000000000000000000000000001000000000003244442442434221311000000000214142231432000000000010000001434333341412221423241133414231134323114414414442342231213214423122311121411324312134223413411141123423134212223231413313333432313241123244424221343322244213212112241144331442133423121323422322412421121433211123442222223341322241434434114233244321224122321223322113212223311224323312224212333434411343332141312423334444234412324333413123224244233321232433143112211333313333111413121333231241242223221432314131221122333323114321432214211241211234114221334223443413322112233324421443314111314434213143411422241122333434313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133334123432313333133332311413141221211341342132424342342212231132312312233442233223343133431232224123233132232131343211432122431312323211421234244314233421221112332223114322333322423323324422233313341434141243144412324131422312131441333134343444243212413241322221131221321 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422222342442423211341124131111131331411144313213314232314424314412133213123211223412312244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231224143422341133323131322423332321334331114132421123213413344144222131333124431322323343131342344221132144231411311222224221324341314312444213121214323133242141412143213241232442242431334244224144222231214311143444414313232214333423142112234113213433322414413323224142444131311431331323442234441122414114112111234411122324343411314112122434234133341344441331343333232441432132231144211122134122331123433331432423113422241233424321412314243141244233233144444311424113331432421141343323231131322312123123121433132241323212142211332223234211223231131323442244333143312213142244134431114334431223213133234222232332313312443114214242311313443111333221343322232333322222443242232342341421222312332113211333322433144434214333341413222422422323311333112324231223133133313224434412242342122322241112323222312443442131334342143141133122331431141412333214223423143123231243432242331114324344334131443231233444431113314212122441431214244242144414442421241343233212121324133232221322344222213243421134334132224211444434142443221311121333132312322243341332434442213412124341143233131334322344324212233334414431443414411244314232444311311442343233114133412131411341121422311211212334432311323311322144324221311114211111431242121234124132243443421313432443313434413222133134323233224132323321412211123122112413221444311313311343124244143313331222422211324433331413234133324334212122322134214234214222212331134213112111221132133433241432414222243233121231322413442333334321412213414414221233221124311214421322124342121311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212312331141214121233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144334233322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213333434231233442424411134332224423431332314144333143344414123442241243342121444424331434412331222243213214224231223324112133224313322224134214344213412222233342312231314122214133131231414121242232431212424413134221221314323112323321221413343343111131213114243324343324412143214123234311122234112421242231322143333314321331314334214131213213424321144313343311234134222142323121343222232412442143132423312333333124143321141413233332212343322123111343222213343233431343143211232242321413333441133213132323133233331413212211344313123423332233124124112433443232322112333332132224123313344444413144214132212122431233132432312434113233323141312132442221322231131231433422424342242212233223212242311111432342131223211123332423342422342232441112414431344143324212123442142342343332221141124134321421213312133333321442322313132223143313144222321333322141424223423323433434124123211232233313331232432342123232132141111334122113432223432431232213213222413212412233242341333224311421112133431312122312214314133324133123121300000001000000000000000000012443431142334211412224223344114341411443142333314412243343413321411234241442414314431432100000000000000000000000100000000000000000000000000000000000000000223134231313144214333112444432111211132332243244244233423133343242332114332421312314214133224334321132114343311434444222223443443432321211334413143123123243422123424244341233134233313441233241321313233441414331433313111123113241441312214323132322113224111221223434113341423414132224233333321314232433223334312141414332414224113242422124311143121231211212132244222134112424443233234433231423423121423321113331432131334433221423133222413142312324222313133241433134344133312421243223212433322434244222313231431242322341123412443412342434333324322313343234434323223334441234232322342323142413131421421324441441233234231444114123333323312222232332233234441223122112222434243434334323432323342132223312122121243432423214223312213222321314414434432211213131331212322324143234133131113224223442433344413112123444222114222313124442311312212132223141344213123122112142142222113332213323244424244112331314333314341122331212321433221311331333431342311434411322232324124312112141113113222242444334443432241242212221334112234132334342211233322242132342142214211224233441414142334323342133423343131223323222243131122224121242132441424211323322243241321000000000000000000000000000000000000000000003244444422434221311000000000214142231432000000001000000001434333344422221423241131224231132332311412414442342231213214423122311121411324312134223413411141123423134212223231413313333432313241123244422223343322242413212112241144331422133423323122214241234122323413211143422221441344122423424432334121442313412144121221422313234341414422141324223231113414324123114123344241334444234412342311413333214444111142214123224344213333313331111143121413231241243323223432334213211143233121314321412214223213144222332221334223441431322332231324421143334223344414413143411422241112333134113233441143144331342441441413233233443411231114132423242224122444314424122431222121213122122414133312441324213133133122211413141221211341342132424342342212431132212332221424121241321113332432424143233132232131311211433342431312323212421234244314233421221112332223114322333322423323324422233313341434141243144412324131422312131441331444143413241213213242422223413433323 313111331111433232144221224244211221123442423222144121322341214423123112142221232312314234433223334424323111121434333121434323343422222344322343213342121131123113311231124213213344432133221143232141213121213211414334444423324332232213222412432133224222133423143344113332431243223212121132421143314342333432311212112314143413414443113141243112134311233112323323324131212144443134222344411143112411123323243224421212344212134134134314323414443244433342231131231441312312422423441423132111233143112131314343421233222414233121312242141411224342423314233321241223231224343422341141121131442333332321334331134212421123243413141224222331323124431122323143131342344221132124231411223122242344314333114134112213121214323333242141412143213242232442242232124244224134223231214311143444414313232214333423142112234113213213122412213323222142224111211413331323242234441122414324112111234411122344343411314112122434234133341342441331343333232441412132233344231122134122331123233331432423113422241233444331412314243141244233233143432111343133331412321141323323231131312112123124321423132323223212142213134223224211223231131123342224333143312411322244111431112112441221113133433412212312213132341114234442311313441114333421343322332212322222444242133332321421222122332313211133322413144434214331121413222124422121313333114323432221333132311444233412222342344322241332321422334443444111334144141141333342131231143412423234423423241121413241413224313111144124134131221312413424411114114213114211111233414142144214242423243141233233323322133232211322344442213243421134313134424231434434122443221312421333134312134223143332412214411412141141143213131334324444124412433334414431423432231244133412232143434421413441432311313314223413441333124233431214422311323112342144322221121114211111431142121214324132443443421313432243213134413222131142321221312432321141232234243323332232213444311232111141124423321113333334422211222433131241214131342232242122124214232234214222212331134213112111221132133433241422412222221231121433322413444423112321422221341432241432221324111432433322124132123113343224123434343212112133412331342324431232221121441134123232122234333311222242211342221342333312133214412311143333133411234114211244333113143432343231222133334232421112124423414411124421231114143312443443232231441431342332411311123341342121331344114100000000000000000000000000000000000023114323214143312242414221211141342312443212232434233324221313242112421321343423441142213133424444444114333233334443133321221133142311123321313343324144314231322224243223342242331323441221223213324323411333143222222331242334231431443132344212441313412214332314342443132422324434222322143212332124122232443224314122441123431344442143224114412323444343333231431132221244424412141232444322431411433333432413244242332113333112133433143443324212133111343333343331322141434423434113311121221341231243433431423413334132242341244111132324313211141232331224423433334341244342341442434313334423213414334431223342142313234323342123312433111434212222133144112211234342214311331214432243433434433132122313332343241324323334211123421221343143111131233114343344343324412143414123244311342234112431242231323143343314321331314334214143233213144321142333331111214112222212323111343222233231242121142231411132114124321143321433243234414343122443331343243214311233233321343411232422223212311241121233322141213432111431244411344313141423132233144342112433223242222332333332112224121331324444431144434132212422431233132432312434113233344321312432442224124131332431433422424342424434432341234222311111432342131223211123332423342422342232431114431213122321342232333323334423222334331121322312331223213312333121344424224313132223143313142243321133324121242221421433224412144343431332323124343414434322341214224323333334344232411223332431432233212224413232412411222341331442331241234333431234141132233113321242133123141300000000001000000000000000012443231142112243212422431142132123411441122111314432431143433341433234241444312114431412300001000000000000000000000000000000000000000000000000000000000000122134233333134434323332433234111241322132243224422231411314132224333114312423332341332223222332141132111113333432444222222141423434321333332233121422123243422121424242341233134233313441233241321313233441414331233113111423113241411312214323332222132223141421233412113341422112312114213133321314232433223334312441434132414324313242422334311143123233213414334244224133112424233233224413433424223143423321233331421113134433223243123222413322332324222314131241441332342113132243223213212433342432424222313211431242322341123412443422322434333324322313343234434321223134441212232322342323322413331421221323443231133234231244114123433323312222232332431214441223122112222414243434333323432323342132223312122121243432423214223312213222321314414434432211213131331212322324143234133131113224223442433344413112123444222114222313124443311312212132223141344213121122114144142122411332313343244244214422113232323412143114143444331431123213211111211332131212243324212324122314132343133143222342442123421233223242414414114112224132334342231233312224314344414214211224233441414142334323341111212143321213422223214343322224321242132441424333323322241432120010000000000000000000000000000000000000000003244342442412423130000000010412122231231100000000000000002434141141412221423241133414232134333134414414444343431213214423122311121411324312134223413231221323412312431323231413313311214131441123244432441131134312231334434343323313224311241123122214222414122343131433421222422223341322241434434112233244321224122313443322121214341414422141324223211313414324123114121344243334444234412342311413333214444111142214123224344213311313331111113121413231441243323221432314111221142233321114321432114213241241422314223314213443411322112233124421441214113344434211341243222443324132131313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133334123432313333133332311413141221211341342132424342342212231132312312233442233223343133431232224123233132232131343211432122431312321221421432442314233223121232332223114342333322423323324422233313341434141243144414423321221112133433341444121344241213213242422223133233113 313113331111433234142211223442411241123142421222144121322342114423323112142221232312314334433223331424123111121434333123434323343422222344322343211342124131123113311231124333223312432334424344432133344123211211414334244214322244232221432212432133434222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331134212421123243413141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444113311433333343224214421142212123112131244431124124141234333114122332214113111144231331333132232443432124111322233322134124331223232343432223111222243223422222414414223111244233242123444331323113331432421121343321311131312112123124321423132323223214142213134323434211223231131123342224333143312411322244111431112112441221113133434412212314233132341114234442311313443111333221343322232333322222443242132332321421222312312113211333322433144434214333341413222422422323311333112324231223133133313224434212242342124322241112323222312443442131334342143141333122331431141412323214223423243123213243412244333111324324114133221312411444431144314232122441411234241122144214243223441343233213123322133232221322344222211443421134334132222211441434142243221312421333134312134223343332412214211412121141143213131334324444324412233334214433423432431244333412232143334422413441432311333314223413441333124231231214432311133311322144324221121114211111411142121412124132223433421313432442313434211222233232223433222134123323212211123322112413221444311313311343124244143313331222422211324433331413234133324332412224124214232234214222212331134213112111221122133433241432414324241433121423322413442333334143312413441432443213221124311214421322124142121311131442123222343234334133142131342324441232221121441134123234314232211212244444213121444331131334224431243334311331323434412242114312313331141214121233122111112324421112124423412413124143414332321342421212212231421231122331233333124342314131331144132000000000000000000001000000000000000023334321134143432222312321412441142312441234232112411123422332432332113123121423441142213133424442444114333232344444113321221332142211121323211141124121314233332224243224142242111323441223223213322323443333122412132143224314233411221242322433113313313214332312142441112422324434222322143212432344122232333224334122441124443344242143224114222343444343333231431132221244424434241142433322421111433332134431222223114321133331131413143224312444131313313241241211122121432423422113311344113333414231233442423221134334424423431332314344333143344214123442241243342123444342341432432311334223213214222231423324112133224313322223134214344213414342211124112211234142234131131231414121242232431212424413134221221314323112223321221413343343111131213114243324343324412143414123234311122234112421242231323343333314321331314334214131213211424321144333341311434134222142121121343222232412444143134431411132114324321143321433231334414341322123111343222233241233431343143211232422223232331241133433322341213442111431244211344313141443112233324342114432221232222334133332132224133333344444413134212314434142234423434441114212331331324144134444242211324133111211433423334322442212233223212242311111432342131223211123332423342422342232441112414431344143324212123442142342343332221141124134333431331334341331141222222311333322322331122223121133342321422241423322233414144324212311323123343434432322341214224323333334342233431121313233414213233222233234214433244341333224333421112131233312141132233113323224111323121100000000000000000000000010012441231142314213212422223342134341411443142333314412243343413323411144213422414322413412300000000000000000000000000000000000000000100000000000000000000000142134233313343214333134243232111241132332123244224213411133343442333134312423332411314222224334321332111114333434244221243441444412321333132413121422321431224321222422223233334212311442213241341331211233333331233313111123113241441312214323332322333243111221233412113443142112112124213333321314232433223334314441433332414224343242422124311243321231411434132312234333112214443233222433433423221143423321233331421113134433223241123222413324332324222313131241441334342133312423423223212431342232224222312211431242322241323413443422322434331442124213431414234123123134331434212342344323322213111421421323443231213414411244114343423323312222232334233232441223122112222434443434334323432143324132223312322123224232313214223322213222121314414212432431234131331212324224143412313133111224223442233312413132343342143312222313141223433332432332223141344213121322114144142122411332313343244244214412113232323312343114143444331431123213211111211132131212243324214344122314132143113113222242444324443432241242212221334112234132334342211233322242132342142214211224233441414142334323342133423343131223323232243131122224121242132441424211323322243241121000000000000000000000000000000000000000000003244444422434221311000000000214142231432000000001000000001434333344422221423241131224231132332311412414442342231411312321324234121411344332134223413431141123423134212223231413313411214131434341441422223343322242413212112241144331422133423323122214241234122323413211143422221441344122423424432334121442313412144121221422313234341414422141324223231113414324123114123344241334444234412342311413333214444111142214123224344213333313331111143121413231241243323223432334213211143233121314321412214223213144222332221334223441431322332231324421143334223344414413143411422241112333131133233441141124333342441441413231211221242423332134243421443344324314324324213342343211122124244133112441324233133132121231431331221211142342132422342342212431112212332221424121241321113332432424143233132232131311211432342431314323211421234242334243223223213422143321124133342221123334422232131321434421241232214343323221132321333231444143413241212413211342441131221321 313113411133411412322113214224243221133442423222134121434142114422123112124333232313244234431223334421323114121434333121434123323422242342422343213342121131123113311231124213213314232314424314432133344123211223414332421223324344232221434212432133234222323233122144131313231421423212323114421241312142313232313232112114143442414423113441223112334311233112323323324133442144341134224124211313112411133123243442221432342214134134134314323414423244433343232231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223233442323222341133323131322423332321334331114132421123213413344144222131333124431322323343131342344221132144231411311222224221123341314312444213121212343133222141322143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444331323113331432421121343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323112342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141214211123322114413221444311313311343144443143313331222412231324443331443234131344332242124124214232234214122212331134213112111221122133433241432414324241433121423322413442333334143312413441432443213221124311214421322124342121311131442123222343234334133142131342324441232221121441134123234122234333311222242211342421342333312133214212411143331133411234114211244332113143432143231222133334232421112124423414411124443414332321343421212212231421211122331213433124241344121333144132000000000000000000100000000000000000022334321232143431244414231212141312332443234234412413343221213242132121121141423241122213341242322242314112222342443113143222312424333123121211121144444114413222123231343342223113443321423323313142123441331142422132143224312233431221242122433111311413214332314342443132422324434222322143212334144122232343224334132243143331344222222124332224124223424311431122314123424222232123232234112234143213113432213444423132321313112133433113443324212133113343333243331344121414423424113211124213333431231234232443411131312424421431332314342331143344214123442241241142341442342341442434113334422213413334431223344142313234323342223312433111434212222233144114211234142214313331234232243433434433134122311334343241324323334311121421221343143111131433114343344343324412141414123244311342234112431242231322143343314321331314314214131213213424341144332341311434134222142321121343222232412444143132431411132114134321143321433233334414323142443332321443414313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144414132212121431233132432312434113233323141312132442221324131331231233423424322424434432341234223333313232322233441233321112341122243322424233234431213122321342111333322332423222332323322144312331223213312333121344424224313132223122113142223321133324141422421223423233414124123211332233313331232432322321234224323333334322113431223432431232213213222413232412213344141313224333221112333433312141132213113323224131321123100000000000000000000000010012441232124134413212422223122134121213323344311334231241321413141413142213444412314431412100000000000000000000000000000000000000000000100000000000000000000142134233313343214333112233234111241322133143224424233411314132224333114312423332341332223222332141132111113333432444222222141444412241313332233121122341233244331442222323113332432313412213241341331213241414331233113111423113241411312214323332222132223141421233412113341422112312114213133321314232433223334312441434132312223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342432224222312211431442322241323413443422322434331442124213431214234123223134441234332322342323342413131421421333443231133232231244314123433323312222232332233234441223122112222434243434333323432323342132223312122121243432423214223312213222321314414434432211213131331211322224143234133131113224223444413344413112123444222114222313121223433132413311423141344213121322314144142122411332313343244244214412113232321332343114143444131411123331311131413332133432213224212322322344134113133343222342442133421233223242414414114112224132334342231233312224314344414214211224233443413142333323342111212123323311422122113343344424113324114233421333323322241432320000000000000000000000000000000000000000100003244444424234223310100000000214142231432000000000000100002434333344414221423243143414432134333134414414442342233221314421142311141111122112111131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221434234114231244321224122313443422311234341414422141124223231113414324123114123344241334444234412342311413333214444111142214123224344213333313331111143121413231241243323223432334213211143233121314321412214223213144222332221332223443311322112243344221443332113344434211143411424241124113434313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133334123432313333133332311413141221211341342132424342342212231132312312233442233223343133431232224123233132232131343211432122431312321221421432442314233223121232332223114342333322423323324422233313341434141243144414423321221112133441343134343314241212431442422223413433323 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121111123113311231124213213344432133221143232141313123211211414334221223324344232221434212432133234222323233122144131313231421423212323114421241312142313232313232112114143442414423113441223112334311233112323323324133442144341134224124211313112411133123243442223432344214134144134314323414423244433343232231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143442341141121131442333334321334331311133221323313411141224222333323124423341114321324124222213312124231433223112242344314333114134112131343424422131144312412321443342432444242422124242224334223231214331111124412333212232312423443112234113213413322414433323222332444111311433331123242434441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412214312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323132342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141214211123122114413221444311313311343144443143313331222412231324443331443234133324332412222322234432234232222232333134213212111221134133243241422412224221231121433322413444423112321422221341432241432221324111432433322124132123113343224123434343212132133412331342324431232221121441134123232122234333311222242211342221342333312133214412311143333133411234114211244332113143432143231222133334232421112124423414411124421231114143312443443232231441431342332411311123341342121331344114100000000000000000000000000000000000023114323214143312242414221211141342312443212232434233324221313242132421321343423441142213133424444444114333233334443133321221133142311123321313343324144314231322224243223342242311323441221223213324323411333143222222331242314233411221242322433113313313214332312142441112422324434222322143212432344122232333224334122243143331344222222124332224124223424311231122314123424222232123232234112234143213313432213444423132321313112133433143443324212133113343333243331322121434423424123211124213333414231233442423421134334424423431332314344333143344214123442241243342121444342341432432311334223213214222231223324112133224313322223134214344213414242213144112211234142214313331234232243433434433132122311334343241324323334311121421221343143111131233114343344343324412143414123244311342234112421243231322143343314321331314334214131213213424321144333331311234134224142323122321441412211444143332223332333314122121323341211433312432143322123111343222213343233431343143211232242321413333441133213132323133233331413212211344313123423332233124124112433443232322112333332132224123313344444413144214132212122431233132432312434113233323141312132442221322231131231433423424342424432432341212242311111432342131223211123332423342422342232441112414431344343324212123422132342343332221141324134333431331314341331141222222311333322322331122323323111122141242221421433224412144324431332323124343414432322341214224123333334344232411223332431232233212224413232412211222341331442331241234333431234141132233113321242133123141100000000010000000000000000012441231342334213212422431144132121411441122111132432431143413341413144213222414322433412300000000000000000000000000000000000000000000000000000000010000000122132233313344214333112244434111243322332241244244233423133343242332114332421312314214133224334321132114343311414422431222141444312321313332233121442321431224321222422223233334212311442213223121133233231413321433313111123113241441312214323132322113224111221223412113341423414132124233333321314232433223334312141414332312223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324242313431241441334142133312423423223212431342232224222313211431242322241321413443421322414333324322313341234434323223334441234232322342323342413131421421324443231133234231244114121433323312222232332431214441223122112222414243434134321432322342132223412124123224432323214223322213222341314114434432211213121331432324244143234133131331132423212413342413112123342143312221131321442311312212132223141344213123122112142142222113332213323244444244112331314333314341122331212321433221311331333431342311434411322232324124312112143333143222342442133421233223242414414114112224132334342231233312224314344414214211224233441414342334323341111212143321213422223214343322224321242132441424333323322241432120000000000000000000000000000100000000000000003241444422434221310010000000214142231432000000000000010001434333344414221423243143414432134333134414414444142231211314441122311241411124314134131413231241142212312432241442232133333432313241123244222221343322212211212114241123113222133223123122214241234122323413211143422221241344122421424434334131442313412144121221422313234341414422141324223231113414324123114123344241334444234412342311413333214444111142214123224344213313313331111143121413231241243323211232314111221322333321114323432212411241241234114221334413243311322112233344421443334113344434241343411422241124333131113233441143144331342441441413231111221242423332134244422443344324314324324213342343211142122214133334143432313333133121231433331411213331343312422424132412413132312134233424121241323113332432424443233132232131341211432342431312323211421232442314233223121232332143121324133322221123134422442131321442421241232214343323221132321333231444143444243212413242322223133433323 313113411133411412322113214224243221133442423222134121434142114422133112124333232313244234231442114414322241443232142321214341343424222342442423213342124131123113311233124213213314232314424314412133213123211223412312244214322344232221432233332314234422131423143344113332431223221312121132421143314344313212311234212314143442414423113441243112334311233212323323324133242144341114244124211314112411133123243442221432344214131244134334323414423244443343232231331441342312422422421423112111233141122131114343421133441244233121334221144223224322423314233343222212231442323422311333323131442323332321334313114132421123213411141244222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143211222223422222431334244224142223233413111311144444313212232312423423112234123213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114121332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232333322222443242232342341421222312332113211333322433144434214333341413222422422323311333112324231223133133313224434412242342124322241112323222312443442131334342143141133122331431141412333214223423143123231243432242331114324344334131443231233444431113314212122441431214244242144414442421241343233212121324133232221322344222213243421134334132224211444434142443221312421333134342134223343332412214211412141141113213431334122344314212233334414411423212433424333412232143311442343233114133412131411341121422311211212334432311323311322144324221311114211111431242121234124132243443421313432443313434413222133134323233224132323321432234243323332232213444311232111141124423321113333332422211224433131241214131342232242122124214232234214222212331134213112111221132133433231422412222221231121433322413444423112321422221341432241432221324111432433322124132123113343224123434343212132133412331342324431232221121441134123232122234333311222242211342221342333312133214412311143333133411234114211244332113143432143231222133334232421112124423414411124421231114143312443443232231441431342332411311123341342121331344114100000000000000000000000000000000000023114323214143312242414221211141342312443212232434233324221313242112421321343423441142213133424444444114333233334443133321221133142311123321313343324144314231322224243223342242331323441221223213324323411333143222222331242334231431443132344212441313412214332314342443132422324434222322143212332124122232443224314122441123431344442143224114412323444343333231431132221244424412141232444322431411433333432413244242332113333112133433143443324212133111343333343331322141434423434113311121221341231243433431423413334132242341244111132324313211141232331224423433334341244342341442434313334423213414334431223342142313234323342123312433111434212222133144112211234342214313331214432243433434433132122313332343241324323334311123421221343143111131233114343344343324412143414123244311342234112421242231322143343314321331314334214143233213144321142333331111214112222212323111343222233231242121142231411132114124321143321433243234414343122443331343243214311233233321343411232422223212311241121233322141213432111431244411344313141423132233144342112433223242222332333332112224121331324444431144434132212422431233132432312434113233344321312432442224124131332431433422424342424434432341234222311111432342131223211123332423342422342232431114431213122321342232333323334423222334331121324312331223213312333121344424224313132223143313142243321133324121242221421433224412144123431332323124343414434322341214224323333334344232411223332431432233212224413232412211222341331442331241234333431234141132233113321242133123141300000000001000000000000000012443231142112243212422431142132123411441122111314432431143433341433234241444312114431412300001000000000000000000000000000000000000000000000000000000000000122134233333134434323332433234111241322132243224422231411334132222333314312423332341332223222332144113111113331414422431422143443432323213312233121422341233244331442222323113334212311242413123123133233231313121213121224123332233443333224124332344133223111221233232313443142112112124213333321314232433223334314441433332414224343242422124341243321231411434142244222113132212443233222433433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342432224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323441441233234231444114123333343312222232332233234441223122112222434223434334423432323342132223312142141323432424214223312213422321311414434432211213131331211322224143234133131113224223444413344413112123444222114222313121223433132413311423141344213121322314144142122411332313343244244214412113232321332343114143444131411123331311131413332133432213224212322322344134113133143222342442133421233223242414414114112224132334342231233312224314344414214211224233443413142333323342111212123323311422132113343344424113324114233421333323322241232120000000000000000000000000000000000000000100003244444424234223310100000000214142231432000000000000100002434333344414221423243143414432134333134414414442342233221314421142311141111122112111131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221434234114231244321224122313443324113234341414422141324223231313414324123114123344243334444234412342311413333214444111142214123224344213233313333123113121413211241243321111231314111421322333331114323233212411341211222332221332223443311322112243344221443332113344434211143411424241124113434313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133334123432313333133332311413141221211341342132424342342212231132312312233442233223343133431232224123233132232131343211432122431312321221421432442314233223121232332223114342333322423323324422233313341434141243144414423321221112133433341444121344241212411211344441131221321 313113331111433234142211223442411241123142421222144121322342114423123112142221232312314232433223331424323111121434333121434323243422242342422343213342121131123113311231124213213144432133221143232141313123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221223342413112333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233322134124331223232343432223111222243223422222414414223111244233242123444331323113331432421121343321311131312112123124321423132323223214142213134323434211223231131123342224333143312411322244111431112112441221113133434412212312233132341114234442311313441114333421343322214233322422413224232132321221222112432113211332142233144414214333321213242124422323311333312324231223133133311224434412242342124322241312323222312443442131334342143141333122331431341412331214223423213343211443432242133314324324334131443231233244431314314312122443131434244242114414442421241343233213323322333232323323122424213222413212134332224431444414124424223111121313132342334223343312432214211412121141143213131334324444124412433334414431423432231244333412232143411422343233114133413314223413441333124231431214422311323112342144322221121114211111231142141214124132223443421313432423313434413222133134323233224132323321412211123322112413221444311313311343124243143313331222422211324433331413234133324332412222322234432234232222232333134213212111221134133243231422412224221231121433322413444423112321422221341432241432221324111432433322124132123113343224123434343212132133412331342324431232221121441134123232122234313311222242211342221342333312123214412311143333133411234114211244332113143432143231222133334232421112124423414411124421231114143312443443232231443431342332411311123341342121331344114100000000000000000000000000000000000023114323214143312242414221211141342312443212232434233324221313242132421321343423441142213133424444444114333233334443133321221133142311123321313343324144314231322224243223342242311323441221223213324323411333143222222331242314233411221242322433113313313214332312142441112422324434222322143212432344122232333224334122243143331344222222124332224124223424311231122314123424222232123232234112234143213313432213444423132321313112133433143443324212133113343333243331322121434423424123211124213333414231233442423421134334424423431332314344333143344214123442241243342121444342341432432311334223213214222231223324112133224313322223134214344213414242213144112211234142214313331234232243433434433132122311334343241324323334311121421221343143111131233114343344343324412143414123244311342234112431243231322143343314321331314334214131213213424321144333331311234134224142323122321441412211444143332223332333314122121323341211433312432143322123111343222233243233431343143211232422223232331241333433322341213442111431244211344313141443112233324342114432221232334312333332332224123331324444413144414132212121431233112232312434113233323141312132422221144131332431413422424342242212233223212242311111412342131223211123332423342422342232441212414431344143324212123442142342343332221141124134321421213312133333321442322313132223143313144222321333322143424223423323433434124123211232233313331232432342123432132141111334122113432223432431232213213222413212412211242324331244331223112333433314322314214314133324131343321300000000000100000000000000031443231322332211431422431142132123411441122111314432431143433341431142213442424322431234301000000000000000000000000000000000000000000000000000000000000000122132233313134234334312443432313411132313121224424331411334132222333314312423332341332223222332144113111113331414422431422143443432323213312233121422341233244331442222323113334212311242413123123133233231313121213121224123332233443333224124332344133223111221233232113443142112112124213333321314232433223334312141414332312223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324242313431241441334142133312423423223212431342232224222313211431242322241321413443421322414333324322313341234434323223334441234232322342323342413131421421324441441233234231444114123333343312222232332431214441223122112222414243434333323432323342132223312122121243432423214223312213222321314414434432211213131331212322324143234133131113224223442433344413112123444222114222313124442411312212132223141344213123122112142142222113332213323244424244112331314333314341122331212321433221311331333431342311434411322232324124312112141113143421234242334223432243244212414112431422324134432211131112442132142144214211224233421414142334323341111212143321213442223214343122224321242132441424211323312143241320000000100000000000000000000000000000000000003244424222434223310000100000212124233432001000000000000002434333341312443323141331224211132332311414214322333413221314421142311141111122112111131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221432234114231244321224322313443324113412223331244343324243211313214324123114123342243334444214412342231333321414222113342412123224144211233313331111143121413231241243323223432334213211143233121314321412214223213144234114221134224443411344333231322421113334223344414413143411422241112333111133233441141124331342441441213433233443411231114312223442224122444314324322431222341431122122414133312441324213133133122211413141221211341342132424342342212431132212332221424121241321113332432424143233132232131311211433342431314323211421234244314233421221112332223114322333322423323324422233313341434141243144412324131422312131441333134343444243432411242422223413433323 313113411133411412322213214224243221133442423222134121434142114423133112124333232313244234231442114414322241443232142321214341343424222342442423213342124131123113311233124213213314232314424314412133213123211223412312244214322244232221432233332314234422131423143344113332431223221312121132421243314344313212311234212314143442414423113441243112334311233212323323324133242144341114244124211314112411133123243442221432344214131244134334323414423244443343232231331441342312422422421423112111233141122131114343421133441244233121334221144223224322423314233343222212231442323422311333323131442323332321334313114132421123213411141244222331323124433322323343131342344221132144231411321222224221324343314312444211121214323133244111312343413222232442242432124244224134223231214331111124412313212232312423443112234113213411322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434422413441432311312131411341121422311211212334432311323311322144324221311114211111431242121234124132243443421313432443333434411242131142311221322432341141214211123322114413221444311313311343144443143313331222412231324443331443234131144232242122124214232234232222232113112433131233242132131431231432214232241233121433322413442333312143312213441414421213443113334234233122142341341131131224341434343212132133414132122324441332234121431134121232314412231212244444213121444131131334234431243334311131323434414242114212313131343432143231222133334234221322122421412443324121231112143312443443232213221211324132413333344342314121331142134000000000001000000000000000000000000023114323214143312242412321412421142312443232234412413343221213232132121341141423441142211133424442424113333432344243313321231332142311121321211143144144334233322224243223142242111323443223223213324323443333122412132143224314231431443132344212441313412214332314342443132422324434222322143212332344122232343224332334443343331344222222134332224124223424311231122314123422242232123232434112431143211332112431222223134321133331331413143244314444131313313243241211122121432423422113311344213333434231233442424411134332224423431332314144333143344214123442241243342121444424331434412331222243213214224231223324112133224313322224134214344213412222233342312231314122214131131231414121242232431212424413134221221314323112223321221413343343111131213114243324343324412143214123234311122234112431242231323143333314321331314334214131213213424321144333341311434134222142321121343222232412444143134431411132114324321143321433231334414341142443332321443414313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144414132212422431233132432312434113233344321312432442224124131332431231423334322424432212343232443333313232322233441233321114341122243122424233234231213122321342111333322332422222112323122122132133431333114341321341424234313132223143313142223321133322143442241423322233414344324212331323124343434432322341214224323333334342232432141312233412414213222233234212433344141313224311421112133431312142312214314133224431323121300000000000000000000010000012441231142134213212422223142134321411343142331312412241341413321411142213442414322431212100000000000000000000000000000000000000000000000000100000000000000223134231313144214333112243434111243322333141224424231411334132222333114312423332411314222244334321133111113331414422431422141444412321333132413141143123243422123424244341233134233313441233241321313233441414331433311111123113241441312214323132322113224111221223434113341423414132224233333321314232433223334314441433332414224343242422124341243321231411434132244222113132212443233222433433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342432224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434134321432322342132223412124123224432323214223322213222341314114434432211213121331432324244143234133131331132423212411312413132343342143312221131321442311312212132223141344213123122112142142222113332213323244444244112331314333314341122331212321433221311331333431342311434411322232324124312112141113113421234242334223432243244212414112131222324134432211131112442132142144214211224233421414142334323341111212143321213422223214343122224321242132441424211323312143241320000010000000000000000000000000000000000000003244424222434223310000100000212124233432001000000000000002434333341312443323141331224211132332311414214322133413221314421142311141111122112131131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221432234114231244321224122313443422313432223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211311113111323113121413411241443323211232312111221322323321114321432232211241211234114221134224443411344333231322421113334223344414413143411422241112333114313234241123124331342441443413231211221242423332134244422443344324314324324213342343211142122214133334143432313333133121231433331411213331343312422424132412413132312134233424121241323113332432424443233132232131341211432342431312323211421234242334243223223213422143321124133342221123334422232131321434421241232214343323221132321333231444141344241412413211342441131221321 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314334433223331424123111121434333123434323343422242342422343213342124131123113311231124213213344432133221143232141313123211211414334221223324344232221434212432133234222323233122144131313231421423212323114421241312142313232313232212114143442414423113441223112334311233112323323324133244144341134224124211313112411133123243442221432344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141124222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213411322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311311442343233114133412131411341121422311211212334432311323311322144324221311114211111431242121234124132243443421313432443313434413222133134323233224132323321412211123322112413221444311313311343124244143313331222422211324433331413234133324334212122322134214234214222212331134213112111221132133433241432414224441233121433144413442333334321412213414314421233443113334234233122142341341131131224341434343212132133414132122324441332234121433134121232314412211212244444233121444331131334224431243314311131323434414242114212312113143432143231222133334234242323112431322143324143214132343312441443232231421231322331433333124342314131131144332000000000000000000000000001000000000023334321134143412222312321412421142312441232234112411343422332432132121323141423441142213133424444444114333232344443113321221332142311123321313143124144314233322224243223342242111323441221223213324323441333142422132143224314211211221242322433111313413214332312342443132422324434222122133212332124122232343224314122441123431344242143224114412323444343333231431132221244424412141232444322431411433333432413244242332113333332131411343243314242133313343341241211122321434423434113311124213433234231233442223411114132242321244111132344313211341232331224423433334341424424133232332333332222131434224213214124442333334111124243332434314413432222233344132232314142214313331214432243433434433132122313334343341324323334311121421221343143111331233114343144343324412143414123244311122234112421242231322143333314321331314334214131213213424321142333341311434134222142321121343222232412444143132431411132114134321143321433233334414323142443332321443414313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144414132212422431233132432312434113233344321312432442224124131332431231423334322424432212343232443333313232322233441233321114341122243122424233234231213122321342111333322332422222112323122122132133431333114341321341424234313132223143313142223321133322143442241423322233414344324212331323124343434432322341214224323333334342232432141312233412414213222233234212433344141313224311421112133431312122312214314133224431323121300000000000000000000010000012441231142134213212422223144134321411343142331312412241341413321411142213442424322431212100000000000000000000000000000000000100000000000000000000000000000122234133313333214333112444432111211132333143224424231411314132224333114312423332341332223222332141132111113333432444222222141444412341313332233121122341233244331442222323133332432313412213241341331233241414331233113111423113241411312214343332222132223141421231412113341422412312114213333321314232433223334312441434332414224113242422124311143121231211212132244222134112424443233234433231423423121423321113331432131334433221423133222413142312324222313133241433134344133312421243223212433322434244222333231431242322241123412443412342434333324322313431214234123223134441234332322342323322413331421221323443231133234231244114121433323312224232332233234431223122112222434243434333323432323342132223312122121243432423214223312213222321314414434432211213131331212322224143232113133131224223442411342413112343342143312221131321443311312212132223141344213121122114144142122411332313343244244214422113232323412143114143444331431123213211111211332131212243324212324122314132343133343222342442133421233223242414414114112224132334342231233312224314344414214211224233441414142334323341111212143321213422223214343322224321242132441424333323322241432120000000000000000000000000000000000010000000003244442442434221311000000000214142231432000000000010000001434333341412221423241133414231134323114414414442342231213214423122311121411324312134223413411141123423134212223231413313333432313241123244422223343322242413212112241144331422133423323122214241234122323413211143422221441344122423424432334121442313412144121223422311212323311244343324243211313214324123114123342243334444214412342231333323414222113342412123224144211233313333121113121413211241243323211232314111221322333321114321432212411241211234114221332223443311322112243344221443332113344434211143411424241124113434313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133334123432313333133332311413141221211341342132424342342212231132312312233442233223343133431232224123233132232131343211432122431312321221421432442314233223121232332223114342333322423323324422233313341434141243144414423321221112133433341444121344241212411211344441131221321 313113411133411412322213214224243221133442423222134121434142114423133112124333232313244234231442114414322241443232142321214341343422222342442423213342124131123113311233124213213314232314424314412133213123211223412312244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312314313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213411322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323132342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141214211123122114413221444311313311343144443143313331222412231324443331443232313324334212122124214232234214222234113112433131233242132131431241432214232241233121433322413442333312143312213441414421233443113334234233122142342341131131224341434343212132133414132122324441332234121431134121232314412211212244444213121444131131334224431243334311131323434414242114212313131343432143231222133334234221322122421412443324121231112143312443443232213223211324132413333344342314121331142134000000000001000000000000000000000000023114323214143312242412321412421142312443232234412413343221213232132121341141423441142211133424442424113333432344243313321231332142311121321211143144144334233322224243223142242111323443223223213324323443333122412132143224314233211221244322433111313413214332314342443132422324432222322143212332144122232343244134122423143331344222222124332224124223424311231122314123424222232123232234112234143211332112431222223134321133331331413143244314444131313313241241211122121432423422313331344213333431231234232443411131312424421431332314342331143344214123442241241142341442342341442434113334423213414334431223344142313234323342223312433111434212222233144114211234142214313331234232243433434433134122311334343241324323334311121421221343143111131433114343344343324412141414123244311342234112431242231322143343314321331314314214131213213424341144332341311234134222142323121343222232412442143134431411132114324321143321433231334414341322123111343222233243233431343143211232422223232331241133433322341213442111431244211344313141443112233324342114432221232222334133332132224133333344444413134212314434142234423434441114212331331324144134444242211324133111211433423334322442212233223212242311111432342131223211123332423342422342232441112414431344143324212123442142342343332221141124134333431331334341331141222222311333322322331122223121133342321422241423322233414144324212311323123343434432322341214224323333334342233431121313233414213233222233234214233244341333224333421112131233312141132233113323224111323121100000000000000000000000010012441231142314213212422223342134341411443142333314412243343413323411144213422414322413412100000000000000000000000000000000000000000100000000000000000000000142134233313343214333134243232111241132332123244224213411133343442333134312423332411314222224334321332111114333434244221243441444412321333132413121422321431224321222422223233334212311442213241341331211233333331233313111123113241441312214323332322333243111221233412113443142112112124213333321314232433223334314441433332414224343242422124311243321231411434132312234333112214443233222433433423221143423321233331421113134433223241123222413324332324222313131241441334342133312423423223212431342232224222312211431242322241323413443422322434331442124213431414234123123134331434212342344323322213111421421323443231213414411244114343423323312222232334233232441223122112222434443434334323432143324132223312322123224232313214223322213222121314414212432431234131331212324224143412313133111224223442233312413132343342143312222313141223433332432332223141344213121322114144142122411332313343244244214412113232321332343114143444131411123331311131411332133432213224212322322314134113113113421234242334223432243244212414112131222324334432211231312422132142144214211224233443413142334323342111212124323311422132113343122224321242132441424211323312143241320000000000001000000000000000000000000000000003244424442434223310001000000212122213232100000000000000002434141141312441311121333221211312132314332431442343431213214423122311121411324312134223413231221323412312431323231413313311214131441123244432441131134312231334434343323313224311241123122214222414122343131433421222422223341322241434434112233244321224122313443322121214341434422141324223211313414324123114123344243334444234412342311413333214444111142214123224344213333313331321113121413233241223343211432314111221122333321114321432214211241241422332221314413243311322112233344421443334113344434211341243212443322133114111414443143144313322243443213443211443241231114132423442224122444314424122431222121211122122414133312441324213133133122211413141221211341342132424342342212431132212332221424121141343133332231242443233132232131341231432344211412323211421234244314233421221112332223114322333322423323324422233313341434141243144414324131422312131431331444121344221213211211342441131221321 313113411133411412322213214224243221133442423222134121434142114423133112124333232313244234231442114414322241443232142321214341343422222342442423213342124131123113311233124213213314232314424314412133213123211223412312244423324332232213222412432133224222133423143344113332431243223212121132421143314342333432311212112314143413414343113141243112134311233112323323324131212144443134222344411143112411123323243224421212344212134134134314323414443244443342231131231441312312422423441423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323124423341114323324124222213312124231433223122242344314333114134112131323424422131144312412321441222223422222431334244224142223233413111311144444313212232312423423112234123213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333431343322232232322212343242232332323421222112332113211333322433144434214333341413222122222323331333112324231223111132331442234412122342144224241314321422114421444131314112113241313122341411141212331114223421213323211443432242133134324324334231443231233444133314314312122443131434244242314414442421241343233213323122132232211322344442213243421134314134424231434434122443221312421333134342134223343332412214211412141141113213431334122344314212233334414411423212433424333412232143334422413441432311313314223413441333124231431214422311323112342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141214211123122114413221444311313311343144443143313331222412231324443331443234131144232242122124214232214414222212331134213112111221132133433241432414324241433121423322413442333334143312413441432443213221124311214421322124342121311131442123222343234334133142131342124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324242323112431322143324143214132343312441443232431421231322331433333124342314131131144332000000000000000000000000001000000000023334321134143432222312321412421142312441232234112411343422332432132121323141423441142213133424444444114333232344443113321221332142311123321313143124144314233322224243223342242111323441221223213324323441333142422132143224314211211221242322433111313413214332312342443132422324434222122133212332124122232343224314122441123431344242143224114412323444343333231431132221244424412141232444322431411433333432413244242332113333312131411343243314242133313343341241211122321434423434113311124213433234231233442223411114132242321244111132344313211341232331224423433334341424424133232332333332223131434224213214124442333334111124243332434314413432222233344132232314142214313331214432243433434433132122313334343341324323334311121421221343143111331233114343144343324412143414123244311122234112421242231342143333314321331314334214131213213424321144333331311234134224142323122321441412211444143332223332333314122121323341211433312432143322123111343222213343233431343143211232242321413333441133213132323133233331413212211344313123423332233124124112433443232322112333332132224123313344444413134212314434142234423432441114212331331324144134444242311324133111211433423334342442212233223212242311111432342131223211123332423342422342232441112414431344143324212123442142342343332221141122134333431331334341331141222222311333322322331122223121133342141442241423322233414144324212331323124343434432322341214224323333334342232432141312233412414213222233234212233244341333224333421112131233312141132233113323224131323121300001000000000000000000000012241441142134213212424223342134341411443142333314412243343413323433234243442414314431432300000000000100000000000000000000000000000000000000000000000000000123112231313144214333112243434111243322333141224422231411314132224313114212423332311332223224222321132311113233414422431422141443432241313332233121123123243422123424244341233134233313441233241321313233441414331433313111123113241441312214323132322113224111221223434113341423414132224233333321314232433223334312141414332312223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342432224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434134321432322342132223412122123223432423214223312213222321314414434432211213131331212322224143234133131113224223442413342411134341424222114222313124442411312212132223141344213123122112142142222113332213323244424244112331314333314341122331212321433221311331333431342311434411322232324124312112141113143421234242334223432243244212414112431422324134432211131112442132142144214211224233421414142334323341111212143321213442223214343122224321242132441424211323312143241320000000100000000000000000000000000000000000003244424222434223310000100000212124233432001000000000000002434333341312443323141331224211132332311414214322333413221314421142311141111122112111131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221432234114231244321224322313443324113412223331244343324243211313214324123114123342243334444214412342231333321414222113342412123224144211311113111111143121413231241243323223432334213221143233121314321412214223213144222332221334413243311322112233344421443334113344434241343411422241124113114313234241123124331342441443232433233443411231114132423242224122444314424122431222121211143144444141112141324232111412122211211143223433341213114242424132212413334224332233424131241323413331231242443233133212131441231432344211412323212441232442314233223121232332143121324133322221123334422442131321442421241232214343323221132321333231444143414243212413242322223133233113 313113331111433234142211223442411241123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422222342442423211341124131111131331411144313213314232314424314412133213123211223412312244214322244432221432212432133434222133423143344113332433223223212121132441143314344313212111234232314143442214423113441243114334331233212323123324133242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221223342413112333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243132342211134223234433113242133133324144313141312431322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233112123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323112342144322223321114211111231142141214124132223443421313432423333434411242131142311221322432341141214211223322114413221444311313311343144443143313331222412231324441331443234131344332242124124214232234214222212331134213112111221122133433241434414224241243221433322413442333312143312213341412241432221124111432433322124132121111131442123222343234132133412132322324441232234121433134123232314232333231422244213121444342133314133231213311341331323431214242211242332113143434323233222131332234242322312431312113124443414332321343421212232213223211324132413333344342344131331144112000000000000000000000000010000000000023331321232143431244414231232441142312441234232112411123422332432332113123141413441122233341224322242114112232344443113143221332422333223121211143123141314233332224243224122223313423321433231233122123441333143222222331242314231431443132344212441333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111233313432213444423132321313132113133143443324212323123343333213331322321434423424111314124213333434231233442424411134332224423431332314144333143344214123442241243342121444424331434412331222243213214224231223324112133224313322224134214344213412222233342312231314122214131131231414121242232431212424413134221221314323112223321221413343343111131213114243324343324412143214123234311122234112431242231323343333314321331314334214131213213424321144333341311234134222142323121343222232412442143132423312333333124143321141413233332212343142443332321443214313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144414132212121431233112432312434113233323141312132422221144131332431433423334324442212233223212242311111432342131223211123332423342422342232441212414431344143324212123442142342343332221141122134333431331334341331141222222311333322322331122223121133342321422241423322233414144324212311323123343434432322341214224323333314342233431121313233414213233222233234214433244341333224333421112131233312141132233113333224131323121100001000000000000000000000012241441142134213212424223342134341411443142333314412243343413323433234243442414314431434300000000000000000000000000000000001000000000000000000000000000000122132233313144214323332233234111241322133141224424231411334132222333314312423332341332223222332144133111113331414422431422141444412321333132413141143123243422123442222323113334212311242413123123133233231313121213121224123332233443333224124332344133223111221233232113443142112112124213333321314232433223334314441433332414224113242422124311143121231211212132244222134112424443233234433231423423121423321113331432131334433221423123222413324332324222313131241441334342133311423423223212431342232224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114123433323312222232332431214441223122112222414243434333323432323342132223312122121243432423214223312213222321314414434432211213131331212322324143234133131113224223442413344413112123444222114222313124442311312212132223141344213123122112142142222113332213323244424244112331314333314341122331212321433221311331333431342311434411322232324124312112141113143421234242334223432243244212414112431422324134432211131112442132142144214211224233421414142334323341111212143321213442223214343122224321242132441424211323312143241320000000100000000000000000000000000000000000003244424222434223310000100000212124233432001000000000000002434333341312443323141331224211132332311414214322333413221314421142311141111122112131131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221432234114231244321224322313443324113412223331244343324243211313214324123114123342243334444214412342231333321414222113342412123224144211311113111111143121413231241243323223432334213221143233121314323412214223213144222332221334413243311322112233344421443334113344434241343411422241124113114313234241123124331342441443232433233443411231114132423242224122444314424122431222121211143144444141112141324232111412122211211143223433341213112242424132212413334224332233424131241323413331231242443233133212131441231432344211412323212441234244314233421221112332223114322333322423323324422233313341434141243144412343323221132321333343134343314241212413242422223133233323 313111331111433232144221224244211221123442423222144121322341214423123112142221232312314234433223334424323111121434333121434323343422222344322343213342121131123113311231124213213344432133221143232141213121213211414334444423324332232213222412432133224222133423143344113332431243223212121132421143314342333432311212112314143413414443113141243112134311233112323323324131212144443134222344411143112411123323243224421212344212134134134314323414443244433342231131231441312312422423441423132111233143112131314343421233222414233121312242141411224342423314233321241223231224343422341141121131442333332321334331134212421123243413141224222331323124431122323143131342344221132124231411223122242344314333114134112213121214323333242141412143213242232442242232124244224134223231214311143444414313232214333423142112234113213213122412213323222142224111211413331323242234441122414324112111234411122344343411314112122434234133341342441331343333232441412132233344231122134122331123233331432423113422241233444331412314243141244233233143432111343133331412321141323323231131312112123124321423132323223212142213134223224211223231131123342224333143312411322244111431112112441221113133433412212312213132341114234442311313441114333421343322332212322222444242133332321421222122332313211133322413144434214331121413222124422121313333114323432221333132311444233412222342344322241332321422334443444111334144141141333342131231143412423234423423241121413241413224313111144124134131221312413424411114114213114211111233414142144214242423243141233233323322133232211322344442213243421134313134424231434434122443221312421333134312134223143332412214411412141141143213131334324444124412433334414431423432231244133412232143434421413441432311313314223413441333124233431214422311323112342144322221121114211111431142121214324132443443421313432243213134413222131142321221312432321141232234243123332232213444311232111141124423321113333334422211222433131241214131342232242122124214232234214222212331134213112111221132133433241422412222221231121433322413444423112321422221341432241432221324111432433322124132123113343224123434343212132133412331342324431232221121441134123232122234333311222242211342221342333312133214412311143333133411234114211244332113143432143231222133334232421112124423414411124421231114143312443443232231441431342332411311123341342121331344114100000000000000000000000000000000000023114323214143312242414221211141342312443212232434233324221313242112421321343423441142213133424444444114333233334443133321221133142311123321313343324144314231322224243223342242331323441221223213324323411333143222222331242334231431443132344212441313412214332314342443132422324434222322143212332124122232443224314122441123431344442143224114412323444343333231431132221244424412141232444322431411433333432413244242332113333112133433143443324212133111343333343331322141434423434113311121221341231243433431423413334132242341244111132324313211141232331224423433334341244342341442434313334423213414334431223342142313234323342123312433111434212222133144112211234342214313331214432243433434433132122313332343241324323334311123421221343143111131233114343344343324412143414123244311342234112431242231322143343314321331314334214143233213144321142333331111214112222212323111343222233231242121142231411132114124321143321433243234414343122443331343243214341233233321343411232422223212311241121233322141213432111431244411344313141423132233144342112433223242222332333332112224121331324444431144434132212422431233132432312434113233344321312432442224124131332431433422424342424434432341234222311111432342131223211123332423342422342232431114431213122321342232333323334423222334331121324312331223213312333121344424224313132223143313142243321133324121242221421433224412144343431332323124343414434322341214224323333334344232411223332431432233212224413232412211222341331442331241234333431234141132233113321242133123141300000000001000000000000000012443231142112243212422431142132123411441122111314432431143433341433234241444312114431412300001000000000000000000000000000000000000000000000000000000000000122134233333134434323332433234111241322132243224422231411314132224333114312423332341332223222332141132111113333432444222222141423434321333332233121422123243422121424242341233134233313441233241321313233441414331233113111423113241411312214323332222132223141421233412113341422112312114213133321314232433223334312441434132414324313242422334311143123233213414334244224133112424233233224413433424223143423321233331421113134433223243123222413322332324222314131241441332342113132243223213212433322432424222313211431242322341123412443422322434333324322313343234434321223134442234232322342323342413131221421324441441233234231444112123333343312222433312233234441223122112222434243434334333432323342132223312322123224432323231223323131232321334434212432433234133341432124224143234133131331222223442211342413112123444142114241111121223433132413311444442122431131122134224142122421214331141122244214412113232323412143414143444331431143213213111211342311434411322212124122414312343313342242342412134423432223422412414114112224132334342231233312224114324412121123412111141234324314423132433423343131223323222243131122243111224434243241211241124123231340010000000000000000000000000000000000000000004244342442412423130000000010412122231232100000000000000002434141141412221423241133414232134333114414414442342231211314441122311241411124314134131413231241142212312432241442232133333432313241123244424221343322244213212112221144131442133423121323422322412421121433211123242222223321322221434434114231244321224122321223422113212223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211233313331111113121413231441243323221432314111221142233321114323432214213241141222332221334413243311322112233344421443334113344434241343411422241124113131133233441141124333342441441413231211221242423332134243421443344324314324324213342343211122124244133112441324233133132121231431331221211142342132422342342212431112212332221424121241321113332432424143233132232131311211432342431314323211421234242334243223223213422143321124133342221123334422232131321434421241232214323321221112131433343134343314243212413242322223133433323 313113331111433234142211224444211221133442423222134121434142114422123112124333232313244234431223334421323114121434333121434123323422222342442423213342124131123113311233124213213314232314424314412133213123211223412312244214322344232221432233332314234422131423143344113332431223221312121132421243314344313212311234212314143442414423113441243112334311233212323323324133242144341114244124211314112411133123243442221432344214131244134334323414423244443343232231331441342312422422421423112111233141122131114143421133441244233121334221144223224322423314233343222212231442323422311333323131442323332321334313114132421123213411141244222331323124433322323343131342344221132144231411321222224221324343314312444211121214323133244111312343413222232442242432124244224134223231213311143444414313232214333423142112234113213413322414413323222142224111211433331323242234441122414124112111234411122324343411314112122434234133341344441331343333232441432132231344231122134122331123233331432423113422241233424331412314243141244233233123444311343113331434423141343323231131314112123144321133132243243112342211134223234413113242133133322144313141312213144244134431114134441223213133434412232332313312341114234444311313441114333431343322232232322212343242232332323421222112332113211333322433144434214333341413222122222323331333112324231223111132331442234412122342144224241314321422114421444131314112113241313122341411141212331114223421213323211443432242133134324324334231443231233444133314314312122443131434244242314414442421241343233213323122132232211322344442213243421134314134424231434434122443221312421333134342134223343332412214211412141141113213431334122344314212233334414411423212433424333412232143331242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433241432414222243233121231322413442333334321412213414414221233221124311214421322124342121311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413122143414332321142221212232431423233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144314231322224243223141242111321443223223212322341341333442422132143424434233233221242322433111313413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213433234231233442223411114132242321244111132344313211341232331224423433334341424424133232332333332223131434224213214124442333334111124243332434314413432222233344132232314142214313331214432243433434433132122313334343341324323334311121421221343143111131213114243344343324412143414123234311122234112431242231322143333314321331314334214131213213424321142333341311434134222142321121343222232412444143132431411132114134321143321433233334414323142443332321443414313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144214132212122431233132432312434113233323141312132442221322231131231433423424322424434432341234223333313232322233441233321112341122243322424233234431213122321342111333322332423222332323322144312331223213312333121344424224313132223122113142223321133324141422421223423233414124123211332233313331232432322321234224323333334322113431223432431232213213222413232412213344141313224333221112333433312141132213113323224131321123100000000100000000000000000012441232124134413212422223122134321213323344331334231241323413141413142213444412314431412100000000000000000000000000000000000000001000000000000000000000000142134233313343214333112233234111241322133143224424233411314132224333114312423332341332223222332141132111113333432444222222141444412341313332233121122341233244331442222323133332432313412213241341331233241414331233113111423113241411312214343332222132223141421231412113341422412312114213333321314232433223334312441434332312224311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342432224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434134321432322342132223412124123224432323214223322213222321114414432422211213131231212314224443412111133111224223442213344413112123444222114222313124442311312212132223141344213123122112142142222113332213323244424244112331314333314341122331212321433221311331333431342311434411322232324124312112141113143421234242334223432243244212414112131222324134432211131112442132142144214211224233421414142334323341111212143321213442223214343122224321242132441424211323312143241320000100000000000000000000000000000000000000003244424222434223310000100000212122213231010000000000000002434333341312221411141331221231312332311414414442342231411312321324234121411344332134223411431141123423134212223231413313311214131434341441434221343322244213212112241144331444311241123122214222414122343131433421422222223341322221434434114231244321224122313443322113432223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211333313331323113121413411241443323211232312111221322323321114341432232211241211422334421314413243413322333231324441113334213344414413143411422241112333114313234241123124331342441443413231211221242423332134243422443344324314324324213344343211122124244133112441324233133132121231431331221211142342132422342342212431112212332221424121241321113332432424143233132232131311211432342431314323211421234242334243223223213422143321124133342221123334422232131321434421241232214323321221112131433343134343314241413213242422223413433323 313113411133411412322213214224243221133442423222134121434142114423133112124333232313244234231442114224312141423432132341212323343422242342422343213342121131123113311231124213213344432133221143232141313123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341133323133322421312321334331114132421123213413344144222131323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141322143213342232444242432124242224334223231214331111144412313212232312423443112234113213413322414433323222332444111311433333343244214421142212123112131244431124124141234333114122332234113111144231331333132232443432124111322233322134124331223232343432223111222243223422222414414223111244233242123444331323113331432421121343321311131312112123124321423132323223214142213134323434211223231131123342224333143312411322244111431112112441221113133434412212312233132341114234442311313441114333421343322214233322422413224232132321221222112432113211332142233144414214333321213242124422323311333312324231223133133311224434412242342124322241312323222312443442131334342143141333122331431341412331214223423213343211443432242133314324324334131443231233244431314314312122443131434244242114414442421241343233213323322333232323323122424213222413212134332224431444414124424223111121313132342334223343312434214211412121141143213131334324444124412433334414431423432231244333412232143411422343233114133412131411341121422311211212334432311323311322144324221311114211111431242121234124132243443421313432443313434413222133134323233224132323321412211123322112413221444311313311343124243143313331222422211324433331413234133324332412222322234432234232222232333134213212111221134133243231422412224221231121433322413444423112321422221341432241432221324111432433322124132123113343224123434343212132133412331342324431232221121441134123232122234333311222242211342221342333312133214412311143333133411234114211244332113143432143231222133334232421112124423414411124421231114143312443443232231441431342332411311123341342121331344114100000000000000000000000000000000000023114323214143312242414221211141342312443212232434233324221313242132421321343423441142213133424444444114333233334443133321221133142311123321313343324144314231322224243223342242311323441221223213324323411333143222222331242314233411221242322433113313313214332312142441112422324434222322143212432344122232333224334122243143331344222222124332224124223424311231122314123424222232123232234112234143213313432213444423132321313112133433143443324212133113343333243331322121434423424123211124213333414231233442423421134334424423431332314344333143344214123442241243342121444342341432432311334223213214222231223324112133224313322223134214344213414242213144112211234142414313331214432243433434433132122313334343341324323334311121421221343143111331233114343144343324412143414123244311122234112421242231342143333314321331314334214131213213424341144333341311434134222142321121343222232412444143132431411132114134321143321433233334414323142443332321443414313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144414132212422431233132432312434113233344321312432442224124131332431231423334322424432212343232443333313232322233441233321114341122243122424233234231213122321342111333322332422222112323122122132133431333114341321341424234313132223143313142223321133322143442241423322233414344324212331323124343434432322341214224323333334342232432141312233412414213222233234212433344141313224311421112133431312122312214314133224431323121300000000000000000000010000012441231142134213212422223142134321411343142331312412241341413321411142213442424322431212100000000000000000000000000000000000000000000000000010000000000000223134231313144214333112243434111243322333141224424231411334132222333114312423332411314222244334321133111113331414442431422141444412321333132413141143123243422123424244341233134233313441233241321313233441414331433313111123113241441312214323132322113224111221223434113341423414132224233333321314232433223334312141414332312223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342432224222313211431232322341323413443422322434311442144313431214234123223134441234332323342323322413131421221323443231133232231244314121433323312222232332233234431223122112222434243434333323432323342132223312122121243432423214223312213222321314414434432211213131331212322324143234133131113224223442413344413112123444222114222313124442311312212132223141344213123122112142142222113332213323244424244112331314333314341122331212321433221311331133411342311434411322232324124312112141113142242342442134423432223242412414112131222324134432211131112442132142144214211224233421414142334323341111212143321213442223214343122224321242132441424211323312143241320000000001000000000000000000000000000000000003244424442434223310000100000212122213231010000000000000002434333341312221411141331221231312332311414414442342231411312321324234121411344332134223413431141123423134212223231413313411214131434341441424221343322244213212112241144331442133423121323422322412421121433211123442222223321322221434434114231244321224122313423422311234341414422141324223231113414324123114123344241334444234412342311413333214444111142214123224344213333313331111143121413231241243323223432334213211143233121314321412214223213141422334421314413243413322333231324441113334223344414413141243222443324133114313234241123124331342441443232433233443411231114132423242224122444314424122431222121211143144444141112141324232111412122211211143223433341213114242424132212413334224332233424131241323413331231242443233133212131441231432344211412323212441232442314233223121232332143121324133342221123334422232131321434421241232214343323222312131441343134343314241212431442422223413433323 313113411133411412322113214224243221123442423222134121434142114422123112124333232313244234431223334421323114121434333121434123323422242342422343213342121131111131331411144313213344432133221143232141313123211211414334221223324344232221434212432133234222323233122144131313231421423212323114421241312142313232313232112114143442414423113441223112334311233112323323324133442144341134224124211313112411133123243442221432344214134134134314323414423244433343232231331441312312422423421423112111233141122131114343412231222442433113332242121221224322413312333341241223231424143442341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213411322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431114334431223213133233222232332313312443114214242311313443111333221343322232333322222443242232342341421222312332113211333322433144434214333341413222422422323311333112324231223133133313224434412242342124322241112323222312443442131334342143141133122331431141412323214223423243123213243412244333111324324114133221312411444431144314232122441411234241122144214243223441343233213123322133232221322344222213443421134334132222211444434142443221312421333134312134223343332412214211412121141143233131314322344324212233334413431443432231244333412232143334422413441432311313314223413441333124231231214432311133311322144324221121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211224433131241214131144232242122124214232234232222232113112433131233242132131431231432214232241233121433322413442333312143312213441414421233443113334234233122142341341131131224341434343212132133414132122324441332234121431134121232314412211212244444213121444131131334224431243334311131323434414242114212313131343432143231222133334234221322122421412443324121231112143312443443232213223211324132413333344342314121331142134000000000001000000000000000000000000023114323214143312242412321412421142312443232234412413343221213232132121341141423441142211133424442424113333432344243313321231132142311121321211143144144334233322224243223142242111323443223223213324323443333122412132143224314233211221244322433111313413214332314342443132422324432222322143212332144122232343244134122423143331344222222124332224124223424311231122314123424222232123232234112234143211332112431222223134321133331331413143244314444131313313241241211122121432423422313331344213333431231234232443411131312424421431332314342331143344214123442241241142341442342341442434113334422213414334431223344142313234323342223312433111434212222233144114211234142214313331234232243433434433134122311334343241324323334311121421221343143111131433114343344343324412141414123244311342234112421242231322143343314321331314314214131213213424341144332341311434134222142321121343222232412444143132431411132114134321143321433233334414343322123332321243214313233433121343411232422223232331241133433322341213432111431244211344313141443112233324342114432221232222334133332132224133333344444413144414132212122431233132432312434113233323141312132442221124131332431233423334324444212233341234222311111432342131223211123332423342422342232441112414431344343324212123422132342343332221141124134333431331314341331141222222311333322322331122323323111122141422221421433224412144323431332323124343414432322341214224323333334344232411223332431232233212224413232412211222341331442331241234333431234141132233113321242133123141100000000010000000000000000012441231342334213212422431144132121411441122111132432431143413341413144213422414322433412100000000000000000000000000000000000000000000000001000000000000000123134231313144214333134244232111241132332123243224213411133343442333134312423332411314222224334321132111343311434444222223441443432323213312233121122341233244331442222323113332432313412213241341331233241414331233113111423113241411312214323332222132223141421233412113341422112312114213133321314232433223334314441433332314244313242422124311121141221211414132244222113134424444434224333231223223121321313213331232131314433243423133222213322132324222313131241441334342131312423223223212433322432224222313211431242322344123413443422322434331442124213431214234123223134441212232322342323322413331421221323443231133234231244114123433323314222232132233434441222142122422434241434314323232323442134223312122123224432323214423322213222321314414434432211213131331212322224143234133131113224223442413112413134341424222114222313124442411312212132223141344213123122112144142222111332213323244444244112331314333314341122331212321433221311331333431342311434411322232324124312112141113143421234242334223432243244212414114112224132334342211233322242132342144214211224233421414142334323341111212143321213422223214343122224321242132441424211323312143241320000000000001000000000000000000000000000000003244424222434223310001000000212122213232100000000000000002434141141312441311121333221211312132314332431442342231411312321324234121411344332134223411431141123423134212223231413313311214131434341441424221343322244213212112241144331442133423121323422322412421121433211123442222223321322221434434114231244321224122313443422313432223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211311113111323143121413231241243323223432334213211143233121314321412214223213144234114221134224443411344333231322421113334223344414413143411422241112333131133233441141124333342441441413231211221242423332134243421443344324314324324213342343211122124244133112441324233133132121231431331221211142342132422342342212431112212332221424121241321113332432424143233132232131311211432342431314323211421234242334243223223213422143321124133342221123334422232131321434421241232214343323222312131441331444141313323212411411342441131221321 313111331111433232144221224244211221123442423222144121322341214423123112142221232312314234433223334424323111121434333121434323343422222344322343213342121131123113311231124213213344432133221143232141213121213211414334444423324332232213222412432133224222133423143344113332431243223212121132421143314342333432311212112314143413414443113141243112134311233112323323324131212144443134222344411143112411123323243224421212344212134134134314323414443244433342231131231441312312422423441423132111233143112131114343421233222414233121312242141411224342423314233341241223231224343422341141121131442333332321334331134212421123243413141224222331323124431122323143131342344221132124231411223122242344314333114134112213121214323333242141412143213242232442242232124244224134223231214311143444414313232214333423142112234113213213122412213323222142224111211413331323242234441122414324112111234411122344343411314112122434234133341342441331343333232441412132233344231122134122331123233331432423113422241233444331412314243141244233233143432111343133331412321141323323231131312112123124321423132323223212142213134223224211223231131123342224333143312411322244111431112112441221113133434412212312213132341114234442311313441114333421343322332212322222444242133332321421222122332313211133322413144434214331121413222124422121313333114323432221333132311444233412222342344322241332321422334443444111334144141141333342131231143412423234423423241121413241413224313111144124134131221312413424411114114213114211111233414142144214242423243141233233323322133232211322344442213243421134313134424231434434122443221312421333134312134223143332412214411412141141143213131334324444124412433334414431423432231244133412232143434421413441432311313314223413441333124233431214422311323112342144322221121114211111431142121214324132443443421313432243213134413222131142321221312432321141232234243123332232213444311232111141124423321113333334422211222433131241214131342232242122124214232234214222212331134213112111221132133433241422412222221231121433322413444423112321422221341432241432221324111432433322124132123113343224123434343212132133412331342324431232221121441134123232122234333311222242211342221342333312133214412311143333133411234114211244332113143432343231222133334232421112124423414411124421231114143312443443232231441431342332411311123341342121331344114100000000000000000000000000000000000023114323214143312242414221211141342312443212232434233324221313242112421321343423441142213133424444444114333233334443133321221133142311123321313343324144314231322224243223342242331323441221223213324323411333143222222331242334231431443132344212441313412214332314342443132422324434222322143212332124122232443224314122441123431344442143224114412323444343333231431132221244424412141232444322431411433333432413244242332113333112133433143443324212133111343333343331322141434423434113311121221341231243433431423413334132242341244111132324313211141232331224423433334341244342341442434313334423213414334431223342142313234323342123312433111434212222133144112211234342214313331214432243433434433132122313332343241324323334311123421221343143111131233114343344343324412143414123244311342234112421242231322143343314321331314334214143233213144321142333331111214112222212323111343222233231242121142231411132114124321143321433243234414343122443331343243214341233233321343411232422223212311241121233322141213432111431244411344313141423132233144342112433223242222332333332112224121331324444431144434132212422431233132432312434113233344321312432442224124131332431433422424342424434432341234222311111432342131223211123332423342422342232431114431213122321342232333323334423222334331121324312331223213312333121344424224313132223143313142243321133324121242221421433224412144343431332323124343414434322341214224323333334344232411223332431432233212224413232412211222341331442331241234333431234141132233113321242133123141300000000001000000000000000012443231142112243212422431142132123411441122111314432431143433341433234241444312114431412300001000000000000000000000000000000000000000000000000000000000000122134233333134434323332433234111241322132243224422231411314132224333114312423332341332223222332141132111113333432444222222141423434321333332233121422123243422121424242341233134233313441233241321313233231313121213121224123332233443333224124332344133223111221233232113443142112112124213333321314232433223334312441434132414324313242422334311143123233213414334244224133112424233233224413433424223143423321233331421113134433223243123222413322332324222314131241441332342113132243223213212433322432424222313211431242322341123412443422322434333324322313343234434321223134442234232322342323342413131221421324441441233234231444112123333343312222433312233234441223122112222434243434334333432323342132223312322123224432323231223323131232321334434212432433234133341432124224143234133131331222223442211342413112123444142114241111121223433132413311444442122431131122134224142122421214331141122244214412113232323412143414143444331431123213213111211342311434411322212124122414312343313342242342412134423432223422412414114112224132334342231233312224114324412121123412111141234324314423132433423343131223323222243131122243111224434243241211241124123231340010000000000000000000000000000000000000000004244342442412423130000000010412122231232100000000000000002434141141412221423241133414232134333114414414442342231211314441122311241411124314134131413231241142212312432241442232133333432313241123244424221343322244213212112221144131442133423121323422322412421121433211123442222223321322221434434114231244321224122321223422113212223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211233313331323113121413411241443323211232312111221322323321114341432232211241211422334421314413243413322333231324441113334213344414413143411422241112333114313234241123124331342441443413231211221242423332134243422443344324314324324213344343211122124244133112441324233133132121231431331221211142342132422342342212431112212332221424123241321113332432424143233132232131311211432342431314323211421234242334243223223213422143321124133342221123334422232131321434421241232214323321221112131433343134343313323212431442422223413433323 313111331111433232144221224244211221123442423222144121322341214423123112142221232312314234433223334424323111121434333121434323343422222344322343213342121131123113311231124213213344432133221143232141213121213211414334444423324332232213222412432133224222133423143344113332431243223212121132421143314342333432311212112314143413414443113141243112134311233112323323324131212144443134222344411143112411123323243224421212344212134134134314323414443244433342231131231441312312422423441423132111233143112131314343421233222414233121312242141411224342423314233321241223231224343422341141121131442333332321334331134212421123243413141224222331323124431122323143131342344221132124231411223122242344314333114134112213121214323333242141412143213242232442242232124244224134223231214311143444414313232214333423142112234113213213122412213323222142224111211413331323242234441122414324112111234411122344343411314112122434234133341342441331343333232441412132233344231122134122331123233331432423113422241233444331412314243141244233233143432111343133331412321141323323231131312112123124321423132323223212142213134223224211223231131123342224333143312411322244111431112112441221113133433412212312213132341114234442311313441114333421343322332212322222444242133332321421222122332313211133322413144434214331121413222124422121313333114323432221313132311444233412222342344322241332321422334443444111334144141141333342131231143412423234423423241121413241413224313111144124134131221312413424411114114213114211111233414142144214242423243141233233323322133232211322344442213243421134313134424231434434122443221312421333134312134223143332412214411412141141143213131334324444124412433334414431423432231244133412232143434422413441432311313314223413441333124231431214422311323112342144322223321114211111231142141214124132223443421313432423333434411242131142311221322432341141214211123322114413221444311313311343144443143313331222412231324441331443234131344332242124124214232234214222212331134213112111221122133433241434414224241243221433322413442333312143312213441412241432221124111432433322124132121111131442123222343234132133412132322324441232234121433134123232314232333231422244213121444342133314133231213311341331323431234242211242332113143434123233222131332234242322312431312113124443414332321343421212232413223211324132413333344342344131331144112000000000000000000000000010000000000023331321232143431244414231232441142312441234232112411123422332432332113123141413441122233341224322242114112232344443113143221332422333223121211143123141314233332224243224122223313423321433231233122123441333143222222331242314231431443132344212441333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213333434231233442424411134332224423431332314144333143344214123442241243342121444424331434412331222243213214224231223324112133224313322224134214344213412222233342312231314122214131131231414121242232431212424413134221221314323112223321221413343343111131213114243324343324412143214123234311122234112431242231323343333314321331314334214131213213424321144333341311234134222142323121343222232412442143132423312333333124143321141413233332212343142443332321443214313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144414132212121431233112432312434113233323141312132422221144131332431433423334324442212233223212242311111432342131223211123332423342422342232441212414431344143324212123442142342343332221141122134333431331334341331141222222311333322322331122223121133342321422241423322233414144324212311323123343434432322341214224323333314342233431121313233414213233222233234214433244341333224333421112131233312141132233113323224131323121100000100000000000000000000012241441142134213212424223342134341411443142333314412243343413323433234243442414314431432300000000000000000000000000000000001000000000000000000000000000000122132233313144214323332233234111241322133141224424231411334132222333314312423332341332223222332144133111113331414422431422141444412321333132413141143123243422123442222323113334212311242413123123133233441414331233113111423113241411312214323332222132223141421233412113341422112312114213133321314232433223334314441433332414224113242422124311143121231211212132244222134112424443233234433231423423121423321113331432131334433221423123222413324332324222313131241441334342133311423423223212431342232224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114123433323312222232332431214441223122112222414243434333323432323342132223312122121243432423214223312213222321314414434432211213131331212322324143234133131113224223442433344413112123444222114222313124442311312212132223141344213123122112142142222113332213323244424244112331314333314341122331212321433221311331333431342311434411322232324124312112141113143421234242334223432243244212414112431422324134432211131112442132142144214211224233421414142334323341111212143321213442223214343122224321242132441424211323312143241320000000100000000000000000000000000000000000003244424222434223310000100000212124233431001000000000000002434333341312443323141331224211132332311414214322333413221314421142311141111122112111131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221432234114231244321224322313443324113412223331244343324243211313214324123114123342243334444214412342231333321414222113342412123224144211311313331321143121413231241243323223432334213211143233121314321412214223213144222332221334223441431322332231324421143334223344414413143411422241112333134313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133334123432313333133332311413141221211341342132424342342212231132312312233442233223343133431232224123233132232131343211432122431312323211421232442314233223121232332143121324133322221123334422442131321442421241232214343323221132321333243134343314241213213242422223413433323 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121131123113311231124213213314232314424314412133213123211223412312221223324344232221434212432133234222323233122144131313231421423212323114421241312142313232313232112114143442414423113441223112334311233112323323324133244144341134224124211313112411133123243442221432344212134134134314323414443424433342231231231441312312422423441223112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323124423341114323324124222213312124231433223122242344314333114134112131323424422131144312412321441222223422222431334244224142223233413111311144444313212232312423423112234123213413322414414323222132444111311433333343242234421122412123134111234414322324341211133114141322234333313144241111143132232423432124111322233122134122331223232343432423111424223223424231412314243141244233233144444311424113331432421141343323231131322312123123121433132241323212142211332223234211223231131323442244333143312213142244134431114334431223213133234222232332313312443114214242311313443114333221343322214233322422413242232342341421222112432113211332342233144434214333341413222422422323311333112324231223113133313224434412242342124222241112323222312443442131334342143141333122331431141412323214223423243123213243412244333111324324114133221312411444431144314232122441411234241122144214243223441343233213123322133232221322344222213443421134334132222211444434142443221312421333134312134223343332412214211412121141143213131334324444324412233334414431423432431242333412244311411422413441432311313314223413441333124231431214422311323132342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141234211123322114413221444311313311343144443143313331222412231324443331443234133324334212122324214232214414222212331134213112111221132133433241432414222243233121231322413442333334321412213414414221233221124311214421322124342121311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413122143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144334233322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213433234231233442223411114132242321244111132344313211341232331224423433334341424424133232332333332223131434224213214124442333334111124243332434314413432222233344132232314142214313331214432243433434433132122313334343341324323334311121421221343143111131213114243344343324412143414123234311122234112431242231322143333314321331314334214131213213424321142333341311234134222142323121343222232412442143132431411132114134321143321433233334414323142443332321443414313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144414132212121431233112232312434113233323141312132422221144131332431413422424342242212233223212242311111412342131223211123332423342422342232441212414431344143324212123442142342343332221141124134321421213312133333321442322313132223143313144222321333322141424223423323433434124123211232233313331232432342123432132141111334122113432223432431232213213222413212412211242324331244331223112333433314322314214314133324131343321300000000000100000000000000031443231322332211431422431142132123411441122111314432431143433341431142213442424322431234301000000000000000000000000000000000000000000000000000000000000000122132233313134234334312443432313411132313121224424331411334132222333314312423332341332223222332144113111113331414422431422143443432323213312233121422341233244331442222323113334212311242413123123133233231313121213121224123332233443333224124332344133223111221233232113443142112112124213333321314232433223334314441433332414224343242422124341243321231411434132244222113132212443233222433433423221143423321233331421113134433223243123222413324332324242313431241441334142133312423423223212431342232224222313211431242322241321413443421322414333324322313341234434323223334441234232322342323342413131421421324441441233234231444114123333343312222232332233234441223122112222434223434334423432323342132223312142141223432424214223312213422321311414434432211213131331211322224143234133131113224223444413344413112123442143312222313141223433332432332223141344213121322114144142122411332313343244244214412113232323312343114143444331431123213211111211132131212243324214344122314132143113143222342442133421233223242414414114112224132334342231233312224314344414214211224233441414142334323342111212123323311422132113343344224113324134233224211241124123231120000000000000000000000000010000000000000000003244342442434441330000000010234142213231010000000000000002434333341312221411141331221231312332311414414442343431213214423122311121411324312134223413431141123423134212223231413313311214131434341441424221343322244213212112241144331442133423121323422322412421121433211123422241223344122421424434114231244121224122313443422313214341414422123312224212333434411343332141312423334444234412324333413123224244233321232433143112211313313331111143121413231241243323211232314111221322333321114323432212411241241222332221334223441431322332231324421143334223344434241343411422241124113134113233441143144331342441441413231111221242423332134244422443344324314324324213342343211142122214133334143432313333133121231433331411213331343312422424132412413132312134233424121241323113332432424443233132232131341211432342431312323211421232442314233223121232332143121324133322221123134422442131321442421241232214343323221132321333231444143413223212431442322223133433323 313113411133411412322213214224243221133442433222134121434142114423123112124333232313244334433223331424123111121434333123434323343422242342422343213342121131123113311231124213213344432133221143232141313123211211414334244223324344232421432233332314234222131421122144131313211421443212321114421241312142333432311212112314143412214423113441243114334331233212323123324133244144341134224124211313112411133123243442221432344212134134134314323414443424433342231231231441312312422423441223132111233141112131114343421233222412433121332242141221224342413312333341241223231424143422341141121131442333334321334331311133421123243413141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213411322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211111233414144344232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434422413441132311313314223413441333124231431214422311323132342144322221121311233313431112223214124134223433421313432442313434211222233132223433222134123323232211123122114413221444311313311343144443143313331222412231324443331443234131344332242124124214232234214122212331334213112111221122133433241432414324241433121423322412442333334143312413441432443213221124311214421322124342121311131442123222343234314133142131342324141232221121441134123234314232211212244442113121444331133334224431243334311331321434412242114212313331141214121233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431244442231412443112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121313221143144144334233322224243223142242111321441223223212322341341333442422132143224314231433221244322433111311433314332312342443132422324434222322143112332344122234343224314132443143331344222222134332224124223424311231122314123424222232123234234112234143213113432213444423132321313112133433113443324212133113343333243331344121414123424113211124213333431231414232443411131312424421431332314342331143344214123442241241142341442342341442434113334422213413334431223344142313234323342223312433111434212222233144314211234142214313331234232243433434433134122311334343241324323334311121421221343143111131433114343344343324412141414123244311342234112421242231322143343324221331314314213131213213424341144333341311234134224142323122321441412211444143332223332333314122121323341211433312432143322123111343222213243233431343143211232442223232331241133433322341213442111431244211344313141443112233324342114432221232222334133332132224133333344444413144414132212121431233132432312434113233323141312132442221324131331231233433424322424434432341234223333313232322233441433321112341122243322424233234431213122321342111333322332423222332323322144312331223213312333121344424224313132223122113142223321133324141422421223423233414124123211332223313331232432322321234224323333334322113431223432431232213213222413232412413344141313224333221112133433312141132213113323224131321123100000000100000000000000000012441232124134413212422223122134321213323344331334231241321413141413134213442412314431412100000000000000000000000000000000000000001000000000000000000000000142134233313343214333132233234111241322133143224424233411314132224333114312423332341332223222332141132111113333432444222222141444412341313332233121122341233244331442222323113332432313412213241341331213241414331233113111423113241411312214323332222132223141421233412113341422112312114213133321314232433123334312441434132414224343242422124311243321231411434132314234333112214443233222433433423221143423321233331421113134433223243123222413324332324222313131241441334342133312223423223212431342232224222312211431242332241323413441422322434331442144231431214234123222134441212232122342323322413331421221323443231133234231434114123333323312222232332233234441223123112222434243434334323432323342132223312122121243432423214243312213222321314414434432211213131331212322344143234133131113224223442433344413112123444222114222313124442311312212132223141344213123122112142142222113332213323244424244112331314331314341122331212321433221311331333431342311434411322232324124312112141113343421234242334223432243244212414112131222324131432411131112442132142144214211224233421414142334323341111212143321213442223214343122224321242132441424211323312143241320000001000000000000000000000000000000000000003244424222432223310000100000212124233432001000000000000002434333341312443323141331224211132332311414214322333413221314421142311141111122112111131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221432234114231244321224322313443324113232223331224343324224212333434411343332143312423334444234412324333412123224244233321212433143112421333313333111413121333231241242223221432314131221122333323114321432214211241211222332221334413243311322112233344421443334113344434241343411422241124333134113214443143144313322423123232433233443411231114132423242224122444314424122431222121213122122414133312441324213133133122211413141221211341342132424342342212431132212332233424131241323413331231242443232133212133441231412344211412323212441232442314233223121232332143121324133323221122334422442131321442421241232214324131422312131441333134343413323212411411342441131221321 313113331111433234142211223442411241123142421222144121322342114423123112142221232312314234433223331424323111121434333121434323243422242342422343213342121131123113311231124213213314232314424314412133213123211223412312244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222331323124423341114323324124222213312124231433223122242344314333114134112131343424422131144312412321443342432444242432124242224334223231214331111124412333212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443233121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341113213431334122344314212233334414411423212433424333412232143334422413441432311313314223413441333124231431214422311323112342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141214211123322114413221444311313311343144443143313331222412231324443331443234131344332242124124214232234214122212331134213112111221122133433231432414224241233121433322413442333334321412213414414421233443113334234233122142341341131131224341434343212132133412331342324431232221121441134123232122234333311222242211342221342333312133214212311143333133411234114211244332113143432143231222133334234242323112431322143324143214132343312443443214231421231322332413313123331344121331142334000000000000000000000000000000001000023314321134433431222442321412421112332443234434112411123422332432332113123121423441142213133424442444114333232344444113321221332142211121323211141124121314233332224243224142242111323441223223213322123443333142422132143224314231431443132344212441313412214332314342443132422324434222322143212332344122232343224332334443343331344222222134332224124223424311231122314123422242232123232434112431143211332112431222223134321133331331413143244314444131313313243241211122121432423422113311344213433234231233442223411114132242321244111132344313211341232331224423433334341424424141442434313334423213414334431223344142313234323342223312433111434212222233344132432314142414313331214432243433434433132122313334343341324323334311121421221343143111331233114343144343324412143414123244311122234112421242231342343333314321331314334214131213213424341144333341311234334222142323221343222232412444123132431411132114124321143321433233234414343322123111343222213343233431343143211232242321413333441133213132323133233331413212211344313123423332233124124112433443232322112333332132224123313344444413144414132212121431233132432332434113233323141312132444221324131131213233423424342424434432341234222211111432342131223211123332423342422342232441112414431344143324212123442142342343332221141124134321421213312133333321442322313132223143313144222321333322141424223423323433434124123211232233313331232432342123232132141111334122113432221313233414213233222233234214433244341333224333421112131233312141132233113323224131323121300001000000000000000000000012241441142134213212424223342134341411443142333314412243343413323413144213222414322433412300000010000000000000000000000000000000000000000000000000000000000122132233313134214334312443432313411132313121224424233411334132222333114312423332341332223222332141132111113333414422431422123443432321333132413121422321431224321222422223233334212311442213241341331211233333331233313111123113241441312214323332322333243111221233412113443142112112124213333321314232433223334314441433332414324313242422334311143123233213414334244224133114424243233224433231424223141443121213311432131334431223423133222413142312124222113431244441334322133312423423421212431342232224222313211431242122341143412411422424431331442144213431214234123223134441234332322342323322413131421221323443231133234231244114123433223312422212332231234441223122112222434243234134323232323342132223312322123224432323231223323131232321334434212432433234133341432124224143234133131331222223442233342413112123444142114241131321442311312212132223141344213123122112142142222113332213323244444244112331314333314341122331212321433221311331333431342331434411322232324124312112141113113421234242334223432243244212414112131222324134432211131112442132142144214211224233421414142334323341111212143331213422223214343122224321242132441424211323312143241320000000000001000000000000000000000000000000003244424442434223310001000000212122213232100000000000000002434143141312441311121333221211312132314332431442343431411332321324234121411344332134223413431141123423134212223231413313411214131434341441422223343322242413212112241144331422133423323122214241234122323413211143422221441344122423424432334121442313412144121221422313234341414422141324223231113414324123114123344241334444234412342311413333214444111142214123224344213333313331111143121413231241243323223432334213211143233121314321412214223213144222332221334413243311322112233344421443334113344434241343411422241124113131113214443143144313322423123232433233443411231114132423242224122444314424122431222121213122122414133312441324213133133122211413141221211341342132424342342212431132212332233424131241343133431232224123233132232131343211432122431312321221421434244314233421221112332223114322333322423323324422233313341434141243144412323321221112321333231444143413243212413242322223133433323 313113331111433234142211223442411241123142421222144121322342114423123112142221232312314234433223331424323111121434333121434323243422242342422343213342121131123113311231124213213314232314424314412133213123211223412312244423324332232213222412432133224222133423143344113332431243223212121132421143314342333432311212112314143413414443113141243112134311233112323323324131212144443134222344411143112411123323243224421212344212134134134314323414443244433342231131231441312312422423441423132111233143112131114343421233222414233121312242141411224342423314233321241223231224343422341141121131442333332321334331134212421123243413141224222331323124431122323143131342344221132124231411223122242344314333114134112213121214323333242141412143213242232442242232124244224134223231214311143444414313232214333423142112234113213213122412213323222142224111211413331323242234441122414324112111234411122344343411314112122434234133341342441331343333232441412132233344231122134122331123233331432423113422241233444331412314243141244233233143432111343133331412321141323323231131312112123124321423132323223212142213134223224211223231131123342224333143312411322244111431112112441221113133433412212312213132341114234442311313441114333421343322332212322222444242133332321421222122332313211133322413144434214331121413222124422121313333114323432221333132311444233412222342344322241332321422334443444111334144141141333342131231143412423234423423241121413241413224313111144124134131221312413424411114114213114211111233414142144214242423243141233233323322133232211322344442213243421134313134424231434434122443221312421333134312134223143332412214411412141141143213131334324444124412433334414431423432231244133412232143434421413441432311313314223413441333124233431214422311323112342144322221121114211111431142121214324132443443421313432243213134413222131142321221312432321141232234243123332232213444311232111141124423321113333334422211222433131241214131342232242122124214232234214222212331134213112111221132133433241422412222221231121433322413444423112321422221341432241432221324111432433322124132123113343224123434343212132133412331342324131232221121441234123232122234333311222244211142221342333312133214412311141333133111234114211242332113143432343231222113334232421112124423414411124421231114143312443443232231441431342332411311123341342121331344114100000000000000000000000000000000000023114323214143312242414221211141342312413212232434233324221313242112421321343423441142213333424444444114333233134443133321221133142311123321313343324144314231322223243223342242331323441221233213324323411333143222222331242334231431443132344212441313412214332314342423132422324434222322143212334124122232443224314122441123431244442143224114412323444343333231431132221244424412141232444322431411433333432413244242332113333112133433143443324212133111343333343331322141434423434113211121221341231243433431423413334132242341244111132324313211141232331224423443334341244342341442434313334422213414334431223342142313234313342123314434111434212222133144112211234342214311331214432243433434433132122313332343241324323334311323421221343143111131233114343344343324412143414123244311342234112421242231322143343314321331314334214143233213144321142333331111214112222212323111343222233231242121142231411132114124321143321433243234414343122443331343243214311233233321343411232422223212311241121233322141213432111431244411344313141423132233144342112433223242222332333332112224121331324444431144434132212422431233132432312434113233344321312432442224124131332431433422424342224434432341234222311111432342131223211123332423342422342232431114431213122321342232333323334423222334331121324312331223213312333121344424224313132223143311142243321133324121242221421433224412144323431332323124343414434322341214224323333334344232411223332431432233212224413232412211222341331442331241234333431234141132233113321242133123141300000000001000000000000000012443241142112243212422431142132123411441122111314432431143433341433234241444312114431412300001000000000000000000000000000000000000000000000000000000000000122234233333134434323332433234111241322132243224422231411314132224333114312423332341332223222332141132114113333432444222222141423434321333332233121422123243422121424242341233134233313441233241321313233441414331233113111423113231411312214323332222132223141421233412113341422112312114213133321314232433223334312441434132414224343212422124341243321231411434132244222113132212443233222413433423221143423321233331421113134433223243123222413324332324242313431241441334142133312423423223212431342232224222313211431242322241321413443421322414333324322313341234434323223334441234232322342323342413131421421324441441233234231444114123333343312222232332233234441223122112222434223434334423432323342132223312142141223432424214223312213422321311414434432211213131331211322224143234133131113224223444413344413112123444222114222313121223433132413311423141344213121322314144142122411332313343244244214412113232321332343114143444131411123231311131413332113232213224212322322344134113133143222342442133421233223242414414114112224132334342231233312224314344414214211224233443413142333323342111212123323311422132113343344424113324114233421333323322241432120000000000000000000000000000000000000000100003244444424234223310100000000214142231432000000000000100001434333344414221423243143414432134333134414414444342231411312321324234121411144332134223413431141123423134212223231413313411214131434341441224221343322244213212112241144331442133423121323422322412421121433211123422241223344122421434434114231244321224122313443422313432223331224343324243211313414311321332141312423431322432233142233333323214222113342412123224144211313313333111113321413231241243323223432314211221143233121314321412214223213144234114221312223443431322112231324421443334211341434213143243422443312133114313234241123124331342441443413231211221242423332134243422443344324314324324213344343211143144444141112143324213133133331311413143223433341213114242424132212413334212332233424131241321113332432424143233132232131311211433342431314323211421234244314233421221112332223114322333322423323324422233113341434141243144412324131422312131441331444121344241212231442422223413433323 313113411133211412322213214224243221133442433222134121434142114423123112124333232313244334433223331424123111121434333123434323343422242342422343213342121131123113311231124213213344432133221143232141313123211211414334244214322244432221432212432333432222133423143344113332433223223212121132441143314344313212111234232314143442214423113441243114334331233212323123324133244144341134224124211313112411133123243442221432344212134134134314323414443424433342231231231441312312422423441223132111233141112131114343421233222412433121332242141221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213411322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233112123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311411242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433241432414222243233121231322413442333334321412213414414221233221124311214421322124342121311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412443112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144334233322224243223142242111321443223223212322341341333442422132143224314231433221242322433111313433314332312342443132422324434222322143112332344122234343224334132443143331344222222134332224124223424311231122314123424222232123234234112234143213113432213444423132321313112133433113443324212133113343333243331344121414423424113211124213333431231234232443411131312424421431332314342331143344214123442241241142341442342341442434113334422213413334431223344142313234323342223312433111434212222233144114211234142214313331234232243433434433134122311334343241324323334311121421221343143111131433114343344343324412143214123234311122234112421242231323143333314321331314334214131213213424321144332341311434134222142321121343222232412444143132431411132114134321143321433233334414323142443332321443414313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144414132212121431233112232312434113233123141312132442221124131332431233423424342424434432341434222213131234124213241233321114341122243322424233234431213122321342232333323334423222332321121124134333431333114341321341424234313132223143313142223321133322141442241423322233414144324212331323124343434432322341214224323333334342232432141312233412414213222233234212233344141313224311421112133431312122312214314133224131143321300000000000010000000000000012441231342134213232224223142134321411343342331312412241341211343413142213444412314431412100000000000000000000000000000000000000001000000000000000000000000142134233313343214333132233234111241322133143224424233411314132224333114312423332341332223222332141132111113333432444222222141444412341313332233121122341233244331442222323113332432313412213241341331213241414331233113111423113241411312214323332222132223141421233412113341422112312114213133321314232433223334312441434132414224343242422124311243321231411434132314234333112214443233222433433423221143423321233331421113134433223243123222413324332324222313131241441334342133312423423223212431342232224222312211431242322241323413443422322434331442124211431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434134321432322342112223412124123224432323214223322213222341314114434432211213121331432324244143234133131331132423212433312413132343342143312222331321442311312212132223141344213123122112142142222113332213323244444244412331314333314341122331212321433221311331333431342311434411322232324124312112143333143222342442133421233223242414414114112224132334342231233312224314344414214211224233441414342334323341111212143321213422223214343322224321242132441424333323322241432120000000000000000000000100000000000000000000003244342442432441310000000010234142213231010000000000000002434333341312221411141331221231312332314332431442342231411312321324234121411344332134223413431141123423134212223231413313411214131434341441224221343322244213212112241144331442133423121323422322412421121433211123422241223344122421424434114231244121224122313443322113212223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211333313331323113121413411241443323211232312111221322323321114341432232211241211234114221332223443311322112243344221443332113344434211143411424241124113434313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133334123432313333133332311413141221211341342132424342342212231132312312233442233223343133431232224123233132232131343211432122431312321221421432442314233223121232332223114342333322423323324422233313341434141243144414423321221112133433341444121344241212431442422223133233113 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121131123113311231124213213144432133221143232141313123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221223342413112333341241223231424143422341141121131442333334321334331311133221323313411141224222331323124423341114323324124222213312124231433223122242344314333114134112131343424422131144312412321443342432444242432124242224334223231214331111124412333212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443233121233233123322133214323123122424233222213212134312224433244314124424233111121113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311411242343233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433241432414222243233121231322413442333334321412213414414221233221124311214421322124342121311131442123222343234132333112132324124143212434321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413122143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144314231322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213433234231233442223411114132242321244111132344313211341232331224423433334341424424133232332333332223131434224213214124442333334111124243332434314413432222233344132232314142214313331214432243433434433132122313334343341324323334311121421221343143111131213114243344343324412143414123234311122234112421242231322143333314321331314334214131213213424321142333341311434134222142321121343222232412444143132431411132114134321143321433233334414323142443332321443414313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144214132212122431233132432312434113233323141312132442221322231131231433423424322424434432341234223333313232322233441233321112341122243322424233234431213122321342111333322332423222332323322144312331223213312333121344424224313132223122113142223321133324141422421223423233414124123211332233313331232432322321234224323333334322113431223432431232213213222413232412213344141313224333221112333433312141132213113323224131321123100000000100000000000000000012441232124134413212422223122134321213321344331334231241321413141413142213444412314431412100000000000000000000000000000000000000001000000000000000000000000142134233313343214333132233234111241322133143224424233411314132224333114312423332341332223222332141132111113333432444222222141444412341333332233121122341233244331442222323133332432313412213241341331233241414331233113111423113241411312214343332222132223141421231412113341422412312114213333321314232433223334312441434332312224311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342432224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434134321432322342132223412124123224432323214223322213222321114414432422211213131231212314224443412111133111224223442213344413112123444222114222313124442311312212132223141344213123122112142142222113332213323244424244112331314333314341122331212121433221311331333431342311434411322232324124312112141113343421234242334223432243244212414112131222324134432211131112442132142144214211224233421414142334323341111212143321213442223214343122224321242132441424211323312143241320000100000000000000000000000000000000000000003244424222434223310000100000212122213231010000000000000002434333341312221411141331221231312332311414414442342231411312321324234121411344332134223411431141123423134212223231413313311214131434321441434221343322244213212112241144331444311241123122214222414122343131433421222222223341322221434434114231244321224122313443322113432223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211333313331323143121413231241243323223432334213211143233121314321412214223213144222332221334413243311322112233344421443334113344434241343411422241124113114133233441141124333342441441413231211221242423332134243421443344324314324324213342343211122124244133112441324233133132121231431331221211142342132422342342212431112212332221424121241321113332432424143233132232131311211432342431314323211421234244314233421221112332223114322333322423323324422233313341434141243144412323321221112131433341134343314241212411211342441131221321 313113411133411412322113214224243221133442423222134121434142114422123112124333232313244234433223334424323111121434333121434323343422242344422343211342124131123113311231124213213344432134221143232133213123213211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344212134134134314323414443424433342231231231441312312422423421223132111233141112131314343421233222412433121332242141221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213411322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323112342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141214211123322114413221444311313311343144443143313331222412231324443331443234131344332242124124214232234214122212331134213112111221122133433241434414222241243221423322413444423112323312221341432241432221124311234433324324342141113333224123434141412112113412112324144143214424143233213331212312234333311222242213342424142113314233231212311341331323411214242111242332331143434143231211133334234242322312431312143312143214132343312443443234213223211324132411313144241344121111142132000000000000100000000000000000000000023114321232133431242414221211141342312443212232434233324221313242132121341141423441142211133424442444113333432344243313321231332142311121321211143144144334233322224243223142222111323443223231233122123441333142222132143224314231433221242322433111313433314332312342443132422324434222322143112332344122234343224334132443143331344222222134332224124223424311231122314123424222232123234234112234143213113432213444423132321313112133433113443324212133113343333243331344121414423424113211124213333431231234232443411131312224421431332314342331143344214123442241241142341444424133232332333332223131434224213214124442333334111124243332434314413432222233344132232314142214313331214432243433434433132122313334343241324323332223321221413343343111131233114343344343322444143434331242311124232333232422212322341341312331333334132233343333113424321142333341313213134242214343122321441412211444143132431411132114324321143321433233334414343122123131343242213343233431343143241232222321413433441133213332323133233331413212211344313121423332233124144112432223332332312333332132224123331324444431144414132212121431233112432312434113233323141312132422221144131332431233423424322442212233223212242313131232322233241233321114341122243322424233234431213122321342211333322332422222112323322144134333431331314341331141222222311333322322331122323323111122141242241423322233414144324212331323123343434432322341214224323333334322232432141312233412414213222233234212433344141313224333421112133421314142132213314133324131323321300000000000000000000000001012441231322134213212422431142132123411441122111132432431143413341411144213422414322413412300000000000000000000000000000000000001000000000000000000000000000122134233333144214323112243434111243322333141424422231411314132224333114312423332411314222224334321332111113333434244221243141444412321333132413343122341233244331442222323113332432313412213241341331233241414331233113111423113241411312214343332222132223141421231412113341422112132124231333313114232433223334312441434332414224343242422124311243321231411434132312234333112214443233222433433423221143423321233331421113134433223241123222413324332324222313131241441334342133312423423223212431342232224242313211431242122341143412441422422434331442144233431214234123223134441214232322342323322413131421221323443231133414411244114143423323314222232132233434441222142122422434241234134323232323342132223312322123224432323231223323133222321314414434432211213121331432324224143234133131331132423212233312413132343342143312222313141223433332432332223141344213121322114144142122411332313343244244214412113232321332343114143444131411123331311131411332133432213224212322322314134113113113421234242334223432243244212414112131222324134432211131112442132142144214211224233421414142334323341111212143331213422223214343122224321242132441424211323312143241320000000000001000000000000000000000000000000003244424442434223310001000000212122213232100000000000000002434141141312441311121333221211312132314332431442343431213214423122311121411324312134223413231221323412312431323231413313311214131441123244422223343322242413212112241144331422133423323122214241234122323413211143422221441344122423424432334121442313412144121223422313412323434224123312224212333434324323132143342243334444234413324333413323224244233321212433244144221333313333111113321413231241243323223432314211221143233121314321412214223213141222314223314223423431422112433144421441214111441334211331243212423322133114133233441141124333342441441413231211221242423332134243421443344324314324324213344343211142122212133334143432313333133121231433331411213331343312422424132412413132312134233424121241123113332432422443233132232111441231432344213412323212421234244314233421221112332223114322333322423323324422233313341434141243144412324131221112131433341134141314243212413242422241113433323 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121131123113311231124213213344432133221143232141313123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213411322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443432431244333412232143334422413441432311333314223413441333124231231214432311133311322144324221121114211111411142121412124132223433421313432442313434211222233232223433222134123323212211123122112413221444311313311343124244143313331222422211324433331413234133324332412224124214232234214222212331134213112111221122133433241434414222241243221423322413444423112323312221341432241432221124311234433324324342141113333224123434141412112113412112324144143214424143233213331212312234333311222242213342424142113314233231212311341331323411214242111242332331143434343231211133334234242322312431312143312143214132343312443443234213223211324132411313144241344121111342132000000000000100000000000000000000000023114321232133431242414221211141342312443212232434233324221313242132121341141423441142211133424442444113333232344243313321231332142311121321211143144144334233322224243223142222111323443223231233122123441333142222132143224314231431443132344212441313412214332314342443132422324434222322143212332344122232343224332334443343331344222222134332224124223424311231122314123422242232123232434112431143211332112431222223134321133331331413143244314444131313313243241211122121432423422113311344213433234231233442223411114132242321244111132344313211341232331224423433334341424424141442434313334423213414334431223344142313234323342223312433111434212222233344132432314142414313331214432243433434433132122313334343341324323334311121421221343143111331233114343144343324412143414123244311122234112421242231342143333314321331314334214131213213424341144333341311434134222142321121343222232412444143132431411132114134321143321433233334414323142443332321443414313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144414132212422431233132432312434113233344321312432442224124131332431231423334322424432212343232443333313232322233441233321114341122243122424233234231213122321342111333322332422222112323122122132133431333114341321341424234313132223143313142223321133322143442241423322233414344324212331323124343434432322341214224323333334342232432141312233412414213222233234212233344141313224311421112133431312122312214314133224431323121300000000000000000000010000012441231142134213212422223142134321411343142331312412241343413321411142213442424322431212100000000000000000000000000000000000000000000000000100000000000000223134231313144214333112243434111243322333141224424231411334132222333114312423332411314222244334321133111113331414442431422141444412321333132413141143123243422123424244341233134233313441233241321313233441414331433313111123113241441312214323132322113224111221223434113341423414132224233333321314232433223334312141414332312223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342432224222313211431232322341323413443422322434311442144313431214234123223134441234232322342323342413131421421324441441233234231444114123333343312222232332233234441223122112222434223434334423432323342132223312142141323432424214223312213422321311414434432211213131331211322224143234133131113224223444413344413112123444222114222313121223433132413311423141344213121322314144142122411332313343244244214412113232321332343114143444131411123331311131413332133432213324212322322344134113133143222342442133421233223242414414114112224132334342231233312224314344414214211224233443413142333323342111212123323311422132113343344424113324114233421333323322241432120000000000000000000000000000000000000000100003244444424234223310100000000214142231432000000000000100001434333344414221423243143414432134333134414414442342231411312321324234121411344332134223413431141123423134212223231413313411214131434341441424221343322244213212112241144331442133423121323422322412421121433211123442222223321322221434434114231244321224122313423422311234341414422123312224212333434411343332141312423334444234412324331413123224244233321232433143112211333313333121113121413211241243323211232314111221322333321114321432212411241211222332221334413243311322112233344421443334113344434241343411422241124113114313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133314123432313333133332311413141221211341342132424342342222231132312312233442221223343133431232224123233132232131343211432122431312321221421432442314233223121232332143121324133322221123334422442131321442421241232214323321221112131433341134343314243212413242322223133433323 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121131123113311231124213213344432133221143232141313123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213411322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244114431112114441223233133434412212332313312443114214242311313443111333221343322232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323112342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141214211123322114413221444311313311343144443143313331222412231324443331443234131344332242124124214232234214122212331134213112111221122133433231422412224221231121433322413444423112321422221341432241432221324111432433322124132123113343224123434343212132133412331342324431232221121441134123232314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144334233322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213333434231233442424411134332224423431332314144333143344214123442241243342123444424331434412331222243213214224231223324112133224313322224134214344213412222233342312231314122214131131231414121242232431212424413134221221314323112323321221413343343111131213114243324343324412143214123234311122234112421242231323143333314321331314334214131213213424321144333341311234134222142323121343222232412442143132423312333333124143321141413233332212343142443331343243214311133243321343411232422223212331241123233322341211432111431244211344313141423132233144342112433223242222332333332132224123331322444413144234132212422431233132432312434113233344321312432442224124131332431433423334324442212233223212242311111432342131223211123332423342422342232441212414431344143324212123442142342343332221141122134333431331334341331141222222311333322322331122223121133342321422241423322233414144124212311323123343434432322341214224323333334342233431121313233414213233222233234214233244341333224333421112131233312141132233113323224131323121100000100000000000000000000012241441142134213212424223342134341411443142333314412243343413323433234243442414314431434100000000000000000000000000000000001000000000000000000000000000000122132233313144214323332233234111241322133141224424231411334132222333314312423332341332223222332144133111113331414422431422141444412321333332233121422321233244331442222341233134233313442233241321313233441414331233313111123113241411312214343332222132223111421231412113341422112312114213333321314232433223334342441434332414324313242422334311143123233213414334244224133114424243233224433231424223141443121213311432131334431223423133222413142312124222113431244441334322133312423223421212433322434244222313331431242322341323413443422322434331442124213431214234123222134441212232322342323342413131421421333443233133234231244114123433323312222232332233234441223122112222434243434334323432323342132223312122123223432423214223312213222321314414434432211213121331432324224143232113133111224223442433342413334343424223114221331324442311312212132223141344213123122112142142222113332213323244444244112331314333314341122331212321433221311331333431342311434411322232324124312112143133142242342442134423432223422412414114112224132334342231233312224114324412121123412111141234324314423132433423343131223323222243131122243111224434243241211241124141231120000000000000000000000000000010000000000000003244442422434221310100000000214142231432000000000000001001434333344414221423241143414432134333114414414442133413221314421142311141111122112111131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221434234114231244321224322313443422311234341414422123312223212333434411323332141312423431322432233142231333323214222113342412123224144211313313331111143121413231241243323223432334213211143233121314321412214223213144422334421314413243311322112233324421443334211341434213143243422443312133134313234241123124331342441443232433233443411231114132423242224122444314424122431222121211143144444141112141324232111412122211211143223433341213114242424132212413334224332233424131241323413331231242443233133212131441231432344211412323212441232442314231223121232332143121324133322221123334422442131321442421241232214343323221132321333231444143414241213213242422223413433323 313113331111433232142211224444211221123442223212142121324342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121111123113311231124213213344432133221143232141313123211211414334221223324344232221434212432133234222323233122144131313231421423212323114421241312142313232313232112114143442414423113441223112334311233112323323324133442144341434224124211313112411133123243442223432344214134144114314323414423244433343232231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143442341141121131442333334321334331311233221323313411141224222333323124423341114321324124222213312124231433223112242344314333114134112131343424422131144312412321443342432444242222124242224334223231214331111124412333212232312423443112234113213413322414413323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412413243111242231233123444331323113331432421121343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323111333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323112342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141214211123322114413221444311313311343144443143313331222412231324443331443234131344332242124124214232234214122212331134213112111221122133433241432414324441433121423322413442333334143312413441432443213221124311214421322124342121311131442143222343234334133142131342124441232221121441134123234122234333311222242211342421342333312133214212411143331133411234114211244332113143432343231222133334232421112124423414411124443414332321343421212212231423231122331213433124241344121333144132000000000000000001000000000000000000022334321232143431244414231212141312332443234234412413343221213242134121121141423241122213341242322244314112222342443113143222312424333123121211121144444114413222123231343342223113443321423323313142123441331142422132143224312233431221242122433111311413214332314342443132422324434222322143212334144122232343324334132243143331344222222124332224124223424311431122314123424222232123232234112234143213113432213444423132321313112133433113443324212133113343333243331344121414423424113211124213333431231234232443411131312424421431332314342331143344214123442241241142341442342341442434113334422213413334431223344142313234323342223312433111434212222233144114211234142214313331234232243433434433134122311334343241324323334211121421221343143111131433114343344343324412141414123244311342234112421242231322143343314321331314314214131213211424341144333341313214112222214343122321441412211242143132431411132114134321143321433233334414323142443331343243214311133443321343411232422223212331241123233322341211432111431244211344313141423132233144342112433223242222332333332132224123331342444413144414132212122431233132432312434113233323141312132442221322231131231433423424322424434432341234223333313232322233441233321112341122243322424233234431213122321342111333322332423222332323322144312331223213312333121344424224313132223122113142223321133324141422421223423233414124323211332233313331232432322321234224323333334322113431223432431232213213222413232412213344141313224333221112333433312141132213113333224131321123100000000100000000000000000012441232124134413212422223122134321213323344331334231241321413141413142213444412314431412100000000000000000000000000000000000000001000000000000000000000000142134233313343214333112233234111241322133143224424233411314132224333114312423332341332223222332141132111113333432444222222141444412341313332233121122341233244331442222323133332432313412213241341331233241414331233113111423113241411312214343332222132223141421231412113341422412312114213333321314232433223334312441434332412223311211224122313143321231211434132344234333112214443233224413433423221143423321233331421113134233221423133222413142312324222313133241433134344133312421243223212433322434244222313231431242322341123412443412342434333324322313431214234123223134441214233322312323322413131441241323443231213234231244314123433323312222433332233234441223122112222434243434334323432323342132223312122123223432423214243312213222321314414434432211213131331212322224143234133131113224223442433344413112123444222114222313124442411312212132223141344213123122112142142222113332213323244424244112331314333314341122331212321433221311331333431342311434411322232324124312112141113143421234242334223432243244212414112131222324134432211131112442132142144214211224233421414142334323341111212143321213442223214343122224321242132441424211323312143241320000100000000000000000000000000000000000000003244424222434223310000100000212124233432001000000000000002434333341312443323141331224211132332311414214322133413221314421142311141111122112131131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221432234114231244321224322313443324113412223331244343324243211313214324123114123342243334444214412342311413333214444111142214123224344213233313331111143121413231241243323223432334213211143233121314321412214223213144222332221334413243311322112233344421443334113344434241343411422241124113131313234241123124331342441443413231211221242423332134243422443344324314324324213344343211143144444141112143324213133133321311413143223433341213114242424132212413334212332233424131241321113332432424143233132232131311211433342431314323211421234244314233421221112332223114322333322423323324422233313341434141243144412324131422312131441333134343444241212431442422223133223323 313113411133411412322213214224243221133442423222134121434142114423133112124333232313244234231442114414322241443232142321214341343422222342442423213342124131123113311233124213213344432133221143232141313123211211414334244214322344232221432233332314234422131423143344113332431223221312121132421143314344313212311234212314143442414423113441243112334311233212323323324133242144341114244124211314112411133123243442221432344214131244134334323414423244443343232231331441342312422422421423112111233141122131114343421133441244233121334221144223224322423314233343222212231442323422341141121131442333332321334331134232421123213441134144222131323124433322323343131342344221132124131431223122242344314333114134112131323424423131244112312321413342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433333343244214421142212123112131244431124124141234333114122332234113111144231331333132232443432124111322233322134124331223232343432223111222243223422222414414223111244233242123444331323113331432421121343321311131312112123124321423132323223214142213134323434211223231131123342224333143312411322244111431112112441221113133434412212312233132341114234442311313441114333421343322232212322222443242132332321412222312332113211333322433144434214333341413222122222323331333112324231223131132331444234412122342124322241312323222312443442131334342143141333122331431141412331214223421213323211443432242133114324324334231443231233442433314314312122443131434244242114414432421241343233213323322133232211322344442213243421134314134444231434434122443221312421333134312134223343332414414213132321141143233131314322344324212233334413431443412413424333412232143334422413441432311313314223413441333124231231214432311133311322144324221121114211111411142121412124132223433421313432442313434211222233132223433222134123323234234243323332232213444311232111141124423321113333332422211224433131241214333324332412122322234232234232222234333134213112111221132133433241432414224441233121433144413442333334321412213414314421233443113334234233122142341341131131224341434343212132133414132122324441332234121433134121232314232333231422244213121444342133314133231213311341331323434412242211242332113143434123233222131332234242322312431312113124421231112143312443443232231421231322332413333124241344121331142332000001000000000000000000000000000000023314321134133431222442321412421112332443234234412413343221213232132121341141123441142211133424442444113333432344243313321231332142311121321211143144144334233322224243223142242111323443223223212322321341333442422132143224334233431221242122433111311413214332314342443132422324434222322143212334144122232343224334132243143331344222222124332224124223424311431122314123424222232123232234112234143213313432213444423132321313112133433143443324212133113343333243331322121434423424123211124213333414231233442423421134334424423431332314344333143344214123442241243342123444342341432432311334223213214222231423324112133224313322223134214344213414342233344112211234142234131131231414121242232431212424413134221221314323112223321221413343343111131213114243324343324412143414123234311122234112421242212322123343314331431314334214143213213424321142433331311234134224142323122321441412211444143332223332333314122121323341211433312432143322123111343222213243233431343143211232422223232331241133433322341213442111431244211344313141443112233324342114432221232222334133332132224133333344444413144414132212121431233132432332434113233323141312132444221324131131213233423424342424434432341234222311111432342131223211323332423342422342232441212414431344143324212123442142342323332221141122134333431331334341331141222222311333322322331122223321111122143422421223423233414124123211332233313331232432322321234224323333314122113431223432431232413213122233234212433242341333224333241112333433312122314214314133324131343321300000000001000000000000000012443231142112243212422223142134321411443142331314432241321211343413142213444414322431412100000000000000000000000000000000000000000000000010000000000000000123134231311144214333134243232111241132332123244224213411133343442333134312423332411314222224334321332111114333434244221243441443432321333332413141142123243422121424242341233134233313441233241321313233441414331213121224123332233443333224124332344132223111223233412113443142132112124213333321314232433223334314441434332414224343242422124311243321231411434132244222113132212443233222433433423221143423321233331421113134433221423133222413144312324222313133241433334342133312421243223212433322434244222313231431242322341123412443412342434333324322313431214234123223134441234332322344323322213111421421323443231113414411244114143423323312222232332233234441223122112222434243434334323432323342132223312142121323432424214223322213222121314414212432431234131331212324224143412113133111224223442413342413112123342143312221131321443311312212132223141344213121122114144142122411332313343244244214422113232323412143114143444331431123213211111211332131212243324212324122314132343333142242342412134423432223422412414114112224132334342231233312224114324412214211224233441414142334323342111212124323311422132113343344224111324134233244211241124141231120000000000000000000000000000010000000000000003244442422434221310100000000214142231432000000000000000011434333344414221423243143414432134333134414414444343431211314441122311241411324314131131413231241142212312432241442232133333432313241123244422221343322242213212112241144331422133423321323422321232121321433211123222241223321322221434434114231244321224122321223422113212323331224343324243211313214324123114123342243334444214412342231333323414222113342412123224144211213321333121113121413233241223323211432314111221122333321114121432214211241241422334421314223443413422112233324421443314121314434213331243212443322133434113214443143144313322423121233443233443411233112134243422443344324314324322211342341433123124244343312443324213133133331311413141221211341342132424342342212431132212332233424121221323113332432424143233132232131311211432342431312323211421232442314233223221212322143121324333342221123334422232131321434421241232214323321211112131433333134143313241212413242422223133233321 313113411133211412322213214224243221133442433222134121434142114423123112124333232313244334433223331424123111121434333123434323343422242342422343213342124131123113311231124213223312432334424344432133344123211211414334244214322244432221432212432133434222133423143344113332433223223212121132441143314344313212111234232314343442214423113441243114334331233212323123324133442144341134224124211313112411133123243442221432344214134134134314323414423244433343232231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143442341141121131442333334321334331311133221323313411141224222333323124423341114323324124222213312124231433223122242344314333114134112131323424422131144312412321441222223422422431334244224142223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444331323113331432421121343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323112342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141214211123122114413221444311313311343144443143313331222412231324443331443234131344332242124124214232234214122212331134213112111221122133433241432414324241433121423322413442333334143312413441432443213221124311214421322124342121311131442123222343234334133142131342324441232221121441134123234122234333311222242211342421342333312133214212411143331133411234114211244332113143432143231222133334232421112124423414411124443414332321343421212212231421231122331213433124241344121333144132000000000000000001000000000000000000022334321232143431244414231212141312332443234234412213343221213242132121121141423241122213341242322242314112222342443113143222312424333123121211121144444114413222123231343342223113443321423323313142123441331142422132143224312233431221242122433111313413214332314342443132422324434222322143212334144122232343224334132243143331344222222124332224124223424311431122314123424222232123232234112234143213113432213444423132321313112133433113443324212133113343333243331344121414423424113211124213333431231234232443411131312424421431332314342331143344214123442241241142341442342341442434113334422213413334431223344142313234323342223312433111434212222233144114211234142214313331234232243433434433134122311334343241324323334311121421221343143111131433114343344343324412141414123244311342234112431242231322143343314321331314314213131213211424341144333341313214112222214343122321441412211242143132431411132114134321143321433233334414323142443331343243214311133243321343411232422223212331241123233322341211432111431244211344313141423132233144342112433223242222332333332132224123331322444413144434132212422431233132432312434113233344321312432442224124131332431433423424342424434432341234222313131234124213241233121114341122243322424233234431213122321342232333323334423242332331121124132133431333114341321341424234313132223122131122323321133322141422421223423233414124123211332233313331232432322321234224323333334322113431223432431232213213222413232412213344141313224333221112333433312141132213113323224131321123100000000100000000000000000012441232124134413212422223122134321213323344331334231241341413141413142213444412314431412100000000000000000000000000000000000000001000000000000000000000000142134233313343214333132233234111241322133143224424233411314132224333114312423332341332223222332141132111113333432444222222141444412341313332233121122341233244331442222323113332432313412213241341331213241414331233113111423113241411312214323332222133223141421233412113341422112312114213133321314232433223334312441434132414224343242422124311243321231411434132314234333112214443233222433433423221143423321233331421113134433223243123222413322332324222313431241441134342133312423423223212431342232224222312211431242322241323413443422322434331442124213431214234123223134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434134321432322342132223412124123224432323214223322213222341314114434432211213121331432324244143234133131331132423212413342413112123342143312221131321442311312212132223141344213123122112142142222113332213323244444244112331314333314341122331212321433221311331333431342311434411322232324124312112143333143222342442133421233223242414414114112224132334342231233312224314344414214211224233441414342334323341111212143321213422223214343322224321242132441424333323322241432120000000000000000000000100000000000000000000003244342442432441310000000010234142213231010000000000000002434333341312221411141331221231312332314332431442342231411312321324234121411144332134223413431141123423134212223231413313411214131434341441424221343322244213212112241144331442133423121323422322412421121433211123442222223321322221434434114231244321224122313423422311212223331244343324243211313214324123114123342243324444214412342231333321414222113342412123224144211313313331111143121413231241243323211232314111221322333321114323432212411241241222332221332223443311322112243344221443332113344434211143411424241124113434313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133334123432313333133332311413141221211341342132424342342212231132312312233442233223343133431232224123233132232131343211432122431312321221421432442314233223121232332223114342333322423323324422233313341434141243144414423321221112133433341444121344241212411211344441131221323 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343211141124131121131131431124333223312432334424344432133344123211211414334244214322244432221432212432133434222133423143344113332433223223212121132441143314344313212111234232314143442214423113441243114334331233212323123324133442144341134224124211313112411133123243442221432344214134134134314323414423244433343232231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143442341141121131442333334321334331134232421123213441134144222131323124433322323343131342344221132124131431223122242344314333114134112131323424422131144312412321441222223422422431334244224142223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444331323113331432421121343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323112342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141214211123322114413221444311313311343144443143313331222412231324443331443234131344332242124124214232234214122212331134213112111221122133433241432414324241433121423322413442333334143312413441432443213221124311214421322124342121311131442123222343234334133142131342324441232221121441134123234314232211212244444113121444331131334224431243334311331321434412242114212313331141214321233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431222442231412443112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144334233322224243223142242111321443223223212322341341333442422132143224314231433221242322433111313433314332314342443132422324434222322143212332344122232343224332334443343331344222222134332224124223424311231122314123422242232123232434112431143411332112431222223134321133331331413143244314444131313313243241211122121432423422113311344213333431231233232423411131312424421431332314342331143344214123442241241142341442342341442434113334422213414334431223344142313234323342223312433111434212222233144114211234142214313331234232243433434433134122311334343241324323334311121421221343143111131433114343344343324412141414123244311342234112421242231322143343314321331314314214131213213424341144333341311434134222142321121343222232412444143132431411132114122121323341211433312432143322123111343222213243233431343143211232422223232331241133433322341213442111431244211344313141443112233324342114432221232222334133332132224133333344444413144414132212121431233132432332434113233323141312132444221324131131213233423424342424434432341234222211111432342131223211123332423342422342232441112414431344143324212123442142342343332221141124134321421213312133333321442322313132223143313144222321333322141424223423323433434124123211232233313331232432342123232132141111334122113432221313233414213233222233234214233244341333224333421112131233312141132233113323224131323121300001000000000000000000000012241441142134213212424223342134341411441142333314412243343413323433234243442414314431432300000000000100000000000000000000000000000000000000000000000000000123112231313144214333112243434111243322333141224422231411314132224313114212423332341332223224222321132311113233414422431422141443432241313332233121123123243422123424244341233134233313441233241321313233441414331433313111123113241441312214323132322113224111221223412113341423414132124233333321314232433223334312141414332414224113242422124311143121231211212132244222134112424443233234433231423423121423321113331432131334433221423133222413142312324222313133241433134344133312421243223212433322434244222313231431242322341123412443412342434333324322313431214234123223134441214233322312323322413131441241323443231213234231244314123433323312222433332233234441223122112222434243434334323432323342132223312122123223432423214223312213222321314414434432211213131331212322224143234133131113224223442413342411134341424222114222313141223433332413311223141344213123122112142142222113332213323244424244112331314333314341122331212321433221311331333431342311434411322232324124312112141113143421234242334223432243244212414112131222324134432211131112442132142144214211224233421414142334323341111212143321213442223214343122224321242132441424211323312143241320000100000000000000000000000000000000000000003244424222434223310000100000212124233432001000000000000002434333341312443323141331224211132332311414214322133413221314421142311141111122112111131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221432234114231244321224322313443324113232223331224343324224212333434411343332141312423334444234412324333413123224244233321232433143112421313313331111113121413211241243343211232314111221322333321114321432212411241244422334421334413243413322333231324441113334213344414413143411422241112333114313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133334123432313333133332311413141221211341342132424342342212231132312312233442233223343133431232224123233132232131343211432342431312323211421234244314233421221112332223114322333322423323324422233313341434141243144412343323221132321333231444143414241213213242422223133233113 313113411133211412322213214224243221133442433222134121434142114423123112124333232313244334433223331424123111121434333123434323343422242342422343211141124131121131131431124333223312432334424344432133344123211211414334244214322244432221432212432133434222133423143344113332433223223212121132441143314344313212111234232314143442214423113441243114334331233212323123324133244144341134224124211313112411133123243442221432344212134134134314323414443424433342231231231441312312422423441223132111233141112131114343421233222414233121312242141411224342423314233321241223231224343422341141121131442333332321334331311133221323313411141224222333323124423341114323324124222213312124231433223122242344314333114134112131323424423131244112312321443241232442242431334244224144222231214311143444414313232214333423142112234113211433322414413323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431114334431223213133233222232332313132341114234442311313441114333421343322332212322222444242133332321421222122332313211133322413144434214331121413222124422121313333114323432221333132311444233412222342342322241332321422334443444111334144141141333342131231143412423234423423241121413241413224313111144124134131221312413424411114114213114211111233414142144214242423243141233233323322133232211322344442213243421134313134424231434434122443221312421333134312134223143332412214411412141141143213131334324444124412433334414431423432231244133412232143434421413441432311313314223413441333124233431214422311323112342144322221121114211111431142121214324132443443421313432243213134413222131142321221312432321141232234243123332232213444311232111141124423321113333334422211222433131241214131342232242122124214232234214222212331134213112111221132133433241422412222221231121433322413444423112321422221341432241432221324111432433322124132123113343224123434343212132133412331342324431232221121441134123232122234333311222242211342221342333312133214412311143333133411234114211244332113143432143231222133334232421112124423414411124421231114143312443443232231441431342332411311123341342121331344114100000000000000000000000000000000000023114323214143312242414221211141342312443212232434233324221313242112421321343423441142213133424444444114333233334443133321221133142311123321313343324144314231322224243223342242331323441221223213324323411333143222222331242334231431443132344212441313412214332314342443132422324434222322143212332124122232443224314122441123431344442143224114412323444343333231431132221244424412141232444322431411233333432413244242332113333112133433143443324212133111343333343331322141434423434113311121221341231243433431423413334132242341244111132324313211141232331224423433334341244342341442434313334423213414334431223342142313234323342123312433111434212222133144112211234342214313331214432243433434433132122313332343241324323334311123421221343143111131233114343344343324412143414123244311342234112431242231322143343314321331314334214143233213144321142333331111214112222212323111343222233231242121142231411132114124321143321433243234414343122443331343243214311233233321343411232422223212311241121233322141213432111431244411344313141423132233144342112433223242222332333332112224121331324444431144434132212422431233132432312434113233344321312432442224124131332431433422424342424434432341234222311111432342131223211123332423342422342232431114431213122321342232333323334423222334331121324312331223213312333121344424224313132223143313142243321133324121242221421433224412144323431332323124343414434322341214224323333334344232411223332431432233212224413232412411222341331442331241234333431234141132233113331242133123141300000000001000000000000000012443231142112243212422431142132123411443122111314432431143433341433134241444312114431412300001000000000000000000000000000000000000000000000000000000000000122134233333134434323332433234111241322132243224422231411314132224333114312423332311332223222332141132111113333432444222222141444412321213312233121122321233244331442222323113332432313412213241341331233241414331233113111423113241411312214343332222132223141421231412113341422412312114213333321314232433223334312441434332414224113242422124311143121231211212132244222134112424443233234433231423423121423321113331432131334433221423133222413142312324222313133241433134344133312421243223212433322434244222333231431242322241123412443412342434333324322313431214234123223134441234332322344323323211111421421323443231213414411244114143423323314222232132233434441222142122422434241434314323232323442134223312122121243432423214223312213222321314414434432211213131331212322324143234133131113224223442411344413112123444222114222313124442311312212132223141344213123122112142142222113332213323244444244412331314333314341122331212321433221311331333431342311434411322232324124312112141113113222342442134423432223242412414114112224132334342211233322242132342142214211224233441414142334323342111212123323311422132113343344224121242132441424211323312143241320000000000001000000000000000000000000000000003244424442434223310001000000212124233432000100000000000002434333341312221411141331221231312332314332431442342231411312321324234121411344332134223433431141123423134212223231413313411214131434341441422223343322242413212112241144331422133423323122214241234122323413211143422221441344122423424432334121442313412144121221422313234341414422141324223231113414324123114123344241334444234412342313413333214444111142214123224344213313313331111143121413231241243323223432334213211143231121314321412214223213141222332221314413243413322333231324441113334213344414413143411422241112333114313234241123124331342441443413231211221242423332134243422443344324314324324213344343211143144444141112143324213133133321311413143223433341213114242424132212413334212332233424131241321113332432424143233132232131311211433342431314323211421234244314233421221112332143121324133322221123134422442131321442421241232214324131422312321333231444143413241213213242422223413433323 313111331111433232144223214224243221133442433222134121434142114423123112124333232313244334433223331424123111121434333123434323343422222342442423213342124131123131131431124333223312432334424344432133344123211211414334244214322244432221432212432133434222133423143344113332433223223212121132441143314344313212111234232314143442214423113441243114334331233212323123324133244144341134224124211313112411133123243442221432344212134134134314323414443424433342231231231441312312422423421223132111233141112131314343421233222412433121332242141221224342413312333341241223231424143422341141121131442333332321334331134212421123243413141224222333323324431122323143131342344221132144231411311222224221123341314312444213121214323133242141412143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323132342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141214211123122114413221444311313311343144443143313331222412231324443331443234313324334212122124214232234214222234113112433131233242132131431241432414324241433121423322413442333334143312413441432443213221124311214421322124142121311131442123222343234334133142131342324441232221121441134123234314232211212244444213121444331131334224431243334311331323434412242114312313331141214121233122111112324421112124423412413124143414332321342421212212231421211122331233333124342314131331144132000000000000000000001000000000000000023334321134143432222312321412441142312441234232112411123422332432332113123121423441142213133424442444114333232344443113321221332142211121323211141124121314233332224243224142242111323441223223213322323443333122412132143224314233411221242322433113313313214332312142441112422324434222322143212432344122232333224334122441124443344242143224114222343444343333231431132221244424434241142433322421111433332134431222223114321133331131413143224312444131313313241241211122121432423422113311344113333414231233442423221134334424423431332314344333143344214123442241243342123444342341432432311334223213214222231423324112133224313322223134214344213414342211124112211234142234131131231414121242232431212424413134221221314323112223321221413343343111131213114243324343324412143414123234311122234112421242231323343333314321331314334214131213211424321144333341311434134222142121121343222232412444143134431411132114324321143321433231334414341142443331343243214311133443321343411232422223212331241123233322341211432111431244211344313141423132233144342112433223242222332333332132224123331322444413144414132212422431233132432312434113233344321312432442224124131332431231423334322424432212343232443333313232322233441233321114341122243122424233234231213122321342111333322332422222112323122122132133431333112341321341424234313132223143313142223321133322143442241423322233414344324212331323124343434432322341214224323333334342232432141312233412414213222233234212433344141313224311421112133431312122312214314133224431323121310000000000000000000000000012441231142114213212444223142134321411443142331314432241323413323411144213422414322431412300000000000000000000001000000000000000000000000000000000000000000122234233313333214333112444432111211132333141244244233423133343242332114332421312314214133224334321132111343311432444222222441443432321211334413143123123243422123442222323113334212311242413123123133233231313121213121224123332233443333224124332344133223111221233232113443142112112124213333321314232433223334314441433332414224113242422124311143121231211212132244222134112424443233234433231423423121423321113331432131334433221423133222413142312324222313133241433134344133312421243223212433322434244222313231431242322341123412443412342434333324322313343234434323223334441234232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414223434334423432323342132223312142141223432424214223312213422321311414434432211213131331211322224143234133131113224223444413344413112123444222114222313121223433132413311423141344213121322314144142122411332313343244244214412113232321332343114143444131411123331311131413332133432213324212322322344134113133143222342442133421233223242414414114112224132334342231233312224314344414214211224233443413142333323342111212123323311422132113343344424113324114233421333323322241432120000000000000000000000000000000000000000100003244444424234223310100000000214142231432000000000000100002434333344414221423243143414432134333134414414442342231411312321324234121411344332134223413431141123423134212223231413313411214131434341441224221343322244213212112241144331442133423121323422322412421121433211123422241223344122421424434114231244121224122313443322113212223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211313313331111143121413231241243323211232314111221322333321114323432212411241241234114221314223443431322112233324421443334211341434213143243422443312133131111414443143144313322243443233433233443411231114112223442224122444314424332213322343431242122212133334143432313333133121231433331411213331343312422424132412413132312134133424121241123113332432422443233132232111441231432344213412323212421234244314233421221112332223114322333322423323324422233313341434141243144412343323221132321333231444143413241412431241322223133233113 313111331111433232144221224244211221123442423222144121322341214423123112142221232312314234433223334424323111121434333121434323343422242342422343213342121131123113311231124213213344432133221143232141313123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143443414443113141243112134311233112323323324131212144443134222344411143112411123323243224421212344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222331333124431322323343131342344221132144231411311222224221324341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213411322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112241323212142211332223234211223231131323442244333143312213142244134431114334431223213133234222232332313312443114214242311313443111333221343322232333322222443242232342341421222312332113211333322433144434214333341413222422422323311333112324231223133133313224434412242342124322241112323222312443442131334342143141133122331431141412333214223423143123231243432242331111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124343141212111231342344322232223132424231141414411244314232444311331442343233114133412131411341121422311211212334432311323311322144324221311114211111431242121234124132243443421313432443313434413222133134323233224132323321412211123322114413221444311313311343124244143313331222422211324433331413234133324334212122322134214234214222212331134213112111221132133433241432414222243233121231322413442333334321412213414414221233221124311214421322124342121311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413122143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144244311321431332142311121311221143144144334233322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213433234231233442223411114132242321244111132344313211341232331224423433334341424424133232332333332223131434224213214124442333334111124243332434314413432222231124112211234142234131131231414121242232431212424413134221221314323112323321221413343343311131213114243324343324412143414123234311122234112421242231423143333314321331314334214131213213424321144333341311434134222142321121343222232412444143134431411132114324321143321433231334414341322123111343222233243233231343143211232422223232331241333433322341213442111431244211344313141443112233324342114432221232334312333332332224123331324444413144414132212121431233112232312434113233323141312132422221144131332431433422424342242212233223212242311111412342131223211123332423342422342232441212414431344143324212123442142342343332221141124134321421213314133333321442322313132223143313144222321333322143424223423323433434124123211232233313331232432342123432132141111334122113432223432431232213213222413212412211242324331244331223112333433314342314214314133324131343321300000000000100000000000000031443231322332211431422431144132123411441122111314432431143433341431142213442424322431234301000000000000000000000000000000000000000000000000000000000000000122132233313134234334312443432313411132313121224424331411334132222333314312423332341332223222332144113111113331414422431422143443432323213312233121422341233244331442222323113334212311242413123123133233231413321213121124123332233443333224124332344133223111221233232113443142112112124213333321314232433223334314441433332414224343242422124341243321231411434132244222113132212443233222433433423221143423321233331421113134433223243123222413324332324242313131241441334142133312423423223212431342232224222313211431242322241321413443421322414333324322313341234434323223334441234232322342323342413131421421324441441233234231444114123333323312222232332233234441223122112222434223434334423432323342132223312142141323432424214223312213422321311414434432211213131331211322224143234133131113224223444413344413112123444222114222313121223433132413311423141344213121322314144142122411332313343244244214412113232321332343114143444131411123331311131413332133432213224212322322344134113133143222342442133421233223242414414114112224132334342231233312224314344414214211224233443413142333323342111212123323311422132113343344424113324114233421333323322241232120000000000000000000000000000000000000000100003244444424234223310100000000214142231432000000000000100001434333344414221423243143414432134333134414414442342233221314421142311141111122112111131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221434234114231244321224122313443422311234341414422141124223231113414324123114123344241334444234412342311413333214444111142214123224344213313313333111113321413231241243323223432314211221143233121314321412214223213144234114221134224443411344333231322421113334223344414413143411422241112333114313234241123124331342441443413231211221242423332134244422443344324314324324213342343211122124244133312441324232113412321231433331411211341342132424342342212431132212332233424121241323113332432424443233132232133341211432342231322321212421234244314233421221112332223114322333322423323324422233313341434141243144414324131422312131441343134343314241213213242422223413433323 313113411133211412322213214224243221133442433222134121434142114423123112124333232313244334433223331424123111121434333123434323343422242342422343213342124131123113311231124213223312432334424344432133344123211211414334244214322244432221432212432133434222133423143344113332433223223212121132441143314344313212111234232314143442214423113441243114334331233212323123324133442144341134224124211313112411133123243442221432344214131144134314323414423244433343232231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143442341141121131442333334321334331311133221323313411141224222333323124423341114323324124222213312124231433223122242344314333114134112131323424422131144312412321441222223422422431334244224142223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444331323113331432421121343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323112342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141214211223322114413221444311313311343144443143313331222412231324443331443234131344332242124124214232234214122212331134213112111221122133433241432414324241433121423322413442333334143312413441432443213221124311214421322124342121311131442123222343234334133142131342324441232221121441134123234122234333311222242211342421342333312133214212411143331133411234114211244332113143432143231222133334232421112124423414411124443414332321343421212212231423231122331213433124241344121333144132000000000000000001000000000000000000022334321232143431244414231212141312332443234234412413343221213242132121121141423241122213341242322242314112222342443113143222312424333123121211121144444114413222123231343342223113443321423323313142123441331142422132143224312233431221242122433111311413214332314342443132422324434222322143212334144122232343224334132243143331344222222124332224124223424311431122314123424222232123232234112234143213113432213444423132321313112133433113443324212133113343333243331344121414423424113211124213333431231234232443411131312424421431332314342331143344214123442241241142341442342341442434113334422213413334431223344142313234323342223312433111434212222233144114211234142214313331234232243433434433134122311334343241324323334311121421221343143111131433114343344343324412141414123244311342234112431242231322143343314321331314314214131213213424341144333341313214112222214343122321441412211242143132431411132114134321143321433233334414323142443331343243214311133243321343411232422223212331241123233322341211432111431244211344313141423132233144342112433223242222332333332132224123331322444413144234132212422431233132432312434113233344321312432442224124131332431433423424342424434432341234222313131234124213241233321114341122243322424233234431213122321342232333323334423222332331121124132133431333114341321341424234313132223142131122323321133322141444223423323433414124124211331333123343432132322321234224323333334322132411121312233412213233222233234214233244141313224333221112333433312141132213113323242133123141100000000000000000010000000012441231342334213212422431144132121411441122111132432431143413341413144213422414322433412100000000000000000000100000000000000000000000000000000000000000000123134231313333214323332233234111241322133141224424231411334132222333114334121312314214133224334321132111343311414422431222141423434221333132413141143123243422123424244341233134233313442233241321313233441414331233313111123113241441312214323332322333243111221433412113443142112112124213333321314232433123334314421434332312223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342232224222312211431442322241323413443422322434331442144231431214234123223134441214233322312323322413131441241323443231213234231244314123433323312222433332233234441223122112222434243434334323432323342132223312122123223432423214223312213222321314414434432211213131331212322224143234133131113224223442413342411134341424222114222313121223433132413311423141344213121322314144142122411332313343244244214412113232321332343114143444131411123331311131413332133432213224212322322344134113133143222342442133421233223242414414114112224132334342231233312224314344414214211224233443413142333323342111212123323311422132113343344424113324114233421333323322241432120000000000000000000000000000000000000000100003244444424234223310100000000214142231432000000000000100001434333344414221423243143414432134333134414414444142231211314441122311241411124314134131413231241142212312432241442232133333432313241123244222221343322212211212114241123113222133223123122214241234122323413211143422221241344122421424434334131442313412144121223324311234223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211211113111121113121413211241243343211232314111221322333321114321432212411241241422334421314413243413322333231324441113334213344414413343411422241124113134313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133334123432313333133332311413141221211341342132424342342212231132312312233442233223343133431232224123233132232131343211432122431312321221421432442314233223121232332143121324133322221123334422442131321442421241232214343323222312131441343134343314241212431442422223413433323 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422222342442423213342124131123113311233124213213314232314424314412133213123211223412312244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214134134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213411322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431114334431223213133233222232332313312443114214242311313443111333221343322232333322222443242232342341421222312332113211333322433144434214333341413222422422323311333112324231223133133313224434412242342124322241112323222312443442131334342143141133122331431141412323214223423243123213243412244333111324324114133221312411444431144314232122441411234241122144214243223441343233213123322133232221322344222213443421134334132222211444434142443221312421333134312134223343332412214211412121141143233131314322344324212233334413431443432231244333412232143334422413441432311313314223413441333124231231214432311133311322144324221121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234143123332232213444311232111141124423321113333332422211224433131241214131144232242122124214232234232222232113112433131233242132131431231432214232241233121433322413442333312143312213441414421233443113334234233122142341341131131224341434343212132133414132122324441332234121431134121232314412211212244444213121444131131334224431243334311131323434414242114212313131343432143231222133334234221322122421412443324121231112143312443443232213221211324132413333344342314121331142134000000000001000000000000000000000000023114323214143312242412321412421142312443232234412413343221213232132121341141423441142211133424442424113333432344243313321231332142311121321211143144144334233322224243223142242111323443223223213324323443333122412132143224314233211221244322433111313413214332314342443132422324432222322143212332144122232343244134122423143331344222222124332224124223424311231122314123424222232123232434112234143211332112431222223134321133331331413143244314444131313313241241211122121432423422313331344213333434231233442424411134332224423431332314144333143344214123442241243342121444424331434412331222243213214224231223324112133224313322224134214344213412222233342312231314122214131131231414121242232431212424413134221221314323112223321221413343343111131213114243324343324412143214123234311122234112431242231323143333314321331314334214131213211424321144333341311434134222142321121343222232412444143132431411132114134321143321433233334414323142123111343222213243233431343143211232422223232331241133433322341213442111431244211344313141443112233324342114432221232222334133332132224133313344444413144414132212121431233132432332434113233323141312132444221324131131213233423424342424434432341234222211111432342131223211123332423342422342232441112414431344143324212123442142342343332221141124134321421213312133333321442322313132223143313144222321333322141424223423323433434124123211232233313331232432342123232132141111334122113432221313233414213233222233234214433244341333224333421112131233312141132233113323224131323121300001000000000000000000000012441441142134213212424223342134341411443142333314412243343413323433234243442414314431432300000000000100000000000000000000000000000000000000000000000000000123112231313144214333112244434111243322333141224422231411314132224313114212423332311332223224222321132311113233414422431422141443432241313332233121123123243422123424244341233134233313441233241321313233441414331433313111123113241441312214323132322113224111221223412113341423414132124233333321314232433223334312141414332414224113242422124311143121231211212132244222134112424443233234433231423423121423321113331432131334433221423133222413142312324222313133241433134344133312421243223212433322434244222313231431242322341123412443412342434333324322313431214234123223134441214233322342323322413131441241323443231213234231244314123433323312222433332233234441223122112222434243434334323432323342132223312122123223432423214223312213222321314414434432211213131331212322224143234133131113224223442413342411134341424222114222313124442311312212132223141344213123122112142142222113332213323244424244112331314333314341122331212321433221311331333431342311434411322232324124312112141113143421234242334223432243244212414112431422324134432211131112442132142144214211224233421414142334323341111212143321213442223214343122224321242132441424211323312143241320000000100000000000000000000000000000000000003244424222434223310000100000212124233432001000000000000002434333341312443323141331224211132332311414214322333413221314421142311141111122112111131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221432234114231244321224322313443324113412223331244343324243211313214324123114123342243334444214412342231333321414222113342412123224144211311113111111143121413231241243323223432334213221143233121314321412214223213144222332221334413243311322112233344421443334113344434241343411422241124113114313234241123124331342441443232433233443411231114132423242224122444314424122431222121211143144444141112141324232111412122211211143223433341213114242424132212413334224332233424131241323413331231242443233133212131441231432344211412323212441232442314233223121232332143121324133322221123334422442131321442421241232214343323221132321333231444143414243212413242322223133233113 313113411133411412322213214224243221133442423222134121434142114423133112124333232313244234231442114414322241443232142321214341343422222342442423213342124131123113311233124213213314232314424314412133213123211223412312244214322344232221432233332314234422131423143344113332431223221312121132421243314344313212311234212314143442414423113441243112334311233212323323324133242144341114244124211314112411133123243442221432344214131244134334323414423244443343232231331441342312422422421423112111233141122131114343421133441244233121334221144223224322423314233343222212231442323422311333323131442323332321334313114132421123213411141244222331323124433322323343131342344221132144231411321222224221324343314312444211121214323133244111312343413222232442242432124244224134223231213311143444414313232214333423142112234113213413322414413323222142224111211433331323242234441122414124112111234411122324343411314112122434234133341344441331343333232441432132231344231122134122331123233331432423113422241233424331412314243141244233233123444311343113331434423141343323231131314112123144321133132243243112342211134223234413113242133133322144313141312213144244134431114134441223213133434412232332313312341114234444311313441114333421343322232232322212343242232332323421222112332113211333322433144434214333341413222122222323331333112324231223111132331442234412122342144224241314321422114421444131314112113241313122341411141212331114223423213323211443432242133134324324334231443231231444133314314312122443131434244242314414442421241343233213323122132232211322344442213243421134314134424231434434122443221312421333134342134223343332412214211412141141113213431334122344314212233334414411423212433424333412232143331442343233114133412131411341121422311211212334432311323311322144324221311114211111431242121234124132243443421313432443313434413222133134323233224132323321412211123322112413221444311313311343124244143313331222422211324433331413234133324334212122322234214234214222212331134213112111221132133433241432414222243233121231322413442333334321412213314414221233221124311214421322124342121311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212312331141214121233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144334233322224243223141242111321443223223212322341341333442422132143424412233431221242122433111311413214332314342443132422324434222322143212334144122232343224334132243143331344222222124332224124223424311431122314123424222232123232234112234143213313432213444423132321313112133433143443324212133113343333243331322121434423424123211124213333434231233432423411334332242321244111132344313211341232331224423433334341444342341442434313334423213414334431223344142313234323342223312433111434212222233144112211234342214313331234432243433434433132122313334343241324323334311121421221343143111131213114243344343324412143414123234311122234112431242231322143333314321331314334214131213213424321144333341311234134222142323121343222232412442143132423312333333124143321141413233332212343142443332321443214313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144414132212121431233132432332434113233323141312132444221324131131213233422424342242212233223212242311111412342131223211123332423342422342232441212414431344143324212123442142342343332221141124134321421213312133333321442322313132223143313144222321333322141424223423323433434124143211232233313331232432342123432132141111334122113432223432431232213213222413212412211242324331244331223112333433314322314214314133324131343321300000000000100000000000000031443231322332211431422431142132123411441122111314432431143433341431142213442424322431234301000000000000000000000000000000000000000000000000000000000000000122132233313134234334312443432313411132313121224424331411334132222333314312423332341332223222332144113111113331414422431422143443432323213312233121422341233244331442222323113334212311242413123123133233231313121213121224123332233443333224124332344133223111221233232113443142112112124213333321314232433223334314441433332414224343242422124341243321231411434132244222113132212443233222433433423221143423321233331421113134433223243123222413324332324242313431241441334142133312423423223212431342232224222313211431242322241321413443421322414333324322313341234434323223334441234232322342323342413131421421324441441233234231444114123333343312222232332233234441223122112222434223434334423432323342132223312142141323432424214223312213422321311414434432211213131331211322224143234133131113224223444413344413112123444222114222313121223433132413311423141344213121322314144142122411332313343244244214412113232321332343114143444131411123331311131413332133432213324212322322344134113133143222342442133421233223242414414114112224132334342231233312224314344414214211224233443413142333323342111212123323311422132113343344424113324114233421333323322241432120000000000000000000000000000000000000000100003244444424234223310100000000214142231432000000000000100001434333344414221423243143414432134333134414414442342231211314441122311241411124314134131413231241142212312432241442232133333432313241123244232441131134312231334434343323313224311241123122214222414122343131433421222222223341322221434234114231244321224122313443422311234341414422141124223231113414324123114123344241334444234412342311413333214444111142214123224344213313313333111113321413231241243323223432314211221143233121314321412214223213144234114221134224443411344333231322421113334223344414413143411422241112333114313234241123124331342441443413231211221242423332134244422443344324314324324213342343211122124244143312441324232113412321231433331411211341342132424342342212431132212332233424121241323113332432424443233132232133341211432342231322321212421234244314233421221112332223114322333322423323324422233313341434141243144414324131422312131441343134343314243213213242422223133233113 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343211141124131121113311233124213213314232314424314412133213123211223412312244423324332232213222412432133224222133423143344113332431243223212121132421143314342333432311212112314143413414343113141243112134311233112323323324131212144443134222344411143112411123323243224421212344212134134134314323414443244443342231131231441312312422423441423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113211433322414413323224142444131311431331323442234441122414114112111234411122324343411314112122434234133341344443331343333232441412132233324231122134122331123233331232423113422241233444331412314243141244233233143432111343131131412321141343323233131312112123144322133131223243214142213134323234211223231131123342244333143312411322244331431112114441223233133433412232332313112443114114442311313441114333421344141232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443233121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311411242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124114232214414222212331134213112111221132133433241432414224441233121433144413442333334321422221441432241432221324111432433322124132123113343224123434343212132133412331342324431232221121441134123232314412211212244444233121444331131334224431243314311131323434414242114212333331143434143231211133334234242322312431312143312143214132343312443443234213223211324132411313144241344121111142132000000000000010000000000000000000000023114321232133431224414221211141342312443212232434233324221313242132421321343423441142213133424444444114333233344443133321221333142311123321313343324144314231322224243223342242311323441221223213324323443333122412132143224314233211221244322433111313413214332314342443132422324432222322143212332144122232343244134122423143331344222222124332224124223424311231122314123424222232123232234112234143211332112431222223134321133331331413143244314444131313313241241211122121432423422313331344213433234231233442223411114132242321244111132344313211341232331224423433334343444342341442434313334423213414334431223344142313234323342223312433111414212222233144112211234342214313331234432243433434433132122313334343241324323334311121421221343143111131213114243344343324412143414123234311122234112421242231322143333314321331314334214131213213424321142333341311434134222142321121343222232412444143134431411132114324321143321433231334414341322123111343222233243233431343143211232422223232331241333433322341213442111431244211344313141443112233324342114432221232334312333332332224123331324444413144414132212121431233112232312434113233323141312132422221144131332431413422424342242212233223212242311111412342131223211123332423342422342232441212414431344143324212123442142342343332221141124134321421213312133333321442322313132223143313144222321333322143424223423323433434124123211232233313331232432342123432132141111334122113432223432431232213213222413212412211242324331244331223112333433314342314214314133324131143321300000000000100000000000000031443231322332211431422431142132123411441122111314432431143433341431142213442414322431234301000000000000000000000000000000000000000000000000000000000000000122132233313134234334312443432313411132313121224424331411334132222333314312423332341332223222332144113111113331414422431422141443432241313332233121123123243422123424244341233134233313441233241321313233441414331433313111123113241441312214323132322113224111221223434113341423414132124233333321314232433223334312141414332312223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413322332324222314131241441332342113132243223213212433322432424222313211431242322341123412443422322434333324322313343234434321223134442234232322342323342413131221421324441441233234231444112123333343312222433312233234441223122112222434243434334333432323342132223312322123224432323231223323131232321334434212432433234133341432124224143234133131331222223442211342413112123444142114241111121223433132413311444442122431131122134224142122421214331141122244214412113232323412143414143444331431123213213111211342311434411222212124122414312343313342242342412134423432223422412414114112224132334342231233312224114324412121123412111141234324314423132433423343131223323222243131122243111224434243424211323322243241321000000000000000000000000000000000000000000003244444422434221311000000000214142231432000000001000000001434333344422221423241131224231132332311412414442342231213214423122311121411324312134223413411141123423134212223231413313333432313241123244422223343322242213212112241144331422133423121323422322412421121433211123444221221344124221424434314131444121224122313443422313412223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211313313331111143121413231241243323211232314111221322333321114323432212411241241222332221334413243311322112233344421443334113344434241343411422241124113134313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133334123432313333133332311413141221211341342132424342342212231132312312233442233223343133431232224123233132232131343211432122431312321221421432442314233223121232332143121324133322221123334422442131321442421241232214343323221132321333231444143413241212411211344441131221321 313113411133411412322213214224243221133442423222134121434142114423133112124333232313244234231442114414322241443232142321214341343422222342442423213342124131123113311233124213213314232314424314412133213123211223412312244214322344232221432233332314234422131423143344113332431223221312121132421143314344313212311234212314143442414423113441243112334311233212323323324133242144341114244124211314112411133123243442221432344214131244134334323414423244443343232231331441342312422422421423112111233141122131114343421133441244233121334221144223224322423314233343222212231442323422311333323131442323332321334313114132421123213411141244222331323124433322323343131342344221132144231411321222224221324343314312444211121214323133244111312343413222232442242432124244224134223231213311143444414313232214333423142112234113213413322414413323222142224111211433331323242234441122414124112111234411122324343411314112122434234133341344441331343333232441432132231344231122134122331123233331432423113422241233424331412314243141244233233123444311343113331434423141343323231131314112123144321133132243243112342211134223234413113242133133322144313141312213144244134431114134441223213133434412232332313312341114234444311313441114333431343322232232322212343242232332323421222112332113211333322433144434214333341413222122222323331333112324231223111132331442234412122342144224241314321422114421444131314112113241313122341411141212331114223421213323211443432242133134324324334231443231233444133314314312122443131434244242314414442421241343233213323122132232211322344442213243421134314134424231434434122443221312421333134342134223343332414214211412141141113213431334122344314212233334414411423212433424333412232143311442343233114133412131411341121422311211212334432311323311322144324221311114211111431242121234124132243443421313432443313434413222133134323233224132323321412211123322112413221444311313311343124244143313331222422211324433331413234133324334212122322134214234214222212331134213112111221132133433241432414222243233121231322413442333334321412213414414221233221124311214421322124342121311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144334233322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213333434231233442424411134332224423431332314144333143344414123442241243342121444424331434412331222243213214224231223324112133224313322224134214344213412222233342312231314122214131131231414121242232431212424413134221221314323312223321221413343343111131213114243324343324412143214123234311122234112431242231323143333314321331314334214131213213424321144313343311234134222142323121343222232412442143132423312333333124143321141413233332212343322123111343222213343233431343143211232242321413333441133213132323133233331413212211344313123423332233124124112433443232322112333332132224123313344444413144214132212122431233132432312434113233323141312132442221322231131231433423424342424432432341212242311111432342131223211123332423342422342232441112414431344343324212123422132342343332221141324134333431331314341331141222222311333322322331122323323111122141242221421433224412144324431332323124343414432322341214224123333334344232411223332431232233212224413232412211222341331442331241234333431234141132233113321242133123141300000000001000000000000000012443231142112243212422431142132123411441122111314432431143433341433234241442312114431412300001000000000000000000000000000000000000000000000000000000000000122134233333134434323332433234111241322132243224422231411314132224333114312423332341332223222332141132111113333432444222222141423434321333332233121422123243422121424242341233134233313441233241321313233441414331233113111423113241411312214323332222132223141421233412113341422112312114213133321314232433223334312441434132414324313242422334311143123233213414334244224133112424233233224413433424223143423321233331421113134433223243123222413322332324222314131241441332342113132243223213212433322432424222313211431242322341123412443422322434333324322313343234434321223134442234232322342323342413131221421324441441233234231444112123333343312222433312233234441223122112222434243434334333432323342132223312322123224432323231223323131232321334434212432433234133341432124224143234133131113224223444413344413112123444222114222313121223433132413311423141344213121322314144142122411332313343244244214412113232321332343114143444131411123331311131413332133432213224212322322344134113133143222342442133421233223242414414114112224132334342231233312224314344414214211224233443413142333323342111212123323311422132113343344424113324114233421333323322241232120000000000000000000000000000000000000000100003244444424234223310100000000214142231432000000000000100001434333344314221423243143414432134333134414414442342231411312321324234121411344332134223413431141123423134212223231413313411214131434341441224221343322244213212112241144331442133423121323422322412421121433211123422241223344122421424434114231244121224122313443322113212223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211313313331111143121413231241243323211232314111221322333321114323432212411241241234114221314223443431322112233324421443334211341434213143243422443312133111111414443143144313322243443233433233443411231114112223442224122444314424332213322343431242122212133334143432313333133121231433331411213331343312422424132412413132312134133424121241123113332432422443233132232111441231432344213412323212421234244314233421221112332223114322333322423323324422233313341434141243144412343323221132321333231444143413241412411241322223133233113 313113411133411412322213214224243221133442423222134121434142114423133112124333232313244234231442114414322241443232142321214341343424222342442423213342124131123113311233124213213314232314424314412133213123211223412312244214322344232221432233332314234422131423143344113332431223221312121132421243314344313212311234212314143442414423113441243112334311233212323323324133242144341114244124211314112411133123243442221432344214131244134334323414423244443343232231331441342312422422421423112111233141122131114343421133441244233121334221144223224322423314233343222212231442323422311333323131442323332321334313114132421123213411141244222331323124433322323343131342344221132144231411321222224221324343314312444211121214323133244111312343413222232442242432124244224134223231213311143444414313232214333423142112234113213413322414413323222142224111211433331323242234441122414124112111234411122324343411314112122434234133341344441331343333232441432132231344231122134122331123233331432423113422241233424331412314243141244233233123444311343113331434423141343323231131314112123144321133132243243112342211134223234413113242133133322144313141312213144244134431114134441223213133434412232332313312341114234444311313441114333431343322232232322212343242232332323421222112332113211333322433144434214333341413222122222323331333112324231223111132331442234412122342144224241314321422114421444131314112113241313122341411141212331114223421213323211443432242133134324324334231443231233444133314314312122443131434244242314414442421241343233213323122132232211322344442213243421134314134424231434434122443221312421333134342134223343332412214211412141141113213431334122344314212233334414411423212433424333412232143311442343233114133412131411341121422311211212334432311323311322144324221311114211111431242121234124132243443421313432443313434413222133134323233224132323321412211123322112413221444311313311343124244143313331222422211324433331413234133324334212122322134214234214222212331134213112111221132133433241432414222243233121231322413442333334321412213414414221233221124311214421322124342121311131442123222343234132333112132324124143212234321433134123432314232211212224444113121444331131334224431243334311331321434412242114212313331141214321233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144334233322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413211314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213333434231233442424411134332224423431332314144333143344414123442241243342121444424331434412331222243213214224231223324112133224313322224134214344213412222233342312231314122214133131231414121242232431212422413134221221314323312323321221413343343111131213114243324343324412143214123234311122234112421242231322143333314321331314334214131213213424321144313343311234134222142323121343222232412442143132423312333333124143321141413233332212343322123111343222213343233431343143211232242321413333441133213132323133233331413212211344313143423332233124124112433443232322112333332132224123313344444413144214132212122431233132432332434113233323141312132444221324131131213213423424322424432212341234222311111432342131223211123332423342422342232441112414431344343324212123422132342343332221141124134333431331314341331141222222311333322322331122323323111122121242221421433224414144143431332323124343414432322341214224323333334344233411223332431232233212224413232412211222341331442331241234333431234141132233113321242133123141100000000010000000000000000012441231342334213212422431144132121411441122111132432431143413341413144213224414322433412300000010000000000000000000000000000000000000000000000000000000000122132233313134214334312444432313411132313121224424233411334132222333114312423332341332223222332141132111113333414422431422123443432321333132413121422321431224321222422223233334212311442213241341331211233333331233313111123113241441312114323332322333243111221233412113443142112112124213333321314232433223334314441433332414324313242422334311143123233213414334244224133114424443233224433231424223141443121213311432131334431223423133222413142312124222113431244441334322133312423423421212431342232224222313211431242122341143412411422424431331442144213431214234123223134441234332322342323322413131421221323443231133234231244114123433223312422212332231234441223122112222434243234134323232323342132223312322123224432323231223323131232321334434434432211213121331432324244143234133131331132423212411344413112123444222114222313124442311312212132223141344213123122112142142222113332213323244424244112331314333314341122331212321433221311331333431342311434411322232324124312112141113143421234242334223432243244212414112131222324131432211131112442132142144214211224233421414142334323341111212143321213442223214343122224321242132441424211323312143441320000100000000000000000000000000000000000000003244424222434223310000100000212124233432001000000000000002434333341412443323141331224211132332311414214322133413221314421142311141111122112111131213233243142212312432241442232133333432313241123244422223343322242213212112241144331422133423121323422322412421121433211123444221221344124221424434314131444121224122313443422313412223331244343324243211313214324123114123342243334444214412342231333321414222113342412123224144211333313331111143121413231241243323223432334213211143233121314321412214223213144222332221334413243311322112233344421443334113344434241343411422241124113114313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133314123432313333133332311413141221211341342132424342342222231132312312233442233223343133431232224123233132232131343211432122431312321221421432442314233223121232332143121324133322221123334422442131321442421241232214343323221132321333231444141313323212431442422223413433323 313113411133211412322213214224243221133442433222134121434142114423123112124333232313244334433223331424123111121434333123434323343422242342422343213342121111123113311231124213213344432133221143232141313123211211414334221223324344232221434212432133234222323233122144131313231421423212323114421241312142313232313232112114143442414423113441223112334311233112323323324133442144341134224124211313112411133123243442221432344214134134134314323414423244433343232231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143442341141121131442333334321334331311133221323313411141224222333323124423341114323324124222213312124231433223122242344314333114134112131343424422131144312412321443342432444242432124242224334223231214331111124412333212232312423443112234113213413322414433323222332444111311433331123242434441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123313232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323132342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141214211123322114413221444311313311343144443143313331222412231324443331443234133324332412224124214232234214222212331134213112111221122133433231432414222441233141433324413442333334321412213414314421233443113334234433324324342121113333224123434141412112113412112324144143214424143233213331212314412211212244424213121444131111234224431243314313131323134414242114212113331121214121333122111112324421112124423412413124443414332321343421212134413223211324132413333344342314331113124134000000000100000000000000000000000000023114423214142312144414231232141144332343214234412413343221213232132121341141123431142411133424442444113333432344223313321231332142311131321211143144144331233323224243223142242111323443223223212322321341333442422134143424434311211221242322433111213313214332312342443112422324434222122143212312344122232343224334134443343331344222222134332224124223424311231122314123422242232123232234111234143213313432213444423132321313112113433143443324212123123341333243331322321434423224113311124213333434231233432424411134332224423431332314144333143344214123442241243342141444424331434412331222243213214224231223324112133224313322224134214344213412222233342312231314122214131131231414121242232431212424413134221221314323112223321221413343343111131213114243324343324412143214123234311122234112431242231322143333314321331314334214131213213424321142333331311234134224142323122321441412211444143332423332333314124121323341211433312432143142443332321443414313233433121331413331424223232331241133433322341213432111231244211122131321223334321123142332213223232332312333312132224323131224444413144414132212422431233132432312434113233344321312432442224124131332431231423334322424432212343232443333313232322233441233321114341122243322424233234431213122321342232333323334423222332321121142312321421213312133333321442322313132223143313144222321333322121242221421433223412144323431332333323141232432122321232132323333334322113431223432431232213213122233234212433242341333224311421112133431312122312214314133324133123121300000001000000000000000000012443431142334211412224223344114341411443142333314412243343413321411234241442414314431432100000000000000000000000100000000000000000000000000000000000000000223134231313144214333112444432111211132332243244244233423133343242332114332421312314214133224334321132114343311434444222223443443432321333132413141143123243422123424244341233134233313441233241321313233441414331433313111123113241441312214323132322113224111221223434113341423414132224233333321314232433223334312141414334414224113242422124311143121231211212332244222134112424443233234433231423423121423321113331432131334433221423133222413142312324222313133241433134342133312421243223212433322434244222313231431242322341123412443412342434333324322313431214234123223134441234332323342323322413131421221323443231133232231244314123433323312222232332233234431223122112222434243434333323432323342132223312122121243432423214223312213222321314414434432211213131331212322324143234133131113224223442413142413132343444222114222313141223433332432332223141344213121332114144142122411332313343244244214412113232323312343114143444331431123213211111211132131212243324214344122314132143113113222242444324443432241242414421334112234132334342211233322242132342142214211224233441414142334323342133423343131223323222243131122224121242132441424211323322243241121000000000000000000000000000000000000000000003244444422434221311000000000214142231432000000001000000001434333344422221423241131224231132332311412414442342231411312321324234121411344332134223413431141123423134212223231413313411214131434341441422223343322242413212112241144331422133423323122214241234122323413211143422221441344122423424432334121442313412144121221422313234341414422141324223231113414324123114123344241334444234412342311413333214442111142214123224344213333313331111143121413231241243323223432334213211143233121314321412214223213144222332221334223441431322332231324421143334223344414413143411422241112333131113233441143144331342441441413231111221242423332134244422443344324314324324213342343211142122214133314143432313333133121231433331411213331343312422424132412413132312134233424121221323113332432424443233132232131341211432342431312323211421234244314233421221112332223114322333322423323324422233313341434141243144412343323221132321333231444143414241213213242422223413433323 313113331111433234142211223442411241123142421222144121322342114423123112142221232312314234433223331424323111121434333121434323243422242312422343213342124131123113311231124213213344432133221143232141313123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141244222131333124431322323343131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311431242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433241432214222241233121433322413442333334143312413441414421233221124311214421322124342121311131442123222343234334133142131342324441232221121441134123232122234333311222242211342221342333312133214412311141333133411234114211244332113143432143231222133334232421112124423414411124443414332321343421212232413223211324132413333344342344131331144112000000000000000000000000010000000000023331321232143431244414231232441142312441234232112411123422332432332113123121423441142213133424442444114333232344444113321221332142211121323211141124121314233332224243224142242111323441223223213322123443333142422132143224314233231441142344212111331413214214312342423132422144214422332133231314124122232343224134122441123431342242143224332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213333434231233442424411134332224423431332314144333143344214123442241243342141444342341442434313334423213414334431223344142313234323342223312433111434212222233144112211234342214313331234432243433434433132122313334343241324323334311121421221343143111131213114243344343324412143414123234311122234112421242231323343333314321331314334214131213213424321144333341313214112222214343122321441412211242143132431411132114134321143321433233334414323142443331343243214311133243321343411232422223212331241123233322341211432111431244211344313141424132233144342112433223242222332333332132224123331322444413144434132212422431233132432312434113233344321312432442224124131332431413423424322424432212343232443333313232322233441233321114341122243122424233234231213122321342111333322332422222112323122122132133431333114341321341424234313132223143313142223321133322143422421223423233414124123211332233313331232432322321234224323333334322113431223432431232213213222413232412213344141313224333221112333433312141132213113323224131321123100000000100000000000000000012441232124134413212422223122134321213323344331334231241321413141413142213444412314431412100000000000000000000000000000000000000001000000000000000000000000142134233313343214333132233234111241322133143224424233411314132224333114312423332341332223222332141132111113333432444222222141443432321211334413143123321233224321422222323233332432313412213241341331233241414331213121224123332233443333224124332344133223111223233412113443142132112124213333321314232433223334314441434332414324313242422334311143123233213414134244224133114424243233224433231424223141443121213311432131334431223423123222413324332324222313131241441334342133311423423223212431342432224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434134321432322342132223412124123224432323214223322213222341314114432432211213121331432324244143234133131331132423212413312413134341424222114221131321442311312212132223141344213123122112142142222113332213323244444244112331314333314341122331212321433221311331333431342311434411322232324124312112143333143222342442133421233223242212214114112224132334342231233312224314344444214211224233441414142334323341111212143321213422223214343322224321242132441241333323322241232320000000000000000000000000000000000000000000103244444422434223310100000000214142231232000000000100000001434333341312221411141331221231312332314332431442342231411312321324234121411344332134223411431141123423134212223231413313311214131434341441424221343322244213212112241144331442133423121323422322412421121433211123442222223321322221434434114231244321224122313443422313432223331224343324243211313414411321332141312423431322432233142231333323214224113342412123224144211333313331111143121413231241243323223432334213211143233121314321412214223213144234114221332223443311322112243344421443334113344434241343411422241124113114313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133334123432313333133332311413141221211341342132424342342222231132312312233442223241321113332432424143233132232131341211432342431312323211421232442314233223121232332143121324133322221123134422442131321442421241232214343323221132321333231444143413241213213242422223413433323 313113411133411412322213214224243221133442423222134121434142114423133112124333232313244234231442114414322241443232142321214341343424222342442423213342124131123113311233124213213314232314424314412133213123211223412312244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223233442323222341133323131322423332321334331114132421123213413344144222131333124431322323343131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443233121233233123322133214323123122424233222213212134312224433244314124424233111121113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311411242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433241432414222243233121231322413442333334321412213314414221233221124311214421322124342121311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413122143414332321142221212232231421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144314231322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213433234231233442223411114132242321244111132344313211341232331224423433334341424424133232332333332223131434224213214124442333334111124243332434314413432222233344132232314142214313331214432243433434433132122313334343341324323334311121421221343143111131213114243344343324412143414123234311122234112421242231322143333314321331314334214131213213424321142333341311434134222242321121343222232412444143132431411132114134321143321433233334414323142443332321443414313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144214132212122431233132432312434113233323141312132442221322231131231433423424322424434432341234223333313232322233441233321112341122243322424233234431213122321342111333322332423222332323322144312331223213312333121344424224313132223122113142223321133324141422421223423233414124123211332233313331232432322321234224323333334322113431223432431232213213222413232412233344141313222333221112333433312141132213113333222131321123100000000100000000000000000012441232124134413212422223122134321213323344331334231241321413141413142213444412314431412100000000000000000000000000000000000000001000000000000000000000000142134233313343214333132233234111241322133143224424233411314132224333114312423332341332223222332141132111113333432444222222141444412341313332233121122341233244331442222323133332432313412213241341331233241414331233113111423113241411312214343332222132223141421231412113341422412312114213333321314232433223334312441434332312224311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342432224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434134321432322342132223412124123224432323214223322213222321114414432422211213131231212314224443412111133111224223442213344413112123444222114222313124442311312212132223141344213123122112142142222113332213323244424244112331314333314341122331212321433221311331333431342311434411322232324124312112141113143421234242334223432243244212414112131222324134432211131112442132142144214211224233421414142334323341111212143321213442223214343122224321242132441424211323312143241320000100000000000000000000000000000000000000003244424222434223310000100000212122213231010000000000000002434333341312221411141331221231312332311414414442342231411312321324234121411344332134223411431141123423134212223231413313331214131434341441422223343322242413212112241144331422133423323122214241234122323413211143422221441344122423424432334121442313412144121221422313234341414422141324223231113414324123114123344241334444234412342311413333214444111142214123224344213313113111323113121413411241443323211232312111221322323321114341432232211241211422334421314413443413322333231324441113334213344414413343411422241124113134313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133334123432313333133332311413141221211341342132424342342212231132312312233442233223343133431232224123233132232131343211432122431312321221421432442314233223121232332223114342333322423323324422233313341434141243244414423321221112133441343134343314241212431442422223133233113 313113411133211412322213214224243221133442433222134121434142114423123112124333232313244334433223331424123111121434333123434323343422222342442423213342124131123113311233124213213314232314424314412133213123211223412312244214322344232221432233332314234422131423143344113332431223221312121132421143314344313212311234212314143442414423113441243112334311233212323323324133242144341114244124211314112411133123243442221432344214131244134334323414423244443343232231331441342312422422421423112111233141122131114343421133441244233121334221144223224322423314233343222212231442323422311333323131442323332321334313114132421123213411141244222331323124433322323343131342344221132144231411321222224221324343314312444211121214323133244111312343413222232442242432124244224134223231213311143444414313232214333423142112234113213413322414413323222142224111211433331323242234441122414124112111234411122324343411314112122434234133341344441331343333232441432132231344231122134122331123233331432423113422241233424331412314243141244233233123444311343113331434423141343323231131314112123144321133132243243112342211134223234413113242133133322144313141312213144244134431114134441223213133434412232332313312341114234444311313441114333421343322332212322222444242133332321421222122332313211133322413144434214331121413222124422121313333114323432221333132311444233412222342344322241332321422334443444111334144141141333342131231143412423234423423241121413241413224313111144124134131221312413424411114114213114211111233414142144214242423243141233233323322133232211322344442213243421134313134424231434434122443221312423333134312134223143332412214411412141141143213131334324444124412433334414431423432231244133412232143434421413441432311313314223413441333124233431214422311323112342144322221121114211111431142121214324132443443421313432243213134413222131142321221312432321141232234243123332232213444311232111141124423321113333334422211222433131241214131342232242122124214232234214222212331134213112111221132133433241422412222221231121433322413444423112321422221441432241432221324111432433322124132123113343224123434343212132133412331342324431232221121441134123232122234333311222242211342221342333312133214412311143333133411234114211244332113143432143231222133334232421112124423414411124421231114143312443443232431441431342332411311123341342121331344114100000000000000000000000000000000000023114323214143312242414221211141342312443212232434233324221313242112421321343423441142213133424444444114333233334443133321221133142311123321313343324144314231322224243223342242331323441221223213324323411333143222222331242334231431443132344212441313412214332314342443132422324434222322143212332124122232443224314122441123431344442143224114412323444343333231431132221244424412141232444322431411433333432413244242332113333112133433143443324212133111343333343331322141434423434113311121221341231243433431423413334132242341244111132324313211141232331224423433334341244342341442434313334423213414334431223342142313234323342123312433111434212222133144112211234342214313331214432243433434433132122313332343241324323334311123421221343143111131233114343344343324412143414123244311342234112431242231322143343314321331314334214143233213144321142333331111214112222112323111343222233231242121142231411132114124321143321433243234414343122443331343243214311233233321343411232422223212311241121233322141213432111431244411344313141423132233144342112433223242222332333332112224121331324444431144434132212422431233132432312434113233344321312432442224124131332431433422424342424434432341234222311111432342131223211123332423342422342232431114431213122321342232333323334423222334331121324312331223213312333121344424224313132223143313142243321133324121242221421433224412144323431332323124343414434322341214224323333334344232411223332431432233212224413232412211222341331444331241234333431234141132233113321244133123141300000000001000000000000000012443231142112243212422431142132123411441122111314432431143433341431142213442424322431234301000000000000000000000000000000000000000000000000000000000000000122132233313134234334312443432313411132313121224424331411334132222333314312423332341332223222332144113111113331414422431422141443432323213312233121422341233244331442222323113334212311242413123123133233231313121213121224123332233443333224124332344133223111221233232113443142112112124213333321314232433223334314441433332414224343242422124341243321231411434132244222113132212443233222433433423221143423321233331421113134433223243123222413324332324242313431241441334142133312423423223212431342232224222313211431242322241321413443421322414333324322313341234434323223334441234232322342323342413131421421324441441233234231444114123333343312222232332233234441223122112222434223434334423432323342132223312142141323432424214223312213422321311414434432211213131331211322224143234133131113224223444413344413112123444222114222313121223433132413311423141344213121322314144142122411332313343244244214412113232321332343114143444131411123331311131413332133432213224212322322344134113133143222342442133421233223242414414114112224132334342231233312224314344414214211224233443413142333323342111212123323311422132113343344424113324114233421333323322241432120000000000000000000000000000000000000000100003244444424234223310100000000214142231432000000000000100001434333344414221423243143414432134333134414414442342233221314421142311141111122112111131213233243142212312432241442232133313432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221434234114231244321224122313443422311234341414422141124223231113414324123114123344241334444234412342311413333214444111142214123224344213333313333121113121413211241243323211232314111221322333321114321432212411241211234114221334223243413322112233324421443314111314434213143411422241122333434313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133334123432313333133332311413141221211341342132424342342212231132312312233442233223343133431232224123233132232131343211432122431312321221421432442314233223121232332143121324133322221123334422442131321442421241132214343323221132321333231444143413241212431442422223413433323 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121111123113311231124213213344432133221143232141313123211211414334221223324344232221434212432133234222323233122144131313231421423212323114421241312142313232313232112114143442414423113441223112334311233112323323324133442144341134224124211313112411133123243442221432344214134134134314323414423244433343232231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143442341141121131442333334321334331311133221323313411141224222333323124423341114323324124222213312124231433223122242344314333114134112131343424422131144312412321443342432444242432124242224334223231214331111124412333212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232234232222232113112433131233242132131431231432214232241233121433322413442333312143312213441414421233443113334234233122142341341131131224341434343212132133414132122324441332234121431134121232314412211212244444213121444131131334224431243334311131323434414242114212313131343432143231222133334234221322122421412443324121231112143312443443232213223211324132413333344342314121331142134000000000001000000000000000000000000023114323214143312242412321412421142312443232234412413343221213232132121341141423441142211133424442424113333432344243313321231332142311121321211143144144334233322224243223142242111323443223223213324323443333122412132143224314233211221244322433111313413214332314342443132422324432222322143212332144122232343244134122423143331344222222124332224124223424311231122314123424222232123232234112234143211332112431222223134321133331331413143244314444131313313241241211122121432423422313331344213333431231234232443411131312424421431332314342331143344214123442241241142341442342341442434113334422213414334431223344142313234323342223312433111434212222233144114211234142214313331234232243433434433134122311334343241324323334311121421221343143111131433114343344343324412141414123244311342234112421242231322143343314321331314314214131213213424341144333341311434134222142321121343222232412444143132431411132114134321143321433233334414323322123111343222213343233431343143211232242321413333441133213132323133233331413212211344313123423332233124124112433443232322112333332132224123313344444413144414132212121431233112232312434113233123141312132442221124131332431233423424342424432212343232443333313232322233441233321114341122243322424233234431213122321342232333323334423222332321121142312321421213312133333321442322313132223143313144222321333322121242221421433223412144323431332333323141232432122321232132323333334322113431223432431232213213122233234212433242341333224311421112133431312122312214314133324133123121300000001000000000000000000012443431142334211412224223342114341411443142333314412243343413321411234241442414314431432300000000000100000000000000000000000000000000000000000000000000000123112231313144214333112243434111243322333141224422231411314132224313114212423312311332223224222321132311113233414422431422141444412323213312233121422321431224321222422323233332432313412213241341331233241414331233113111423113241411312214343332222132223141421231412113341422412312114213333321314232433223334312441434332414224113242422124311143121231211212132244222134112424443233234433231423423121423321113331432131334433221423133222413142312324222313133241433134344133312421243223212433322434244222313231431242322341123412443412342434333324322313343234434323223334441234232322342323142413131421421324441441233234231444114123333323312222232332233234441223122112222434243434334323432323342132223312122121243432423214223312213222321314414434432211213131331212322324143234133131113224223442433344413112123444222114222313124442311312212132223141344213123122112142142222113332213323244424244412331314333314341122331212321433221311331333431342311434411322232324124312112141113113222242444324443432241242212221334112234132334342211233322242132342142214211224233441414142334323342133423343131223323222243131122224121242132441424211323322243241121000000000000000000000000000000000000000000003244444422434221311000000000214142231432000000001000000001434333344422221423241131224231132332311412414442342231213214423122311121411324312134223413411141123423134212223231413313333432313241123244422223343322242413212112241144331422133423323122214241234122323413211143422221441344122423424432334121442313412144113443322113414323434222123322224212333414411323332141312423431322432233142331333333214222113342412123224144211333313331111143121413231241243323223432334213211143233121314321412214223213144222332221334413243311322112233344421443334111441334211331243212423322133131113214443143144313322423123233443233443411233112134243422443344324314324322211342341211122122414133334143432313333133121231433331411213331343312422424132412413132312134233424121241123113332432422443233132232111441231432344213412323212421234244314233421221112332223114322333322423323324422233313341434141243144412324131422312131441343134343413323212413242422223133233113 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121131123113311231124213213344432133221143232141313123211211414334244214322242232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213411322414433323222332444111311433331123242234441222412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244114431112114441223233133434412212332313312443114214242311313443111333221343322232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323112342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141214211123322114413221444311313311343144443143313331222412231324443331443234131344332242124124214232234214122212331134213112111221122133433231422412224221231121433322413444423112321422221341432241432221324111432433322124132123113343224123434343212132133412331342324431232221121441134123232314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144334233322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334331231314344122232333224334122243143331344222222124332224124223424311231122314123424222232123232234112234143213313432213444423132321313112133433143443324212133113343333243331322121434423424123211124213333414231233442423421134334424423431332314344333143344214123442241243342121444342341432432311334223213214222231223324112133224313322223134214344213414242213144112211234142214313331234232243433434433132122311334343241324323334311121421221343143111131233114343344343324412143414123244311342234112421243231322143343314321331314334214131213213424321144333331311234134224142323122321441412211444143332223332333314122121323341211433312432143322123111343222213343233431343143211232242321413333441133213132323133233331413212211344313123423332233124124112433443232322112333332132224123313344444413144214132212122431233132432312434113233323141312132442221322231131231433423424342424432432341212242311111432342131223211123332423342422342232441112414431344343324212123422132342343332221141324134333431331314341331141222222311333322322331122323323111122141242221421433224412144324431332323124343414432322341214224123333334344232411223332431232233212224413232412211222341331442331241234333431234141132233113321242133123141100000000010000000000000000012441231342334213212422431144132121411441122111132432431143413341413144213222414322433412300000000000000000000000000000000000000000000000000000000010000000122132233313344214333112244434111243322332241244244233423133343242332114332421312314214133224334321132114343311414422431222141444312321313332233121442321431224321222422223233334212311442213223121133233231313121211121221123113241441312214323332322333223111221233412111341422112132124233333123314222233223333312141414332412223311211224122313143321231211434132344234333112214443233224413433423221143423321233331421113134233223243123222413324332324242313131241441334142133312423423223212431342232224222313211431242322241323413243422322414333324322313343234434323223334441234332322342323322413131421221123443231133234231244114123433323312422212332231234441223122112222434243234134323232323342132223312322123224432323231223323131232321334434212432433213331331432324224143234133131331132423212211112413134341424222114222313141223433132413311444442122431131122134124142122421214331141122244214112113232323412143114143444331431123213213111211342311434411322212124122414312343313113222342442134423432223242412414114112224132334342211233322242132342142214211224233441414142334323342111212123323311422132113343344224121242132441424211323312143241320000000000001000000000000000000000000000000003244424442434223310001000000212124233432000100000000000002434333341312221411141331221231312332314332431442342231411312321324234121411344332134223413431141123423134212223231413313411214131434341441424221343322244213212112241144331442133423121323422322412421121433211123442222223321322221434434114231244321224122313423422311234341414422123312224212333434411343332141312423334444234412324333413123224244233321232433143112211313113111323113121413411241443323211232312111221322323321114341432232211241211422334421314413243413322333231324441113334213344414413143411422241112333131313234241123124331342441443232433233443411231114132423242224122444314424122431222121211143144444141112141324232111412122211211143223433341213114242424132212413334224332233424131241323413331231242443233133212131441231432344211412323212441232442314233223121232332143121324133322221123334422442131321442421241232214343323221132321333231444143314243212413242322223133433323 313113331111433234142211223442411241133442423222134121434142114422123112124333232313244234431223334421323114121434333121434123323422242342422343213342121131123113311231124213213344432133221143232141313123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222331323124423341114323324124222213312124231433223122242344314333114134112131343424422131144312412321443342432444242432124242224334223231214331111124412333212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443233121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311411242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433241432414222243233121231322413442333334321412213414414221233221124311214421322124342121311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413122143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144314231322224243223141242111321443223223212322341341333442422132143424414233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213433234231233442223411114132242321244111132344313211341232331224423433334341424424133232332333332223131434224213214124442333334111124243332434314414432222233344132232314142214313331214432243433434433132122313334343341324323334311121421221343143111131213114243344343324412143414123234311122234112421242231322143333314321331314334214131213213424321142333341313213134242214343122321441412211444143132431411132114324321143321433233334414343142443331343243214311133243321343411232422223212331241123233322341211432111431244211344313141443112233324342112432223232222332333332112224123331322444431144414132212121431233112432312434113233323141312132422221124131332431433423334324442212233223212242311111432342131223211123332423342422342232441212414431344143324212123442142342343332221141122134333431331334341331141222222311333322322331122223121133322141424223423323433434124123211232233313331232432342123232132141111334122113432221313233414213233222233234214233244341333224333421112131233312141132233113323224131323121300001000000000000000000000012241441142134213212424223344134341411443142333314412243343413323433234243442414314431432100000000000000000000000000000000000000000000000000000001000000000223134211313134214333112444432111241322132241244244233423133343242332114334121332314214133224334321132111343311414424231223443444412321333332233121422321431224321222422223233334212311442213241341331211233333331233313111123113241441312214323332322333243111221433412113443142112112124213333321314232433123334314421434332412223311211224122313143321231211434132344234333112214443233224413433423221143423321233331421113134233221423133222413144312324222313133241433134344133312421243223212433322434244222313231431242322341123412443412342434333324322313431214234123223134441214233322312323322413131441241323443231213234231244314123433323312222433332233234441223122112222434243434334323432323342132223312122123223432423214223312213222321314414434432211213131331212322224143234133131113224223442413344413112123444222114222313124442311312212132223141344213123122112142142222113332213323244424244112331314333314341122331212321433221311331333431342311434411322232324124312112141113143421234242334223432243244212414112131222324134432211131112442132142144214211224233421414142334323341111212143321213442223214343122224321242132441424211323312143241320000100000000000000000000000000000000000000003244424222434223310000100000212122213231010000000000000002434333341312221411141331221231312332311414414442342231411312321324234121411344332134223411431141123423134212223231413313311214131434341441434221343322244213212112241144331444311241123122214222414122343131433421222222223341322221434434114231244321224122313443322113432223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211333313331323113121413411241443323211232312111221322323321114341432232211241211234114221314223443431322112233324421443334211341434213143243422443312133111111414443143144313322243443233433233443411231114112223442224122444314424332213322343431242122212133334143432313333133121231433331411213331343312422424132412413132312134133424121241123113332432422443233132232111441231432344213412323212421234244314233421221112332223114322333322423323324422233313341434141243144412323323221132321333231444143413241412411241322223133233113 313113331111433234142211223442411241123142421222144121322342114423123112142221232312314234433223331424323111121434333121434323243422242342422343213342121131123113311231124213213314232314424314412133213123211223412312244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222331323124423341114323324124222213312124231433223122242344314333114134112131343424422131144312412321443342432444242432124242224334223231214331111124412333212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141231333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443233121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311411242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433241432414222243233121231322413442333334321412213414414221233221124311214421322124342121311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413122143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144314231322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313132113133143443324212323123343333213331322321434423424111314124213433234231233442223411114132242321244111132344313211341232331224423433334341424424133232332333332223131434224213214124442333334111124243332434314413432222233344132232314142214313331214432243433434433132122313334343341324323334311121421221343143111131213114243344343324412143414123234311122234112431242231322143333314321331314334214131213213424321142333341311434134222142321121343222232412444143132431411132114134321143321433233334414323142443332321443414313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144214132212122431233132432312434113233323141312132442221322231131231433423424322424434432341234223333313232322233441233321112341122243322424233234431213122321342111333322332423222332323322144312331223213312333121344424224313132223122113142223321133324141422421223423233414124123211332233313331232432322321234224323333334322113431223432431232213213222413232412413344141313224333221112333433312141132213113333224131321123100000000100000000000000000012441232124134413212422223122134321213321344331334231241321413141413142213444412314431412100000000000000000000000000000000000000001000000000000000000000000142134233313343214333132233234111241322133143224424233411314132224333114312423312341332223222332141132111113333432444222222141444412341313332233121122341233244331442222323133332432313412213241341331233241414331233113111423113241411312214343332222132223141421231412113341422412312114213333321314232433223334312441434332312223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413322332324222313131241441334342133311423423223212431342432224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323441231133234231244114121433323312222232332431214441223122112222414243434134321432322342132223412124123224432323214223322213222321114414432422411213131231212314224443412111133111224223442213312413132343342143312221131321443311312212132223141344213121122114144142122411332313343244244214422113232323412143114143444331431123213211111211332131212243324212324122314132343133343222342442133421233223242414414114112224132334342231233312224314344414214221224233441414142334323341111212143321213422223214343322224321242132441424333323322241432120000000000000000000000000000000001000000000003244442442434221311000000000214142231432000000000010000001434333341412221423241133414231134323114414414442342231213214423122311121411324312134223413411141123423134212223231413313333432313241123244424221343322244213212112241144331442133423121323422322412421121433211123442222223341322241434434114233244321224122321223322113212223331224323312224212333434411343332141312423334444234412324333413123224244233321232433143112211333313333123113121413211241243321111231314111421322333321114323233212411341211434114221134224443411344333231322421113334223344414413141243222443324133114133233441141124333342441441413231211221242423332134243421443344324314324324213342343211122124244133112441324233133132121231431331221211142342132422342342212431112212332221424121241123113332432422443233132232111441231432344213412323212421234244314233421221112332223114322333322423323324422233313341434141243144412344131422312131441331444141313323212411411342441131221321 313113411133411412322213214224243221133442423222134121434142114423133112124333232313244234231442114224312141423432132341212323343422242342422343213342121131123113311231124213213344432133221143232141313123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323124423341114323324124222213312124231433223122242344314333114134112131323424422131144312412321441222223422222431334244224142223233413111311144444313212232312423423112234123213413322414414323222132444111311433333343242234421122412123134111234414322324341211133114141322234333313144241111143132232423432124111322233122134122331223232343432423111424223223424231412314243141244233233144444311424113331432421141343323231131322312123123121433132241323212142211332223234211223231131323442244333143312213142244134431114334431223213133234222232332313312443114214242311313443114333221343322214233322422413242232342341421222112432113211332342233144434214333341413222422422323311333112324231223113133313224434412242342124222241112323222312443442131334342143141333122331431141412323214223423243123213243412244333111324324114133221312411444431144314232122441411234241122144214243223441343233213123322133232221322344222213443421134334132222211444434142443221312421333134312134223343332412214211412121141143213131334324444324412233334414431423432431242333412244311411422413441432311313314223413441333124231431214422311323132342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141234211123322114413221444311313311343144443143313331222412231324443331443234133324334212122324214232214414222212331134213112111221132133433241434414224241243221433322413442333312143312213441412241432221124111432433322124132121111131442123222343234132133412132322324441232234121433134123232314232333231422244213121444342133314133231213311341331323431214242211242332113143434123233222131332234242322312431312113124443414332321343421212232413223211324132413333344342344131331144112000000000000000000000000010000000000023331321232143431244414231232441142312441234232112411123422332432332113123141413441122233341224322242114112232344443113143221332422333223121211143123141314233332224243224122223313423321433231233122123441333143222222331242314231431221244322433111313413214332314342443132422324432222322143212332144122232343244134122423143331344222222124332224124223424311231122314123424222232123232234112234143211332112431222223134321133331331413143244314444131313313241241211122121432423422313331344213333434231233442424411134332224423431332314144333143344214123442241243342121444424331434412331222243213214224231223324112133224313322224134214344213412222233342312231314122214131131231414121242232431212424413134221221314323112223321221413343343111131213114243324343324412143214123234311122234112431242231323343333314321331314334214131213213424321144333341311434134222142321121343222232412444143132431411132114134321143321433233334414323142123111343222213243233431343143211232422223232331241133433322341213442111431244211344313141443112233324342114432221232222334133332132224133313344444413144414132212121431233132432332434113233323141312132444221324131131213233423424342424434432341234222211111432342131223211123332423342422342232441112414431344143324212123442142342343332221141124134321421213312133333321442322313132223143313144222321333322141424223423323433434124123211232233313331232432342123232132141111314122113432221313233414213233222233234214433244341333224333421112131233312141132233113333224131323121300001000000000000000000000012241441142134213212424223342134341411443142333314412243343413323433234243442414314431432300000000000100000000000000000000000000000000000000000000000000000123112231313144214333112243434111243322333141224422231411314132224313114212423332311332223224222321132311113233414422431422141443432241313332233121123123243422123424244341233134233313441233241321313233441414331433313111123113241441312214323132322113224111221223412113341423414132124233333321314232433223334312141414332414224113242422124311143121231211212132244222134112424443233234433231423423121423321113331432131334433221423133222413142312324222313133241433134344133312421243223212433322434244222313231431242322341123412443412342434333324322313431214234123223134441214233322312323322413131441241323443231213234231244314123433323312222433332233234441223122112222434243434334323432323342132223312122123223432423214223312213222321314414434432211213131331212322224143234133131113224223442413342411134341424222114222313124442311312212132223141344213123122112142142222113332213323244424244112331314333314341122331212321433221311331333431342311434411322232324124312112141113143421234242334223432243244212414112431422324134432211131112442132142144214211224233421414142334323341111212143321213442223214343122224321242132441424211323312143241320000000100000000000000000000000000000000000003244424222434223310000100000212124233432001000000000000002434333341312443323141331224211132332311414214322333413221314421142311141111122112111131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221432234114231244321224322313443324113412223331244343324243211313214324123114123342243334444214412342231333321414222113342412123224144211311113111111143121413231241243323223432334213221143233121314321412214223213144222332221334413243311322112233344421443334113344434241343411422241124113114313234241123124331342441443232433233443411231114132423242224122444314424122431222121211143144444141112141324232111412122211211143223433341213114242424132212413334224332233424131241323413331231242443233133212131441231432344211412323212441232442314233223121232332143121324133322221123334422442131321442421241232214343323221132321333231444143414243212413242322223133233113 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121131123113311231124213213314232314424314412133213123211223412312221223324344232221434212432133234222323233122144131313231421423212323114421241312142313232313232112114143442414423113441223112334311233112323323324133244144341134224124211313112411133123243442221432344212134134134314323414443424433342231231231441312312422423441223112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323124423341114323324124222213312124231433223122242344314333114134112131323424422131144311412321441222223422222431334244224142223233413111311144444313212232312423423112234123213413322414414323222132444111311433333343242234421122412123134111234414322324341211133114141322234333313144241111143132232423432124111322233122134122331223232343432423111424223223424231412314243141244233233144444311424113331432421141343323231131322312123123121433132241323212142211332223234211223231131323442244333143312213142244134431114334431223213133233222232332313312443114214242311313443114333221343322214233322422413242232342341421222112432113211332342233144434214333341413222422422323311333112324231223133133313224434412242342124322241112323222312443442131334342143141333122331431141412323214223423243123213243412244333111324324114133221312411444431144324232122441411234241122141214243223441343233213123322133232221322344222213443421234334132222211444434142443221312421333134312134223343332412214211412121141143213131334324444324412233334414431423432431242333412244311411422413441432311313314223413441333124231431214422311323132342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141234211123322114413221444311313311343144443143113331222412231324443331443234133324334212122324214232214414222212331134213112111221132133433241432414222243233121231322413442333334321412213414414221233221124311214421322124342121311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413122143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144334233322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213433234231233442223411114132242321244111132344313211341232331224423433334341424424133232332333332223131434224213214124442333334111124243332434314413432222233344132232314142214313331214432243433434433132122313334343341324323334311121421221343143111131213114243344343324412143414123234311122234112421242231322143333314321331314334214131213213424321142333341311234134222142323121343222232412442143132431411132114134321143321433233334414323142443332321443414313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144214132212121431233112232312434113233323141312132422221144131332431433422424342242212233223212242311111412342131223211123332423342422342232441212414231344143324212123442142342323332221141124134321421213312133333321442322313132223143313144222321333322141424223423323433434124123211232233313331232432342123432132141111334122113432223432431232213213222413212412211242324331244331223112333433314322314214314123324131343321300000000000100000000000000031443231322332211431422431142132123411441122111314432431143433341411142213442424322431234301000000000000000000000000000000000000000000000000000000000000000122132233313134234334312443432313411132313121224424331411334132222333314312423332341332223222332144113111113331414422431422143443432323213312233121422341233244331442222323113334212311242413123123133233231313121213121224123332233443333224124332344133223111221233232113443142112112124213333321314232433223334314441433332414224343242422124341243321231411434132244222113132212443233222433433423221143423321233331421113134433223243123222413324332324242313431241441334142133312423423223212431342232224222313211431242322241321413443421322414333324322313341234434323223334441234232322342323342413131421421324441441233234231444114123333343312222232332233234441223122112222434223434334423432323342132223312142141223432424214223312213422321311414434432211213131331211322224143234133131113224223444413344413112123444222114222313121223433132413311423141344213121322314144142122411332313343244244214412113232321332343114143444131411123331311131413332133432213224212322322344134113133143222342442133421233223242414414114112224132334342231233312224314344414214211224233443413142333323342111212123323311422132113343344424113324114233421333323322241432120000000000000000000000000000000000000000100003244444424234223310100000000214142231432000000000000100001434333344414221423243143414432134333134414414442342231411312321324234121411344332134223413431141123423134212223231413313411214131434341441224221343322244213212112241144331442133423121323422322412421121433211123422241223344122421424434114231244121224122313443322113212223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211313313331111143121413231241243323211232314111221322333321114323432212411241241234114221134224443411344333231322421113334223344414413143411422241112333131133233441141124333342441443413231211221242423332134243421443344324314324324213342343211122124244133112441324233133132121231431331221211142342132422342342212431112212332221424121241321113332432424143233132232131311211432342431314323211421234242334243223223213422143321124133342221123334422232131321434421241232214323321221112131433343134343313323212411411342441131221321 313111331111433232144221224244211221123442423222144121322341214423123112142221232312314234433223334424323111121434333121434323343422222344322343213342121131123113311231124213213344432133221143232141213121213211414334444423324332232213222412432133224222133423143344113332431243223212121132421143314342333432311212112314143413414443113141243112134311233112323323324131212144443134222344411143112411123323243224421212344212134134134314323414443244433342231131231441312312422423441423132111233143112131314343421233222414233121312242141411224342423314233321241223231224343422341141121131442333332321334331134212421123243413141224222331323124431122323143131342344221132124231411223122242344314333114134112213121214323333242141412143213242232442242232124244224134223231214311143444414313232214333423142112234113213213122412213323222142224111211413331323242234441122414324112111234411122344343411314112122434234133341342441331343333232441412132233344231122134122331123233331432423113422241233444331412314243141244233233143432111343133331412321141323323231131312112123124321423132323223212142213134223224211223231131123342224333143312411322244111431112112441221113133433412212312213132341114234442311313441114333421343322332212322222444242133332321421222122332313211133322413144434214331121413222124422121313333114323432221333132311444233412222342344322241332321422334443444111334144141141333342131231143412423234423423241121413241413224313111144124134131221312413424411114114213114211111233414142144214242423243141233233323322133232211322344442213243421134313134424231434434122443221312421333134312134223143332414214411412141141143213131334324444124412433334414431423432231244133412232143434421413441432311313314223413441333124233431214422311323112342144322221121114211111431142121214324132443443421313432243213134413222131142321221312432321141232234243123332232213444311232111141124423321113333334422211222433131241214131342232242122124214232234214222212331134213112111221132133433241422412222221231121433322413444423112321422221341432241432221324111432433322124132123113343224123434343212132133412331342324431232221121441134123232122234333311222242211342221342333312133214412311143333133411234114211244332113143432343231222133334232421112124423414411124421231114143312443443232231441431342332411311123341342121331344114100000000000000000000000000000000000023114323214143312242414221211141342312443212232434233324221313242112421321343423441142213133424444444114333233334443133321221133142311123321313343324144314231322224243223342242331323441221223213324323411333143222222331242334231431443132344212441313412214332314342443132422324434222322143212332124122232443224314122441123431344442143224114412323444343333231431132221244424412141232444322431411433333432413244242332113333112133433143443324212133111343333343331322141434423434113311121221341231243433431423413334132242341244111132324313211141232331224423433334341244342341442434313334423213414334431223342142313234323342123312433111434212222133144112211234342214313331214432243433434433132122313332343241324323334311123421221343143111131233114343344343324412143414123244311342234112421242231322143343314321331314334214143233213144321142333331111214112222212323111343222233231242121142231411132114124321143321433243234414343122443331343243214311233233321343411232422223212311241121233322141213432111431244411344313141423132233144342112433223242222332333332112224121331324444431144434132212422431233132432312434113233344321312432442224124131332431433422424342424434432341234222311111432342131223211123332423342422342232431114431213122321342232333343334423222334331121324312331223213312333121344424224313132223143313142243321133324121242221421433224412144343431332323124343414434322341214224323333334344232411223332431432233212224413232412211222341331442331241234333431234141132233113321242133123141300000000001000000000000000012443231142112243212422431142132123411441122111314432431143433341433234241444312114431412300001000000000000000000000000000000000000000000000000000000000000122134233333134434323332433234111241322132243224422231411314132224333114312423332341332223222332141132111113333432444222222141423434321333332233121422123243422121424242341233134233313441233241321313233441414331233113111423113241411312214323332222132223141421233412113341422112312114213133321314232433223334312441434132414324313242422334311143123233213414334244224133112424233233224413433424223143423321233331421113134433223243123222413322332324222314131241441332342113132243223213212433322432424222313211431242322341123412443422322434333324322313343234434321223134442234232322342323342413131221421324441441233234231444112123333343312222433312233234441223122112222434243434334333432323342132223312322123224432323231223323131232321334434212432433234133341432122224143234133131331222223442211342413112123444142114241111121223433132413311444442122431131122134224142122421214331141122244214412113232323412143414143444331431123213213111211342311434411322212124122414312343313342242342412134423432223422412414114112224132334342231233312224114324412121123412111141234324314423132433423343131223323222243131122243111224434243241211241124123231340010000000000000000000000000000000000000000004244342442412423130000000010412122231231100000000000000002434141141412221423241133414232134333114414414442342231211314441122311241411124314134131413231241142212312432241442232133333432313241123244424221343322244213212112221144131442133423121323422322412421121433211123442222223321322221434434114231244321224122321223422113212223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211233313331111113121413231441243323221432314111221142233321114323432214213241141222332221332223443311322112243344221443332113344434211143411424241124113434313234241123124331342441443413231211221242423332134243422443344324314324124213344343211142122214133334123432313333133332311413141221211341342132424342342212231132312312233442233223343133431232224123233132232131343211432122431312321221421432442314233223121232332223114342333322423323324422233313341434141243144414423321221112133441343134343314241212431442422223413433323 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121131123113311231124213213344432133221143232141313123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313442144341134224124211313112411133123243442221432342214131144134314323414423244433343232231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341222212233442323222341133323131322423332321334331114132421123213413344144222131333124431322323343131342344221132144231411311222224221324341314312444213121214323133242141412143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144344232242443233121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132432442213412124341143233131334322344324212233334414431443414411244314232444311411242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433241432414222243233121231322413442333334321412213414414221233221124311214421322124342121311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413122143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213344442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144334233322224243223141242111321443223223212322341341333442422132143424334233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213433234231233442223411114132242321244111132344313211341232331224423433334341424424133232332333332223131434224213214124442333334111124243332434314413432222233344132232314142214313331234232243433434433134122311334343241324323334311121421221343143111131433114343344343324412141414123244311342234112421242231322143343314321331314314214131213213424341144333341311434134222142321121343222232412444143134431411112114324321143321433231334414341322123111343222233243233431343143211232422223232331241333433322341213442111431244211344313141443112233324342114432221232334312333332332224123331324444413144414132212121431233112232312434113233323141312132422221144131332431213422424342242212233223212242311111412342131223211123332423342422342232441212414431344143324212123422142342343332221141124134321421213312133333321442322313132223143313144222321333322143424223423323433434124123211232233313331232432342123432132141111334122113432223432431232213213222413212412211242324331244331223112333433314322314214314133324131343321300000000000100000000000000031443231322332211431422431142132123411441122111314432431143433341431142213442424322431234301000000000000000000000000000000000000000000000000000000000000000122132233313134234334312443432313411132313121224424331411334132222333314332421312314214133224334321132114343311434444222223443443432321333132413141143123243422123424244341233134233313441233241321313233441414331433313111123113241441312214323132322113224111221223434113341423414132224233333321314232433223334312141414332312223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342432224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323142413131421421324441241233234231444114123333323312222232332233234441223122112222434243434334323432323342132223312122121243432423214223312213222321314414434432211213131331212324344143234133131113224223442213344413112123444222114222313124442311312212132223141344213123122112142142222113332213323244424244112331314333314341122331212321433221311331333431342331434411322232324124312112141113143421234242334223432243244212414112131222324134432211131112442132142144214211224233421414142334323341111212143321213442223214343122224321242132441424211323312143241320000100000000000000000000000000000000000000003244424222434223310000100000212122213232010000000000000002434333341312221411141331221231312332311414414442342231411312321324234121411344332134223411431141123423134212223231413313311214131434341441434221343322244213212112241144331444311241123122214222414122343131433421222222223341322221434434114231244321224122313443322113432223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211333313331323113121413411241443323211232312111221322323321114341432232211241211422334421314413243413322333231324441113334213344414413343411422241124113134313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133334123432313333133332312413141221211341342132424342342212431132312312233442233223343133431232224123233132232131343211432122431312321221421432442314233223121232332223114342333322423323324422233313341434141243144414423321221112133433341444121344241212411211344441131221321 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121111123113311231124213213344432133221143232141313123211211414334221223324344232221434212432133234222323233122144131313231421423212323114421241312142313232313232112114143442414423113441223112334311233112323323324133442144341134224124211313112411133123243442221432344214134134134314323414423244433343232231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143442341141121131442333334321334331311133221323313411141224222333323124423341114323324124222213312124231433223122242344314333114134112131343424422131144312412321443342432444242432124242224334223231214331111124412333212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133434412212312213134443114212242313313441114333423343121232333322222443242132332321421222312312113211333322433144434214333341413222422422323311333112324231223133133313224434212242342124322241112323222312443442131334342143141333122331431141412323214223423243123213243412244333111324324114133221312411444431144314232122441411234241122144214243223441343233213123322133232221322344222211443421134334132222211441434142243221312421333134312134223343332412214211412121141143213131334324444324412233334214433423432431244333412232143334422413441432311333314223413441333124231231214432311133311322144324221121114211111411142121412124132223433421313432442313434211222233232223433222134123323212211123322112413221444311313311343124244143313331222422211324433331413234133324332412224124214232234214222212331134213112111221122133433241434414222241243221423322413444423112323312221341432241432221124311234433324324342141113333224123434141412112113412112324144143214424143233213331212312234333311222242213342424142113314233231212311341331323411214242111242332331143434343231211133334234242322312431312143312143214132343312443443234213223211324132411313144241344121111144132000000000000100000000000000000000000023114321232133431242414221211141342312443212232434233324221313242132121341141423441142211133424442444113333432344243313321231332142311121321211143144144334233322224243223142222111323443223231233122123441333142222132143224314233211221242322433111311413214332314342443132422324434222322143212332144122232343224334132243143331344222222124332224124223424311431122314123424222232123232234112234143213313432213444423132321313112133433143443324212133113343333243331322121434423424123211124213433234231233442223411114132242321244111132344313211341232331224423433334341442342341442434313334423113414334431223344142313234323342223312433111434212222233144112211234142214313331234232243433434433132424413134221221314323112223321221413343343111131213114243324343324412143214123234311122234112431242231322123343314331331314334214143232233422121142333341311234334222142323221343222232412444123132431411132114124321143321433233234414343142443332321443214313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144214132212122431233132432312434113233344121312432442224124131332431431423422142424434432341234222213131234124213241233321114341122243322424233234431213122321342232333323334423222332321121124132133431333114341321341424234313133343122131122323321111122141442421223423233414124123211332233313331232432322321234224323333334122113431221432431232413213222413232412211242341333224333421112133421314141132213113323324133123121300000001000000000000000000012443431142334211412224223342114341411443142333314412243343413321411234241442414314431432100000000000000000000000100000000000000000000000000000000000000000142134233313343214333134243232111241132332123244224213411133343442333134312423332411314222224334321332111114333434244221243441444412321333132413121422321431224321222422223233334212311442213241341331211233333331233313111123113241441312214323332322333243111221233412113443142112112124213333321314232433223334314441433332414224343242422124311243321231411434132312234333112214443233222433433423221143423321233331421113134433223241123222413324332324222313131241441334342133312423423223212431342232224242313211431242122341143412441422422434331442144233431214234123223134441214232322342323322413131421221323443231133414411244114143423323314222232132233434441222142122422434241234134323232323342132223312322123224432323231223323133222321314414434432211213121331432324224143234133131331132423212233312413132343342143312222313141223433332432332223141344213121322114144142122411332313343244244214412113232321332343114143444131411123331311131411332133432213224212322322314134113113113421234242334223432243244212414112131222324334432211231312422132142144214211224233443413142334323342111212124323311422132113343122224321242132441424211323312143241320000000000000100000000000000000000000000000003244424442434223310001000000212122213232100000000000000002434141141312441311121333221211312132314332431442343431213214423122311121411324312134223413231221323412312431323231413313311214131441123244432441131134312231334434343323313224311241123122214222414122343131433421222422223341322241434434112233244321224122321223324311234223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211333313331111143121413231241243323211232314111221322333321114321432212411241241422332221332223443311322112243344221443332113344434211143411424241124113434313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133314123432313333133332311413141221211341342132424342342212231132312312233442233223343133431232224123233132232131343211432122431312321221421432442314233223121232332223114342333322423323324422233313341434141243144414423321221112133441343134343314241212431442422223413433323 313113331111433234142211223442411241123142421222144121322342114423123112142221232312314234433223331424323111121434333121434323243422222342442423213342124131123113311233124213213314232314424314412133213123211223412312244214322344232221432233332314234422131423143344113332431223221312121132421143314344313212311234212314143442414423113441243112334311233212323323324133242144341114244124211314112411133123243442221432344214131244134334323414423244443343232231331441342312422422421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422321411222223422222431334244224142223233413111311144444313212232312423423112234123213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114121332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422331412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232333322222443242232342341421222312332113211333322433144434214333341413222422422323311333112324231223133133313224434412242342124322241112323222312443442131334342143141133122331431141412323214223423243123213243412244333111324324114133221312411444431144324232122441411234241122141214243223441343233213123322133232221322344222213443421134334132222211444434142443221312421333134312134223343332414214211412121141143233131314322344324212233334413431443432231244333412232143334422413441432311313314223413441333124231431214422311323132342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141214211123322114413221444311313311343144443143313331222412231324443331443234313324334212122124214232234214222234113112433131233242132131431241432214222241233121433322413442333334143312413441414421233221124311214433322324342121113333224123434343212132133412131342324431232221121441134123232122234333311242242211342221342333312133214212311143333133411234114211244332113143432143231222133334234242323112431322143324143214132343312443443234213223211322132411313144241344121111142132000000000000010000000000000000000000023114321232133431224414221211141342312443212232434233324221313242132421321343423441142213133424444444114333233344443133321221333142311123321313343324144314231322224243223342242311323441221223213324323443333122412132143224314231431221244322433111313413214332314342443132422324432222322143212332144122232343244134122423143331344222222124332224124223424311231122314123424222232123232234112234143211332112431222223134321133331331413143244314444131313313241241211122121432423422313331344213333434231233442424411134332224423431332314144333143344214123442241243342121444424331434412331222243213214224231223324112133224313322224134214344213412222233342312231314122214131131231414121242232431212122313334343241324323334311121421421343143111131233114343344343324412143414123244311342234112421242231323143333314321331314334214131213213424321144333341311434134222142321121343222232412444143132431411132114134321143321433233334414323142443332321443414313233433121331413331424223232331241133433322341213432111231244211122131341224334321123142332213223232332312333312132224323131224444413134212314434142234423432441114212331331324144134444242311324133111211433223434324424432432341234222213131232122213241233321114341122243122424233234231213122321342111333322332422222112323122122132133431333114341321341424234313132223143313142223321133322141442221423423233434142324211331332323343432432323341234224323333334122132231223332431232213213222413232412211242341331442331241234333431214142132213314133322133123121100000000000000000001000000012441231142114213212424223342134141411443142333314412243341211343411142243444412314431432100000000000000000000000000000000000000000000000000100000000000000223134231313144214333112233234111241322133143224424233411314132224333114312423332341332223222332141132111113333432444222222141444412341313332233121122341233244331442222323113332432313412213241341331213241414331233113111423113241411312214323332222132223141421233412113341422112312114213133321314232433223334312441434132412223311211224122313143321231211434132344234333112214443233224413433423221143423321233331421113134233223243123222413324332324242313131241441334142133312423423223212431342232224222313211431242322241323413243422322414333324322313343234434323223334441234332322342323322413131421221123443231133234231244114123433323312422212332231234441223122112222434243234134323232323342132223312322123224432323231223323131232321334434212432433213331331432324244143234133131331132423212211112413134341424222114222313141223433132413311444442122431131122134124142122421214331141122244214412113232323412143114143444331431123213213111211342311434411322212124122414312343313113222342442134423432223242412414114112224132334342211233322242132342142214211224233441414142334323342111212123323311422132113343344224121242132441424211323312143241320000000000000100000000000000000000000000000003244424442434223310001000000212124233432000100000000000002434333341312221411141331221231312332314332431442342231411312321324234121411344332134223433431141123423134212223231413313411214131434341441422223343322242413212112241144331422133423323122214241234122323413211143422221441344122423424432334121442313412144123243422313412223331244343324243211313214324123114123342243334444214412342311413333214444111142214123224344213333313331121113121413211241243343211232314111221322333321114323432212411243241234114221314224443411344333231322421113334223344414413143411422241112333131313234441141124333342441441413231211221242423332134243421443344324314324324213342343211122124244133132441324233133132121231431331221211142342132422342342212431112212332221424121241321113332432424143233132232131311211432342431314323211421234242334243223223213422143321124133342221123334422232131321434421241232214323321221112131433343134343314243212413242322223133433323 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121131123113311231124213213344432133221143232141313123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213411322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244114431112114441223233133434412212332313312443114214242311313443111333221343322232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323112342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141214211123122114413221444311313311343144443143313331222412231324443331443234131344332242124124214232234214122212331134213112111221122133433241432414222441233141433324413442333334321412213414314421233443113334234433324324342121113333224123434141412112113412112324144143214224143233213331212314412211212244424213121444131111234224431243314311131323434414242114212332331143434343231211133334234242322312431312143312143214132343312443443234213223211324132411313144241344121111142132000000000000010000000000000000000000023114321232133431222414221211141342312443212232434233324221313242132421321343423441142213133424444444114333233344443133321221333142311123321313341324144314231322224243223342242311323441221223213324323443333122412132143224312233211221244322433111313413214332314342443132422324432222322143212332144122232343244134122423143331344222222124332224124223424311231122314123424222232123232234112234143213313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213333434231233442424411134332224423431332314144333143344214123442241243342121444424331434412331222243213214224231223324112133224313322224134214344213412222233342312231314122214131131231414121242232431212122313334343241324323334311121421221343143111131233114343344343324412143414123244311342234112421242231323143333314321331314334214131213213424321144333341311234134222142323121343222232412442143132423312333333124143321141413233332212343142443332321443214313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144414132212121431233132432332434113233323141312132444221324131131213233422424342242212233223212242311111412342131223211123332423342422342232441212414431344143324212123442142342343332221141124134321421213312133333321442322313132223143313144222321333322141424223423323433434124123211232233313331232432342123432132141111334122113432223432431232213213222413212412211242324331244331223112333433314322314214314133324131343321300000000000100000000000000031443231322332211431422431142132123411441122111314432431143433341431142213442424322431234301000000000000000000000000000000000000000000000000000000000000000122132233313134234334312443432313411132313121224424331411334132222333314312423332341332223222332144113111113331414422431422143443432323213312233121422341233244331442222323113334212311242413123123133233231313121213121224123332233443333224124332344133223111221233232113443142112112124213333321314232433223334314441433332414224343242422124341243321231411434132244222113132212443233222433433423221143423321233331421113134433223243123222413324332324242313431241441334142133312423423223212431342232224222313211431242322241321413443421322414333324322313341234434323223334441234232322342323342413131421421324441441233234231444114123333343312222232332233234441223122112222434223434334423432323342132223312142141323432424214223312213422321311414434432211213131331211322224143234133131113224223444413344413112123444222114222313121223433132413311423141344213121322314144142122411332313343244244214412113232321332343114143444131411123331311131413332133432213324212322322344134113133143222342442133421233223242414414114112224132334342231233312224314344414214211224233443413142333323342111212123323311422132113343344424113324114233421333323322241432120000000000000000000000000000000000000000100003244444424234223310100000000214142231432000000000000100001434333344414221423243143414432134333134414414442342233221314421142311141111122112111131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221434234114231244321224122313443422311234341414422141124223231113414324123114123344241334444234412342311413333214444111142214123224344213313313333111113321413231241243323223432314211221143233121314321412214223213144234114221134224443411344333231322421113334223344414413143411422241112333114313234241123124331342441443413231211221242423332134244422443344324314324324213342343211142122214133334143432313333133121231433331411213331343312422424132412413132312134233424121241323113332432424443233132232131341211432342431312323211421234242334243223223213422143321124133342221123334422232131321434421241232214343323221132321333231444141344241412413211342441131221321 313111331111433232144221224244211221123442423222144121322341214423123112142221232312314234433223334424323111121434333121434323343422222344322343213342121131123113311231124213213344432133221143232141213121213211414334444423324332232213222412432133224222133423143344113332431243223212121132421143314342333432311212112314143413414443113141243112134311233112323323324131212144443134222344411143112411123323243224421212344212134134134314323414443244433342231131231441312312422423441423132111233143112131314343421233222414233121312242141411224342423314233321241223231224343422341141121131442333332321334331134212421123243413141224222331323124431122323143131342344221132124231411223122242344314333114134112213121214323333242141412143213242232442242232124244224134223231214311143444414313232214333423142112234113213213122412213323222142224111211413331323242234441122414324112111234411122344343411314112122434234133341342441331343333232441412132233344231122134122331123233331432423113422241233444331412314243141244233233143432111343133331412321141323323231131312112123124321423132323223212142213134223224211223231131123342224333143312411322244111431112112441221113133433412212312213132341114234442311313441114333421343322332212322222444242133332321421222122332313211133322413144434214331121413222124422121313333114323432221333132311444233412222342344322241332321422334443444111334144141141333342131231143412423234423423241121413241413224313111144124134131221312413424411114114213114211111233414142144214242423243141233233323322133232211322344442213243421134313134424231434434122443221312421333134312134223143332412214411412141141143213131334324444124412433334414431423432231244133412232143434421413441432311313314223413441333124233431214422311323112342144322221121114211111431142121214324132443443421313432243213134413222131142321221312432321141232234243323332232213444311232111141124423321113333334422211222433131241214131144232242122124214232234214222212331134213112111221132133433241422412222221231121433322413444423112321422221341432241432221324111432433322124132123113343224123434343212132133412331342324431232421121441134123232122234333311222242211342221342333312133214412311143333133411234114211244332113143432143231222133334232421112124423414411124421231114143312443443232231441431342332411311123341342121331344114100000000000000000000000000000000000023114323214143312242414221211141342312443212232434233324221313242112421321343423441142213133424444444114333233334443133321221133142311123321313343324144314231322224243223342242331323441221223213324323411333143222222331242334231431443132344212441313412214332314342443132422324434222322143212332124122232443224314122441123431344442143224114412323444343333231431132221244424412141232444322431411433333432413244242332113333112133433143443324212133111343333343331322141434423434113311121221341231243433431423413334132242341244111132324313211141232331224423433334341244342341442434313334423213414334431223342142313234323342123312433111434212222133144112211234342214313331214432243433434433132424413132221221314323112223323221413343343111131213114243324343324412143214123234311122234112421242231322143343314321331314334214143233213144321142333331111214112222212323111343222233231242121142231411132114124321143321433243234414343122443331343243214341233233321343411232422223212311241121233322141213432111431244411344313141423132233144342112433223242222332333332112224121331324444431144434132212422431233132432312434113233344321312432442224124131332431433422424342424434432341234222311111432342131223211123332423342422342232431114431213122321342232333323334423222334331121324312331223213312333121344424224313132223143313142243321133324121242221421433224412144343431332323124343414434322341214224323333334344232411223332431432233212224413232412211222341331442331241234333431234141132233113321242133123141300000000001000000000000000012443231142112243212422431142132123411441122111314432431143433341413234241444312114431412300001000000000000000000000000000000000000000000000000000000000000122134233333134434323332433234111241322132243224422231411314132224333114312423332341332223222332141132111113333432444222222141423434321333332233121422123243422121424242341233134233313441233241321313233441414331233113111423113241411312214323332222132223141421233412113341422112312114213133321314232433223334312441434132414324313242422334311143123233213414334244224133112424233233224413433424223143423321233331421113134433223243123222413322332324222314131241441332342113132243223213212433322432424222313211431242322341123412443422322434333324322313343234434321223134442234232322342323342413131221421324441441233234231444112123333343312222433312233234441223122112222434243434334333432323342132223312322123224432323231223323131232321334434212432433234133341432124224143234133131331222223442211342413112123444142114241111121223433132413311444442122431131122134224142122421214331141122244214412113232323412143414143444331431143213213111211342311434411222212124122414312343313342242342412134423432223422412414114112224132334342231233312224114324412121123412111141234324314423132433423343131223323222243131122243111224434243241211241124123231340010000000000000000000000000000000000000000004244342442412423130000000010412122231231100000000000000002434141141412221423241133414232134333114414414442342231211314441122311241411124314134131413231241142212312432241442232133333432313241123244424221343322244213212112221144131442133423121323422322412421121433211123442222223321322221434434114231244321224122321223422113212241414422141324223231313414324123114123344243334444234412342311413333214444111142214123224344213233313333123113121413211241243321111231314111421322333331114323233212411341211222332221332223443311322112243344221443332113344434211143411424241124113434313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133334123432313333133332311413141221211341342132424342342212231132312312233442233223343133431232224123233132232131343211432122431312321221421432442314233223121232332223114342333322423323324422233313341434141243144414423321221112133433341444121344241212411211344441131221321 313113411133211412322213214224243221133442433222134121434142114423123112124333232313244334433223331424123111121434333123434323343422242342422343213342121131123113311231124213213344432133221143232141313123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313442144341134224124211313112411133123243442221432342214134134134314323414423244433343232231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341222212233442323222341133323131322423332321334331114132421123213413344144222131333124431322323343131342344221132144231411311222224221123341314312444213121212343133222141322143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444113311433333343224214421142212123112131244431124124141234333114122332214113111144231331333132232443432124111322233322134124331223232343432223111222243223422222414414223111244233242123444331323113331432421121343321311131312112123124321423132323223214142213134323434211223231131123342224333143312411322244111431112112441221113133434412212314233132341114234442311313443111333221343322232333322222443242132332321421222312312113211333322433144434214333341413222422422323311333112324231223133133313224434212242342124322241112323222312443442131334342143141333122331431141412323214223423243123213243412244333111324324114133221312411444431144314232122441411234241122144214243223441343233213123322133232221322344222211443421134334132222211441434142243221312421333134312134223343332414214211412121141143213131334324444324412233334214433423432431244333412232143334422413441432311333314223413441333124231231214432311133311322144324221121114211111411142121412124132223433421313432442313434211222233232223433222134123323212211123322112413221444311313311343124244143313331222422211324433331413234133324332412224124214232234214222212331134213112111221122133433241432414324241433121423322413442333334143312413441432443213221124311214421322124142121311131442123222343234334133142131342324441232221121441134123234314232211212244444213121444331131334224431243334311331323434412242114312313331141214121233122111112324421112124423412413124143414332321342421212212231421211122331233333124342314131331144132000000000000000000000010000000000000023334321134143432222312321412441142312441234232112411123422332432332113123121423441142213133424442444114333232344444113321221332142211121323211141124121314233332224243224142242111323441223223213322323443333122412132143224314233411221242322433113313313214332312142441112422324434222322143212432344122232333224334122441124443344242143224114222343444343333231431132221244424434241142433322421111433332134431222223114321133331131413143224312444131313313241241211122121432423422113311344113333414231233442423221134334424423431332314344333143344214123442241243342123444342341432432311334223213214222231423324112133224313322223134214344213414342211124112211234142234131131231414121242232431212424413134221221314323112223321221413343343111131213114243324343324412143414123234311122234112421242231323343333314321331314334214131213211424321144333341311434134222142121121343222232412444143134431411132114324321143321433231334414341322123111343222233243233431343143211232422223232331241133433322341213442111431244211344313141443112233324342114432221232222334133332132224133333344444413134212314434142234423434441114212331331324144134444242211324133111211433423334322442212233223212242311111432342131223211123332423342422342232441112414431344143324212123442142342343332221141124134333431331334341331141222222311333322322331122223121133342321422241423322233414144324212311323123343434432322341214224323333334342233431121313233414213233222233234214433244341333224333421112131233312141132233113323224111323121100000000000000000000000010012441231142314213212422223342134341411443142333314412243343413323411144213422414322413412100000000000000000000000000000000000000000100000000000000000000000142134233313343214333134243232111241132332123244224213411133343442333134312423332411314222224334321332111114333434244221243441444412321333132413121422321431224321222422223233334212311442213241341331211233333331233313111123113241441312214323332322333243111221233412113443142112112124213333321314232433223334314441433332414224343242422124311243321231411434132312234333112214443233222433433423221143423321233331421113134433223241123222413324332324222313131241441334342133312423423223212431342232224222312211431242322241323413443422322434331442124213431414234123123134331434212342344323322213111421421323443231213414411244114343423323312222232334233232441223122112222434443434334323432143324132223312322123224232313214223322213222121314414212432431234131331212324224143412313133111224223442233312413132343342143312222313141223433332432332223141344213121322114144142122411332313343244244214412113232321332343114143444131411123331311131411332133432213224212322322314134113113113421234242334223432243244212414112131222324334432211231312422132142144214211224233443413142334323342111212124323311422132113343122224321242132441424211323312143241320000000000001000000000000000000000000000000003244424442434223310001000000212122213232100000000000000002434141141312441311121333221211312132314332431442343431213214423122311121411324312134223413231221323412312431323231413313311214131441123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322241434434114233244321224122313443422311234341414422141324223211313414324123114323344243334444234412342311413333214444111142214123224344213211313331123113121413231241223323211432314111221122333321114323432214211241141422334421334223423431422112433144423441214111441334211331243212423322133131113214443143144313322423123233443233443411233112134243422443344324314324322211342341211122122414133334143432313333133121231433331411213331343312422424132412413132312134233424121241123113332432422443233132232111441231432344213412323212421234244314233421221112332223114322333322423323324422233313341434141243144412324131422312131441343134343413323212413242422223133233113 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422222342422343213342121131123113311231124213213144432133221143232141313123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221223342413112333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121214323133242141412143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232333322222443242232342341421222312332113211333322433144434214333341413222422422323311333112324231223133133313224434412242342124322241112323222312443442131334342143141133122331431141412323214223423243123213243412244333111324324114133221312411444431144314232122441411234241122141214243223441343233213123322133232221322344222213443421134334132222211444434142443221311421333134312134223343332412214211412121141143233131314322344324212233334413431443432231244333412232143334422413441432311313314223413441333124231431214422311323132342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141214211123322114413221444311313311343144443143313331222412231324443331443234313324334212122124214232234214222234113112433131233242132131431241432214222241233121433322413442333334143312413441414421233221124311214433322124342121113333224123434343212132133412131342324431232221121441134123232122234333311222242211342221342333312133214212311143333133411234114211244332113143432143231222133334234242323112431322143324143214132343312443443234213223211324132411313144241344121111142132000000000000010000000000000000000000023114321232133431224414221211141342312443212232434233324221313242132421321343423441142213133424444444114333233344443133321221333142311123321313343324144314231322224243223342242311323441221223213124323443333122412132143224312233431221242122433111311413214332314342443132422324434222322143212334144122232343224334132243143331344222222124332224124223424311431122314123424222232123232234112234143213313432213444423132321313112133433143443324212133113343333243331322121434423424123211124213333434231233432423411334332242321244111132344313211341232331224423433334341444342341444434313334422213414334431223344142313234323342223312433111434212222233144112211234342414313331214432243433434433132122313334343341324323334311121421221343143111331233114343144343324412143414123244311122234112431242231342143333314321331314334214131213213424321144333341313214112222214343122321441412211242143132431411132114134321143321433233334414323142443331343243214311133243321343411232422223212331241123233322341211432111431244211344313141423132233144342112433223242222332333332132224123331322444413144214132212122431233132432312434113233323141312132442221322231131231433423424342424432432341212242311111432342131223211123332423342422342232441112414431344343324212123422132342343332221141324134333431331314341331141222222311133322322331122323323111122141242221421433224412144324431332323124343414432322341214224123333334344212411223332431232233212224413232412211222341331442331241234333431234141132233113321242133123141100000000010000000000000000012441231342334211212422431144132121411441122111132432431143413341413144213222414312431412300000000000000000000000000000000000000000000000000000000010000000122132233313344214333112244434111243322332241244244233423133343242332114332421312314214133224334321132111343311414422431222141444312321313332233121442321431224321222422323233334212311442213223121133233231413121211121221123113241441312214323332322333223111221233412111341422112132124233333123314222233223333312141414332412223311211224122313143321231211434132344434333112214443233224413433423221143423321233331421113134233223243123222413324332324242313131241441334142133312423423223212431342232224222313211431242322241323413243422322414333324322313343234434323223334441234332322342323322413131421221123443231133234231244114123433323312422212332231234441223122112222434243234134323232323342132223312322123224432323231223323131232321334434212432433213331331432324224143234133131331132423212211112413134341424222114222313141223433132413311444442122431131122134124142122421214331141122244214412113232323412143114143444331431123213213111211342311434411322212124122414312343313313222342442134423432223242412414114112224132334342211233322242132342142214211224233441414142334323342111212123323311422132113343344224121242132441424211323312143241320000000000001000000000000000000000000000000003244424442434223310001000000212124233432000100000000000002434333341312221411141331221231312332314332431442342231411312321324234121411344332134223433431141123423134212223231413313411214131434341441422223343322242413212112241144331422133423323122214241234122323413211143422221441344122423424432334121442313412144123243422313412223331244343324243211313214324123114123342243334444214412342311413333214444111142214123224344211333313331121113121413211241243343211232314111221322333321114321432212411241241234114221314223443431322112233324421443334211341434213143243422443312133114313234241123124331342441443413231211221242423332134243422443344324314324324213344343211143144444141112143324213133133321311413143223433341213114242424132212413334212332233424131241321113332432424143233132232131311211433342431314323211421234244314233421221112332223114322333342423323324422233313341434141243144412324131422312131441333134343444243212431442422223133223323 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121131123113311231124213213344432133221143232141313123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313442144341134224124211313112411133123243442221432342214134134134314323414423244433343232231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323124423341114323324124222213312124231433223122242344314333114134112131323424422131144312412321441222223422222431334244224142223233413111311144444313212232312423423112234123213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114121332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323112342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141214211123322114413221444311313311343144443321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433241432414324241433121423322413442333334143312413441432443213221124311214421322124342121311131442123222343234334133142131342324441232221121441134123234314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412443112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144334233322224243223142242111321441223223212322341341333442422132143224314231433221242322433111313433314332312342443132422324434222322143112332344122234343224334132443143331344222222134332224124223424311231122314123424222232123234234112234143213113432213444423132321313112133433113443324212133113343333243331344121414423424113211124213333431231234232443411131312424421431332314342331143344214123442241241142341442342341442434113334422213413334431223344142313234323342223312433111434212222233144114211234142214313331234232243433434433134122311334343241324323334311121421221343143111131213114243344343324412143414123234311122234112431242231322143333314321331314334214131213213424321142333341311434134222142321121343222232412444143132431411132114134321143321433233334414323142443332321443414313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144214132212121431233132432312434113233323141312132442221324131331231233423424322424434432341234223333313232322233441233321112341122243322424233234431213122321342111333322332423222332323322144312331223213312333121344424224313132223122113142223321133324141422421223423233414124123211332233313331232432322321234224323333334322113431223432431232213213222413232412213344141313224333221112333433312141132213113323224131321123100000000100000000000000000012441232124134413212422223122134321213323344331334231241321413141413142213444412314431412100000000000000000000000000000000000000001000000000000000000000000142134233313343214333112233234111241322133143224424233411314132224333114312423332341332223222332141132111113333432444222222141444412341313332233121122341233244331442222323113332432313412213241341331213241414331233113111423113241411312214323332222132223141421233412113341422412312114213333321314232433223334312441434132414224113242422124311143121231211212132244222134112424443233234433231423423121423321113331432131334433221423133222413142312324222313133241433134344133312421243223212433322434244222333231431242322241123412443412342434333324322313431214234123223134441234332322344323323211111421421323443231213414411244114143423323314222232132233434441222142122422434241434314323232323442134223312122121243432423214223312213222321314414434432211213131331212322324143234133131113224223442411344413112123444222114222313124442411312212132223141344213123122112142142222113332213323244424244112331314333314341122331212321433221311331333431342311434411322232324124312112141113143421234242334223432243244212414112431422324134432211131112442132142144214211224233421414142334323341111212143321213442223214343122224321242132441424333323322241432120000000000000000000000000000100000000000000003241444422434221310010000000214142231432000000000000010001434333344414221423243143414432134333134414414444142231211314441122311241411124314134131413231241142212312432241442232133333432313241123244222221343322212211212114241123113222133223123122214241234122323413211143422221241344122421424434334131442313412144121223324311234223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211333313331111143121413231241243323211232314111221322333321114321432212411241241422334423334413243413322333231324441113334223344414413143411422241124113434113414443143144313322443441413231233443411231114112223442224122444314424322213342343411222124244143312441324232113412321231433331411211341342132424322342212231132312312233442231223343133331232224123233132232131343211432342431312323211421234242334243223223213432143121124133342221123334422232131321434421241232214343323222312131441331444141313323212411211342441131221321 313113331111433234142211223442411241123142421222144121322342114423123112142221232312314234433223331424323111121434333121434323243422222342442423213342124131123113311233124213213314232314424314412133213123211223412312244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341222212233442323222341133323131322423332321334331114132421123213413344144222131333124431322323343131342344221132144231411311222224221324341314312444213121214323133242141412143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333421343322232232122222443242232332323421222312312111211333322433144434214333341413222122222323331333112324231223111132331442234412122342144224241314321422114421444131314112113241313122341411141212331114223421213323211443432242133134324324334231443231233444133314314312122443131434244242314414442421241343233213323122132232211322344442213243421134314134424231434434122443221312421333134342134223343332412214211412141141113213431334122344314212233334414411423212433424333412232143311242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433241432414222243233121231322413442333334321412213414414221233221124311214421322124342121311131442123222343234132333112132324124143212234321433134123432314232231212244444113121444331131334224431243334311331321434412242114212312331141214121233122111112324421112124423412413122143414332321142221212232431421233322332413333124241344121331142332000000001000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144314231322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213433234231233442223411114132242321244111132344313211341232331224423433334341424424133232332333332223131434224213214124442333334111124243332434314413432222233344132232314142214313331214432243433434433132122313334343341324323334311121421221343143111131213114243344343324412143414123234311122234112431242231322143333314321331314334214131213213424321142333341311434134222142321121343222232412444143132431411132114134321143321433233334414323142443332321443414313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144414132212122431233132432312434113233323141312132442221322231131231433423424322424434432341234223333313232322233441233321112341122243322424233234431213122321342211333322332423222332323322144312331223213312333121344424224313132223122113142223321133324141422421423423233414124123211332233313331232432322321234224343333334322113431223432431232213213222413232412213344141313224333221112333433312141132213113323224131321123100000000100000000000000000012441232124134413212422223122134121213323344331334231241343213141413142213444412314431412100000000100000000000000000000000000000000000000000000000000000000142134233313343214333132233234111241322133143224424233411314132224333114312423332341332223222332141132111113333432444222222141444412341313332233121122341233244331442222323133332432313412213241341331233241414331233113111423113241411312214343332222132223141421231412113341422112312114213133321314232433223334312441434332312224311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342432224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434134321432322342132223412124123224432323214223322213222321114414432422211213131231212314224443412111133111224223442213344413112123444222114222313124442311312212132223141344213123122112142142222113332213323244424244112331314333314341122331212321433221311331333431342311434411322232324124312112141113143421234242334223432243244212414112131222324134432211131112442132142144214211224233421414142334323341111212143321213442223214343122224321242132441424211323312143241320000000100000000000000000000000000000000000003244424222434223310000100000212122213231010000000000000002434333341312221411141331221231312332311414414442342231411312321324234121411344332134223411433141123423134212223231413313311214131434341441434221343322244213212112241144331444311241123122214222414122343131433421222222223341322221434434114231244321224122313443322113432223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211333313331323113121413411241443323211232312111221322323321114341432232211241211422334421314413243413322333231324441113334213344414413143411422241112333114133233441141124333342441441413433233443411231114132423242224122444314424122431222121211143144444141112141324232111412122211211143223433341213114242424132212413334224332233424131241323413332231242443233133212131441231432344211412323212441232442314233223121232332143121324133342221123334422232131321434421241232214343323222312131441343134343314241212431442422223413433323 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422222342442423213342124131123113311231124333213344432133221143232141313123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144333143312411322244331431112114441223233133433412232312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443233121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311411242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433231432414222441233141433324413442333334321412213414314421233443113334234433324324342121113333224123434141412112113412112324144143214424143233213331212314412211212244424213121444131111234224431243314311131323134414242114212113331121214121333122111112324421112124423412413124443414332321343421212134413223211324132413333344342314331113124134000000000100000000000000000000000000023114423214142312144414231232141144332343214234412413323221213232132121341141123431142411133424442444113333432344223313321231332142311131321211143144144331233323224243223142242111323443223223212322321341313442422134143424434311211221242322433111213313214332312342443112422324434222122143212332344122232343224334134443343331344222222134332224124223424311231122314123422242232123232234111234143213313432213444423132321313112113433143443324212123123341333243331322323434423224113311124213333414231233442423221134334424423431332314344333143344214123442241243342123424342341432432311334223213214222231423324112133224313322223134214344213414342211124112211234142234131131231414121242232431212424413134221221314323112323321221413343343311131213114243324343324412143414123234311122234112421242231423143333314321331311334214131213213424321144333341311434134222142321121343222232412444143134431411112114324321143321433231334414341322123111343222233243233431343143211232422223232331241333433322341213442111431244211344313141443112223324342114432221232334312333332332224123331324444413144414132212121431233112232312434113233323141312132422221144131332431213422424342242212233223212242311111412342131223211123332423342422342232441212414431344143324212123442142342343332221141124134321421213312133333321442322313132223143313144222321333322143424223423323433434124123211232233313331232432342123432132141111334122113432223432431232213213222413212412211242324331244331223112333433314342314214314133324131143321300000000000100000000000000031443231322332211431422431142132123411441122111314432431143433341431142213442414322431234301000000000000000000000000000000000000000000000000000000000000000122132233313134234334312443432313411132313121224424331411334132222333314312423332341332223222332144113111113331414422431422143443432323213312233121422341233244331442222323113334212311242413123123133233231313121213121224123332233443333224124332344133223111221233232313443142112112124213333321314232433223334314441433332312223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342432224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323142413131421421324441441233234231444114123333323312222232332233234441223122112222434243434334323432323342132223312122121243432423214223312213222321314414434432211213131331212322324143234133131113224223442433344413112123444222114222313124442311312212132223141344213123132112142142222113332213323244424244112331314333314341122331212321433221311331333431342311434411322232324124312112141113113222242444324443432241242212221334112234132334342211233322242132342142214211224233441414142334323342133423343131223323222243131122224121242132441424211323322243241121000000000000000000000000000000000000000000003244444422434221311000000000214142231432000000001000000001434333344422221423241131224231132332311412414442342231213214423122311121411324312134223413411141123423134212223231413313333432313241123244422223343322242413212112241144331422133423323122214241234122323413211143422221441344122423424432334121442313412144121221422313212223331244343324243211313214324123114123342243334444214412342231333321414222113342412123224144211233313331111143121413231241243323223432334213211143233121314321412214223213144222332221334223441431322332231324421143334223344414413143411422241112333134313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133334123432313333133332311413141221211341342132424342342212431132312312233442231223343133431232224123233132232131343211432122431312321221421432442314233223121232332223114342333322423323324422233313341434141243144414423321221112133441343134343314241212431442422223413433323 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121131123113311231124213213344432133221143232141313123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313442144341134224124211313112411133123243442221432342214134134134314323414423244433343232231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341222212233442323222341133323131322423332321334331114132421123213413344144222131333124431322323343131342344221132144231411311222224221324341314312444213121214323133242141412143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232333322222443242232342341421222312332113211333322433144434214333341413222422422323311333112324231223133133313224434412242342124322241112323222312443442131334342143141133122331431141412333214223423143123231243432242331114324344334131443231233444431113314212122441431214244242144414442421241343233212121324133232221322344222213243421134334132224211444434142443221311121333132312322243341332434414213132321141143233131314322344324212233334413431443412413424333412232143334422413441432311313314223413441333124231231214232311333311322144324221121114211111411142121412124132223433421313412442313434411222131142321221312432321141212211123322112413221444311313311343124243143313331222422211324433331413234133324334212122322134214234214222212331134213112111221132133433241432414222243233121231322413442333334323412213414414221233221124311214421322124342123311131442123222343234132333112132324124143212234321433134123432314232231212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144334233322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334331231312144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213333434231233442424411134332224423431332314144333143344214123442241243342121444424331434412331222243213214224231223324112133224313322224134214344213412222233342312231314122214131131231414121242232431212424413134221221314323112223321221413343343111131213114243324343324412143214123234311122234112431242231323143333314321331314334214131213213424321144333341311234134222142323121343222232412442143132423312333333124143321141413233332212343142443332321443214313233433121331413331424223232331241133433322341213432111231244211122131321224334331123142332213223232332312333312132224323131224444413144414132212121431233112432312434113233323141312132422221144131332431433423334324442212233223212242311111432342131223211123332423342422342232441212414431344143324212123442142342343332221141122134333431331334341331141222222311333322322331122223121133342143424223423323433434124123211232233313331232432342123432132141111334122113432223432431232213213222413212412211242324331244331223112333433314322314214314133324131343321300000000000100000000000000031443231322332211431422431142132123411441122111314432431143433341431142213442424322431234301000000000000000000000000000000000000000000000000000000000000000122132233313134234334312443432313411132313121224424231411334132222333314312423332341332223222332144113111113331414422431422143443432323213312233121422341233244331442222323113334212311242413123123133233231313321213121124123332233443333224124332344133223111221233232313443142112112124213333321314232433223334314441433332414224343242422124311243321231411434132314234333112214443233222433433423221143423321233331421113134433223243123222413324332324242313431241441334142133312423423223212431342232224222313211431242322241321413443421322414333324322313341234434323223334441234232322342323342413131421421324441441233234231444114123333343312222232332233234441223122112222434223434334423432323342132223312142141323432424214223312213422321311414434432211213131331211322224143234133131113224223444413344413112123444222114222313121223433132413311423141344213121322314144142122411332313343244244214412113232321332343114143444131411123331311131413332133432213224212322322344134113133143222342442133421233223242414414114112224132334342231233312224314344414214211224233443413142333323342111212123323311422132113343344424113324114233421333323322241432320000000000000000000000000000000000000000100003244444424234223310100000000214142231432000000000000100001434333344414221423243143414432134333134414414442342233221314421142311141111122112111131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221434234114231244321224122313443324113234341414422141324223231313414324123114123344243334444234412342311413333214444111142214123224344213233313333123113121413211241243321111231314111421322333331114323233212411341211222332221332223443311322112243344221443332113344434211143411424241124113434313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133314123432313333133332311413141221211341342132424342342212231132312312233442233223343133431232224123233132232131343211432122431312323221421432442314233223121232332223114342333322423323324422233313341434141243144414423321221112133433341444121344241212411211344441131221321 313113411133411412322213214224243221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121131123113311231124213213144432133221143232141313123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221223342413112333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213241232442242431334244224144222231214311143444414313232214333423142112234113211433322414413323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113131433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433241432414222441233141433324413442333334321412213414314421233443113334234433324324342121113333224123434141412132113412112324144143214224143233213331212314412211212244424213121444131111234224431243314311131323434414242114212332331143434143231211133334234242322312431312143312143214132343312443443234213223211324132411313144241344121111142132000000000000010000000000000000000000023114321232133431222414221211141342312443212232434233324221313242132421321343423441142213133424444444114333233344443133321221333142311123321313341324144314231322224243223342242311323441221223213324323443333122412132143224312233211221244322433111313413214332314342443132422324432222322143212332144122232343244134122423143331344222222124332224124223424311231122314123424222232123232234112234143213313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213333434231233442424411134332224423431332314144333143344214123442241243342123444424331434412331222243213214224231223324112133224313322224134214344213412222233342312231314122214131131231414121242232431212424413134221221314323112223321221413343343111131213114243324343324412143214123234311122234112421242231322143333314321331314334214131213213424321144333341311234134222142323121343222232412442143132423312333333124143321141413233332212343142443332321443214313233433121331413331424223232331241133433322341213432111231244211122131321224334331123142332213223232332312333312132224323131224444413144414132212121431233132432332434113233323141312132444221324131131213233422424342242212233223212242311111412342131223211123332423342422342232441212414431344143324212123442142342343332221141124134321421213312133333321442322313132223143313144222321333322141424223423323433434124123211232233313331232432342123432132141111334122113432223432431232213213222413212412211242324331244331223112333433314322314214314133324131343321300000000000100000000000000031443231322332211431422431144132123411441122111314432431143433341431142213442424312431234100001000000000000000000000000000000000000000000000000000000000000223134211313134214333112444432111241322132241244244233423133343242332114334121312314214133224334321132111343311414424231223443444412321333332233121422321431224321222422223233334212311442213241341331211233433331233313111123113241441312214323332322333243111221433412113443142112112124213333321314232433223334312141414332312223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342432224222313211431232322341323413443422322434311442144313431214234123223134441234332323342323322413131421221323443231133232231244314121433323312222232332233234431223122112222434243434333323432323342132223312122121243432423214223312213222321314414434432211213131331212322324143234133131113224223442413344413112123444222114222313124442411312212132223141344213123122112142142222113332213323244424244112331314333314341122331212321433221311331333431342311434411322232324124312112141113143421234242334223432243244212414112131222324134432211131112442132142144214211224233421414142334323341111212143321213442223214343122224321242132441424211323312143241320000000100000000000000000000000000000000000003244424222434223310000100000212122213231010000000000000002434333341312221411141331221231312332311414414442342231211314441122311241411124314134131413231241142212312432241442232133333432313241123244424221343322244213212112221144131442133423121323422322412421121433211123442222223321322221434434114231244321224122321223422113212223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211233313331111113121413231441243323221432314111221142233321114323432214213241141434114221334223443411422333231324421113334223344434211341243222443324133134113214443143144313322423123213443211443241231114132423442224122444314424122431222121211142122214133334123432313333133332311413141221211341342132424342342212231132312312233442231221323113332432424143233132232131311211432342431312323211421234244314233421221112332223114322333322423323324422233313341434141243144412324131422312131441331444141313323212431441322223133233113 313111331111433232144121224244211221123442423222144121322341214423123112142221232312314234433223334424323111121434333121434323343422222344322343213342121131123113311231124213213344432133221143232141213121213211414334444423324332232213222412432133224222133423143344113332431243223212121132421143314342333232311212112314143413414443113141243112134311233112323323324131212144443134222344411143112411123323243224421212344212134134134314323414443244433342231131231441312312422423441423132111233143112131314343421233222414233121312242141411224342423314233321241223231224343422341141121131442333332321334331134212421123243413141224222331323124431122323143131342344221132124231411223122242344314333114134112213121214323333242141412143213242232442242232124244224134223231214311143444414313232214333423142112234113213213122412213323222142224111211413331323242234441122414324112111234411122344343411314112122434234133341342441331343333232441412132233344231122134122331123233331432423113422241233444331412314243141244233233143432111343133331412321141323323231131312112123124321423132323223212142213134223224211223231131123342224333143312411322244111431112112441221113133433412212312213132341114234442311313441114333421343322332212322222444242133332321421222122332313211133322413144434214331121413222124422121313333114323432221333132311444233412222342344322241332321422334443444111334144141141333342131231143412423234423423241121413241413224313111144124134131221312413424411114114213114211111233414142144214242423243141233233323322133232211322344442213243421134313134424231434434122443221312421333134312134223143332412214411412141141143213131334324444124412433334414431423432231244133412232143434421413441432311313314223413441333124233431214422311323112342144322221121114211111431142121214324132443443421313432243213134413222131142321221312432321141232234243123332232213444311232111141124423321113333334422211222433131241214131342232242122124214232234214222212331134213112111221132133433241422412222221231121433322413444423112321422221341432241432221324111432433322124132123113343224123434343212112133412331342324431232421121441134123232122234333311222242211342221342333312133214412311143333133411234114211244332113143432343231222133334232421112124423414411124421231114143312443443232231441431342332411311123341342121331344114100000000000000000000000000000000000023114323214143312242414221211141342312443212232434233324221313242112421321343423441142213133424444444114333233334443133321221133142311123321313343324144314231322224243223342242331323441221223213324323411333143222222331242334231431443132344212441313412214332314342443132422324434222322143212332124122232443224314122441123431344442143224114412323444343333231431132221244424412141232444322431411433333432413244242332113333112133433143443324212133111343333343331322141434423434113311121221341231243433431423413334132242341244111132324313211141232331224423433334341244342341442434313334423213414334431223342142313234323342123312433111434212222133144112211234342214313331214432243433434433132122313332343241324323334311123421221343143111131233114343344343324412143414123244311342234112431242231323143343314321331314334214143233213144321142333331111214112222212323111343222233231242121142231411132114124321143321433243234414343122443331343243214341233233321343411232422223212311241121233322141213432111431244411344313141423132233144342112433223242222332333332112224121131324444431144434132212422431233132432312434113233344321312432442224124131332431433422424342424434432341234222311111432342131223211123332423342422342232431114431213122321342232333323334423222334331121324312331223213312333121344424224313132223143313142243321133324121242221421433224412144323431332323124343414434322341214224323333334344232411223332431432233212224413232412211222341331442331241234333431234141132233113321242133123141300000000001000000000000000012443231142112243212422431142132123411441122111314432431143433341413234241444312124431412300000000000000000000000000000000000000000000000000000001000000000122134233333134434323332433234111241322132243224422231411314132224333114312423332341332223222332141132111113333432444222222141423434321333332233121422123243422121424242341233134233313441233241321313233441314331233113111423113241411312214323332222132223141421233412113341422112312114213133321314232433223334312441434132414224343242422124311243321231411434132244222113132212443233222433433423221143423321233331421113134433223243123222413324332324242313431241441334142133312423423223212431342232224222313211431242322241321413443422322414333324322313341234434323223334441214232322342323342413131421421333443231213234231244114123433323312222232332431234441223122112222434243434334323432323342132223312122121223432423214223312213422321314414434232211213131331212322244143234133131331132423212413344413112123444222114222313121223333132413311444442122431131122134124142122421214331141122244214412113232323412143114143444331431123213213111211342311434411322212124122414312343313143222342442324443433241242212221334112234332334432431233312224114324412121123412111141234324334423132433423343131223323222143131122243111224434243241211241124123231340000000000000000000000000000100000000000000004241444422434221310010000000214142231432000000000000010001434333344414221423243143414432134333134414414444142231211314441122311241411124314134131413231241142212312432241442232133333432313241123244222221343322212211212114241123113222133223123122214241234122323413211143422221241344122421424434334131442313412144121223324311234223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211211113111121113121413211241243343211232314111221322333321114321432212411241241222332221334223441431322332231324421143334223344434241343411422241124113134113233441143124331342441441213433233443411231114312223442224122444314324322431222141431122122414133312441324213133133122211413141221211341342132424342342212431132212332221424121241321113332432424143233132232131311211433342431312323211421234244314233421221112332223114322333322423323324422233313341434141243144412324131422312131441333134343413323213213242422223133233113 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121131123113311231124213213144432133221143232141313123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221223342413112333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113211433322414413323224142444131311431331323442234441122414114112111234411122324343411314112122434234133341344443331343333232441412132233344231122134122331123233331232423113422241233444331412314243141244233233143432111343131131412321141343323233131312112123144322133131223243214142213134323234211223231131123342244333143312411322244331431112114441223233133433412232332313112443114114442311313441114333421344141232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443233121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311411242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433241432414224441233121433144413442333334321422221341432241432221324111432433322124132123113343224123434343212132133412331342324431232221121441134123232314412211212244444233121444331131334224431243314311131323434414242114212332331143434143231211133334234242322312431312143312143214132343312443443234213223211324132411313144241344121111142132000000000000010000000000000000000000023114321232133431224414221211141342312443212232434233324221313242132421321343423441142213133424444444114333233344443133321221333142311123321313343324144314231322224243223342242311323441221223213324323443333122412132143224314233211221244322433111313413214332314342443132422324432222322143212332144122232343244134122423143331344222222124332224124223424311231122314123424222232123232234112234143211332112431222223134321133331331413143244314444131313313241241211122121432423422313331344213433234231233442223411114132242321244111132344313211341232331224423433334343444342341442434313334423213414334431223344142313234323342223312433111414212222233144112211234342214313331234432243433434433132122313334343241324323334311121421221343143111131213114243344343324412143414123234311122234112431242231322143333314321331314334214131213213424321142333341313214112222214343122321441412211242143132431411132114134321143321433233334414323142443332321443414313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144414132212121431233132432332434113233323141312132444221324131131213233423334322424432212343232443333313232322233441233321114341122243322424233234431213122321342232333323334423222332321121142312321421213312133333321442322313132223143313144222321333322121242221421433223412144323431332333323141232432122321232132323333334322113431223432431232213213122233234212233242341333224311421112133431312122312214314133324133123121300000001000000000000000000012443431142334211412224223344114341411443142333314412243343413321411234241442414314431432100000000000000000000000100000000000000000000000000000000000000000223134231313144214333112444432111211132332243244244233423133343242332114332421312314214133224334321132114343311434444222223443444412321211334413143123321233224321422222323233334212311242413123123133233241414331233113111423133241443313214323312344133423111221233412111341422112133124213333321314232433223334314441434334414224113242422124311143121231211212132244222134112424443233234433231423423121423321113331432131334433221423133222413142312324222313133241433134344133312421243223212433322434244222313231431242322341123412443412342434333324322313431214234123223134441234332323342323322413131421221323443231133232231244314123433323312222232332233234431223122112222434243434333323432323342132223312122123223432423214223312213222321314414434432211213131331212322224143234133131113224223442413342413134341424222114221131321442311312212132223141344213123122112142142222113332213323244444244112331314333314341122331212321433221311331333431342311434411322232324124312112143333143222342442133421233223242414414114112224132334342231233312224314344444214211224233441414142334323341111212143321213422223214343322224321242132441241333323322241232120000000000000000000000000000000000000000000103244444422434223310001000000214142231232000000000100000001434333341312221411141331221231312332314332431444343431213214423122311121411324312134223413231221323412312431323231413313311214131441123244432441131134312231334434343323313224311241123122214222414122343131433421222422223341322241434434112233244321224122313443322121214341414422141324223211313414324123114123344243334444234412342311413333214444111142214123224344213311313331111113121413231441243323221432314111221142233321114321432114213241241422314223314213443411322112233124421441214113344434211341243222443324132131133233441141124333342441441413231211221242423332134243421443344324314324324213342343211122124244133112441324233133132121231431331221211142342132422342342212431112212332221424121241321113332432424143233132232131311211432342431314323211421234242334243223223213422143321124133342221123334422232131321434421241232214323321221112131433343134343314243212413242422223413433323 313113331111433234142211223442411241133442423222134121434142114422123112124333232313244234431223334421323114121434333121434123323422222342442423213342124131123113311233124213213314232314424314412133213123211223412312244214322344232221432233332314234422131423143344113332431223221312121132421243314344313212311234212314143442414423113441243112334311233212323323324133242144341114244124211314112411133123243442221432344214131244134334323414423244443343232231331441342312422422421423112111233141122131114343421133441244233121334221144223224322423314233343222212231442323422311333323131442323332321334313114132421123213411141244222331323124433322323343131342344221132144231411321222224221324343314312444231121214323133244111312343413222232442242432124244224134223231213311143444414313232214333423142112234113213413322414413323222142224111211433331323242234441122414124112111234411122324343411314112122434234133341344441331343333232441432132231324231122134122331123233331432423113422241233424331412314243141244233233123444311343113331434423141343323231131314112123144321133132243243112342211134223234413113242133133322144313141312213144244134431114134441223213133434412232332313312341114234444311313441114333431343322232232322212343242232332323421222112332113211333322433144434214333341413222122222323331333112324231223111132331442234412122342144224241314321422114421444131314112113241313122341411141212331114223421213323211443432242133134324324334231443231233444133314314312122443131434244242314414442421241343233213323122132232211322344442213243421134314134424231434434122443221312421333134342134223343332412214211412141141113213431334122344314212233334414411423212433424333412232143331442343233114133412131411341121422311211212334432311323311322144324221311114211111431242121234124132243443421313432443313434413222133134323233224132323321412211123322112413221444311313311343124244143313331222422211324433331413234133324334212122322134214234214222212331134213112111221132133433241432414222243233121231322413442333334321412213414414221233221124311214421322124342121311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144334233322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213333434231233432423411334332242321244111132344313211341232331224423433334341444342341442434313334423213414334431223344142313234323342223312433111434212222233144112211234342214331131231414121242232431212424413134221221314323112223321221413343343111131213114243324343324412143214123234311122234112431242231322143333314321331314334214131213213424321144333341311234134222142321121343222232412444143132431411132114134321143321433233334414323142443332321443414313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413134212314434142234423434441114212311331324144134444242221324131331231233223434322424432432341234222213131232122213241233321114341122243122424233234231213122321342111333322332422222112323122122132133431333114341321341424234313132223143313142223321133322141442221423423233434142324211331332323343432432323341234224323333334122132231223332431232213213222413232412411242341331442331241234333431214142132213314133324133123121100000000000000000001000000012441231142114213212424223342134141411443142333314412243341211343411142243444412314431432100000000000000000000000000000000000000000000000000100000000000000223134231313144214333112243434111243322333141224424231411334132222333114312423332411314222244334321133111113331414442431422141443432321211334413143123123243422123442222323113334212311242413141341331233241414331233113111423113241411312214343332222132223141421231412113341422412312114213333321314232433223334312441434332414224113242422124311143121231211212132244222134112424443233234433231423423121423321113331432131334433221423133222413142312324222313133241433134342133312421243223212433322434244222313231431242322341123412443412342434333324322313343234434323223334441234232322342323142413131421421324441441233234231444114123333323312222232332233234441223122112222434243434334323432323342132223312122123224432323214223322213222341314114434432211213121331432324244143234133131331132423212411344413112123444222114222313141223433132413311444442122431131122134124142142421214331141122242214412113232323312343114143444331431123213211111211131131212243324214344122314112343313142242342442134423432223242412221334112234332334432211233322242132342144214211224233441414142334323342111212124323311422132113343344224113324134233224211241124123231320000000000000010000000000000000000000000000003241442222434221310000001000232122113232000000010000000002434333341312441311121331224211132333111414414442342231411312321324234121411344332134223413431141123423134212223231413313411214131434341441222223343322242213212112241144331422133423323122214241234122323413211143422241221344122421424414314131434321224122313423422113212223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211311113111321143121413231241243323223432334213211143233121314321412214223213144222332221334413243311322112233344421443334113344434241343411422241124113111313234241123124331342441443232433233443411231114132423242224122444314424122431222121211143144444141112141324232111412122211211143223433341213114242424132212413334224332233424131241323413331231242443233133212131441231432344211412323212441232442314233223121232332223114342333322423323324422233313341434141243144414423321221112133433341444121344241212431442422223413433323 313113411133411412322213214224243221133442423222134121434142114423133112124333232313244234231442114224312141423432132341212323343422242342422343213342121131123113311231124213213344432133221143232141313123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231231214432311133311322144324221121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131344332242124124214232234214122212331134213112111221122133433231422412224221231121433322413444423112321422221341432241432221324111432433322124132123113343224123434343212132133412331342324431232221121441134123232314412211212244444233121444331131334224431243314311131333434414242114212332331143434143231211133334234242322312431312143312143214132343312443443234213223211324132411313144241344121111142132000000000000010000000000000000000000023114321232133431224414221211141342312443212232434233324221313242132121323141423441142213133424444444114333232344443113321221332142311123321313143124144314233322224243223342242111323441221223213324323441333142422132143224314211211221242322433111313413214332312342443132422324434222122133212332124122232343224314122441123431344242143224114412323444343333231431132221244424412141232444322431411433333432413244242332113333332131411343243314242133313343341241211122321434423434113311124213433234231233442223411114132242321244111132344313211341232331224423433334341424424133232332333332223131434224213214124442333334111124243332434314413432222233344132232314142414313331214432243433434433132122313334343341324323334311121421221343143111331233114343144343324412143414123244311122234112431242231342143333314321331314334214131213213424321144333331311234134224142323122321441412211444143334431411132114324321143321433231334414341322123111343222213343233431343143211232242321413333441133213132323133233331413212211344313123423332233124124112433443232322112333332132224123313344444413144214132212122431233132432312434113233323141312132442221322231131231433423424342424432432341212242311111432342131223211123332423342422342232441112414431344343324212123422132342343332221141324134333431331314341331141222222311333322322331122323323111122141242221421433224412144324431332323124343414432322341214224123333334344232411223332431432233212224413232412211222341331442331241234333431234141132233113321242133123141100000000010000000000000000012441231342334213212422431144132121411441122111132432431143413341413144213222414322433412100000000000100000000000000000000000000000000000000000000000000000123134231313334214333112444432111211132333141224424231411334132222333114312423332341332223222332141132111113333432444222222141423434323333334413143123321233224321422222323233334212311242413123123133233231313121233313111123333241443313214323312344133423114231233234113443142412112124213333321314232433223334312141434332414224113242422124311143121231211212132244222134112424443233234433231423423121423321113331432131334433221423133222413142312324222313133241433134344133312421243223212433322434244222333231431242322241123412443412342434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434134321432322342112223412124123224432323214223322213222341314114434432211213121331432324244143234133131331132423212413342411134341424222114222313121223433132413311423141344213121322314144142122411332313343244244214412113232321332343114143444131411123331311131413332133432213224212322322344134113133143222342442133421233223242414414114112224132334342231233312224314344414214211224233443413142333323342111212123323311422132113343344424113324114233421333323322241432120000000000000000000000000000000000000000100003244444424234223310100000000214142231432000000000000100001434333344414221423243143414432134333134414414442342233221314421142311141111122112111131213233243142212312432241442232133333432313241123444432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221434234114231244321224122313443422311234341414422141124223231113414324123114123344241334444234412342311413333214444111142214123224344213313313333111113321413231241243323223432314211221143233121314321412214223213144234114221134224443411344333231322421113334223344414413143411422241112333114313234241123124331342441443413231211221242423332134244422443344324314324324213342343211122124244143312441324232113412321231433331411211341342132424342342212431132212332233424121241323113332432424443233132232133341211432342231322321212421234244314233421221112332223114322333322423323324422233313341434141243144414324131422312131431331444121344221212431442422223133233113 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422222342442423213342124131123113311231124333223312432334424344432133344123211211414334221223324344232221434212432133234222323233122144131313231421423212323114421241312142313232313232112114143442414423113441223112334311233112323323324133442144341134224124211313112411133123243442221432342214134134134314323414423244433343232231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213411322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144344232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334221323132434442213412124341143233131334322344324212233334414431443414411244314232444311411242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323234234243123332232213444311232111141124423321113333332422211224433131241214131144232242122124214232214414222212331134213112111221132133433241432414324241433121423322413442333334143312413441432443213221124311214421322124342121311131442123222343234334133142131342324441232221121441134123234122234333311222242211342421342333312133214212411143331123411234114211244332113143432143231222133334232421112124423414411124443414332321343421212212231421231322332413333124241344121333144132000000000000000001000000000000000000022334321232143431244414231212141312332443234234412413343221213242132121121141423241122213341242322242314112222342443113143222312424333123121211121144444114413222123231343342223113443321423323313142123441331142422132143224312233431221242122433111311413214332314342443132422324434222322143212334144122232343224334132243143331344222222124332224124223424311431122314123424222232123232234112234143213113432213444423112321313112133433113443324212133113343333243331344121414423424113211124213333431231234232443411131312424421431332314342331143344214123442241241142341442342341442434113334422213413334431223344142313224323342223312433111434212222233144114211234142214313331234232243433434433134122311334343241324323334311121421221343143111131433114343344343324412141414123244311342234112431242231322143343314321331314314214131213211424341144333341313214112222214343122321421412211242143132431411132114134321143321433233334414323142443331343243214311133243321343411232422223212331241123233322341211432111431244211344313141423132233144342112433223242222332333332132224123331322444413144434132212422431233132432312434113233344321312432442224124131332431433423424342424434432341234222313131234124213241233321114341122243322424233234431213122321342232333323334423222332331121124132133431333114341321341424234313132223142131122323321133322141444223423323433414124124211331333123343432132322321234224323333334322132411123312233412213233222233234214433244141313224333221112333433312141132213113323242133123121100000000010000000000000000012441231342334213211422231144132121411441122111132432431143413341413144213422414322433412100000000000000000000100000000000000000000000000000000000000000000123134231313333214323312234234111241322133141224424231411334132222333114334121312314214133224334321132111343311414422431222141423414221333132413141143123243422123424244341233134233313442233241321313233441414331233313111123113241441312214323332322333243111221433412113443142112112124213333321314232433123334314421434332312223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342232224222312211431442322241323413443422322434331442144231431214234123223134441214233322312323322413131441241323443231213234231244314123433323312222433332233234441223122112222434243434334323432323342132223312122121243432423214223312213222321314414434432211213131331212322324143234133131113224223442413344413112123444222114222313141223433132413311444442122431131122134122142142421214331141122242214412113232323312343114143444331431123213211111211131131212243324214344122314112343313142242342442134423432223242412221334112234332334432211233322242132342144214211224233441414142334323342111212124323311422132113343344224113324134233224211241124123231320000000000000010000000000000000000000000000003241442222434221310000001000232122113232000000010000000002434333341312441311121331224211132333111414414442342231411312321324234121411344332134223413431141123423134212223231413313411214131434341241222223343322242213212112241144331422133423323122214241234122323413211143422241221344122421424414314131434321214122313423422313412341434224123312224212333434324323132143342243334444234412344333413123224244233321232433143112421333113111111143121413231241243323223432334213221143233121314321412214223213144222332221334413243311322112233344421443334113344434241343411422241124113134313234241123124331342421443232433233443411231114132423242224122444314424122431222121211143144444141112141324232111412122211211143223433341213114242424132212413334224332233424131241323413331231242443233133212131441231432344211412323212441232442314233223121232332143121324133342221123334422442131321442421241232214343323221132321333231444143413241212431442422223133223323 313113411133411412322213214224243221133442423222134121434142114423133112124333232313244234231442114224312141423432132341212323343422242342422343213342121131123113311231124213213344432133221143232141313123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144333143312411322244331431112114441223233133433412232312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443233121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434421413441432311313314223413441333124233431214422311323112342144322221121114211111431142121214324132443443421313432243213134413222131142321221312432321141232234243123332232213444311232111141124423321113333334422211222433131241214131342232242122124214232234214222212331134213112111221132133433241422412222241231121433322413444423112321422221341432241432221324111432433322124132123113343224123434343212132133412331342324431232221121441134123232122234333311224242211342221342333312133214412311143333133411234114211244332113143432143231222133334232421112124423414411124421231114143312443443232231441431342332411311123341342121331344114100000000000000000000000000000000000023114323214143312242414221211141342312443212232434233324221313242112421321343423441142213133424444444114333233334443133321221133142311123321313343324144314231322224243223342242331323441221223213324323411333143222222331242334231431443132344212441313412214332314342443132422324434222322143212332124122232443224314122441123431344442143224114412323444343333231431132221244424412141232444322431411433333432413244242332113333112133433143443324212133111343333343331322141434423434113311121221341231243433431423413334132242341244111132324313211141232331224423433334341244342341442434313334423213414334431223342142313234323342123312433111434212222133144112211234342214313331214432243433434433132122313332343241324323334311123421221343143111131233114343344343324412143414123244311342234112421242231322143343314321331314334214143233213144321142333331111214112222212323111343222233231242121142231411132114124321143321433243234414343122443331343243214311233233321343411232422223212311241121233322141213432111431244411344313141423132233144342112433223242222332333332112224121331324444431144434132212422431233132432312434113233344321312432442224124131332431433422424342424434432341234222311111432342131223211123332423342422342232431114431213122321342232333323334423222334331121324312331223213312333121344424224313132223143313142243321133324121242221421433224412144343431332323124343414434322341214224323333334344232411223332431432233212224413232412211222341331442331241234333431234141132233113321242133123141300000000001000000000000000012443231142112243212422431142132123411441122111314432431143433341433234241444312114431412300001000000000000000000000000000000000000000000000000000000000000122134233333134434323332433234111241322132243224422231411314132224333114312423332341332223222332141132111113333432444222222141423434321333332233121422123243422121424242341233134233313441233241321313233441414331233113111423113241411312214323332222132223141421233412113341422112312114213133321314232433223334312441434132414324313242422334311143123233213414334244224133112424233233224413433424223143423321233331421113134433223243123222413322332324222314131241441332342113132243223213212433322432424222313211431242322341123412443422322434333324322313343234434321223134442234232322342323342413131221421324441441233234231444112123333343312222433312233234441223122112222434243434334333432323342132223312322123224432323231223323131232321334434212432433234133341432124224143234133131331222223442211342413112123444142114241111121223433132413311444442122431131122134224142122421214331141122244214412113232323412143414143444331431123213213111211342311434411322212124122414312343313342242342412134423432223422412414114112224132334342231233312224114324412121123412111141234324314423132433423343131223323232243131122243111224434243241211241124123231340010000000000000000000000000000000000000000004244342442412423130000000010412122231231100000000000000002434141141412221423241133414232134333114414414442342231211314441122311241411124314134131413231241142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122323131433421222222223341322221434234114231244321224122313443324113234341414422141324223231313414324123114123344243334444234412342311413333214444111142214123224344213233313333123113121413211241243321111231314111421322333331114323233212411341211222332221332223443311322112243344221443332113344434211143411424241124113434313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133314123432313333133332311413141221211341342132424342342212431132312312233442233223343133431232224123233132232131343211432122431312321222421234244314233421221112332223114322333322423323324422233313341434141243144412324123221132321333231444143414241213213242422223133233113 313113331111433234142211224224243221133442423222134121422342114423123112122221232312314234431223334421323114121434333121434123323422242312422343213342124131123113311233124213213314232314424314412133213123211223412312244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144333143312411322244331431112114441223233133433412232312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443233121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311411242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433231432414222441233141433324413442333334321412213414314421233443113334234433324324342121113333224123434141412112113412112324144143214424143233213331212314412211212242424213121444131111234224431243314311131323134414242114212113331121214121333122111112324421112124423412413124443414332321343421212134413223211324132413333344342314331113124134000000000100000000000000000000000000023114423214142312144414231232141144332343214234412413343221213232132121341141123431142411133424442444113333432344223313321231332142311131321211143144144331233323224243223142242111323443223223212322321341313442422134143424434311211221242322433111213313214332312342443112422324434222122143212332344122232343224334134443343331344222222134332224124223424311231122314123422242232123232234111234143213313432213444423132321313112113433143443324212123123341333243331322323434423224113311124213333414231233442423221134334424423431332314344333143344214123442241243342123424342341432432311334223213214222231423324112133224313322223134214344213414342211124112211234142234131131231414121242232431212424413134221221314323112223321221413343343311131213114243324343324412143414123234311122234112421242231423143333314321331314334214131213213424321144333341311434134222142321121343222233231242121142231411132114124321143321433243234414343122443331343243214341233433321343411232422223212311241121233322141213432111431244411344313141423132233144342112433223242222332333332112224121331324444431144434132212422431233132432312434113233344321312432442224124131332431433422424342424434432341234222311111432342131223211123332423342422342232431114431213122321342232333323334423222334331121324312331223213312333121344424224313132223143313142243321133324121242221421433224412144323431332323124343414434322341214224323333334344232411223332431432233212224413232412211222341331442331241234333431334141132233113321224131321123100000000000000100000000000012441232124134413212422223124134321213323344331334231241321413141313142213444412314431432100000000001000000000000000000000000000000000000000000000000000000123132233313134414333112444432111211132332141244244233423133343242332114332421312314214133224334321132111343333432444222222141444412321333132413343122341233244331442222323113332432313412213241341331233241414331433313111123113241441312214323132322113224111221223434113341423414132124233333321314232433223334312141414332312223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342232224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434134321432322342112223412124123224432323214223322213222341314114434432211213121331432324244143234133131331132423212411344413112123444222114222313124442311312212132223141344213123132112142142222113332213323244424244112331314333314341122331212321433221311331333431342311434411322232324124312112141113143421234242334223432243244212414112131222324131432211131112442132142144214211224233421414142334323341111212143321213442223214343122224321242132441424211323312143241320000000100000000000000000000000000000000000003244424222434223310000100000212124233432001000000000000002434333341312443323141331224211132332311414214322133413221314421142311141111122112111131213233243142212312432241442232133333432313241123244422223343322242213212112241144331422133423121323422322412421141433211123444221221344124221424434314131444121224122313443422313412223331244343324243211313214324123114123342243334444214412342231333321414222113342412123224144211333313331111143121413231241243323223432334213211143233121314321412214223213144422334421314413243413322333231324441113334213344414413343411422241124113134313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133334123432313333133332311413141221211341342132424342342212231132312312233442233223343133431232224123233132232131343211432122431312321221421432442314233223121232332223114342333322423323324422233313341434141243144414423321221112133433341444121344241212411211344441131221321 313113411133411412322213214224243221133442423222134121434142114423133112124333232313244234231442114414322241443232142321214341343422242342422343213342121131123113311231124213213344432133221143232141313123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313442144341134224124211313112411133123243442221432342214134134134314323414423244433343232231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341222212233442323222341133323131322423332321334331114132421123213413344144222131333124431322323343131342344221132144231411311222224221324341314312444213121214323133242141412143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232333322222443242232342341421222312332113211333322433144434214333341413222422422323311333112324231223133133313224434412242342124322241112323222312443442131334342143141133122331431141412323214223423243123213243412244333111324324114133221312411444431144314232122441411234241122144214243223441343233213123322133232221322344222213443421134334132222211444434142443221312421333134312134223343332412214211412121141143233131314322344324212233334413431443432231244333412232143334422413441432311313314223413441333124231431214422311323132342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141214211123322114413221444311313311343144443143313331222412231324443331443234313324334212122124214232234214222234113112433131233242132131431241432214222241233121433322413442333334143312413441414421233221124311214433322124342121113333224123434343212132133412131342324431232221121441134123232122234333311222242211342221342333312133214212311143333133411234114211244332113143432143231222133334234242323112431322143324143214132343312443443234213223211324132411313144241344121111142132000000000000010000000000000000000000023114321232133431224414221211141342312443212232434233324221313242132421321343423441142213133424444444114333233344443133321221333142311123321313343324144314231322224243223342242311323441221223213324323443333122412132143224314231211221244322433111313413214332314342443132422324432222322143212332144122232343244134122423143331344222222124332224124223424311231122314123424222232123232234112234143213313432213444423132321313112133433143443324212133113343333243331322121434423424123211124213333434231233432423411334332242321244111132344313211341232331224423433334341444342341442434313334423213414334431223344142313234323342223312433111414212222233144112211234342214313331234432243433434433132424413334343241324323334311121421221343143111131213114243344343324412143414123234311122234112421242231322143333314321331314334214131213213424321142333341311234134222142323121343222232412442143132423312333333124143321141413233332212343322123111343222233243233431343143211232422223232331241133433322341213442111431244211344313141443112233324342114432221232222334133332132224133333344444413144414132212422431233132432312434113233344321312432442224124131332431233423334322424432212343232443333313232322233441233321114341122243322424233234431213122321342232333323334423222332321121142312321421213312133333321442322313132223143313144222321333322141424223423323433434124123211232233313331232432342123232132141111334122113432223432431232213213222413212412211242324331244331223112333433314322314214314133324131143321300000000000100000000000000031443231322332211431422431142132123411441122111314432431143433341413144213422414322433412100000000000000000000000000000001000000000000000000000000000000000123132233313134414333112444432111211132332141244244233413133343242332114332421314314214133224334321132114343311434444222223441443432321211334413143123123243422123442222323113334212311242413141341331233241414331233113111423113241411332214343332222132223141421231412113341422412312114213333321314232433223334312441434332414224343242422124341243321231411434132244222113132212443233222433433423221143423321233331421113134433223243123222413324332324242313411241441334142133312423423223212431342232224222313211431242322241321413443421322414333324322313341234434323223334441234232322342323342413131421421324441441233234231444114123333343312222232332233234441223122112222434223434334423432323342132223312142141323432424214223312213422321311414434432211213131331211322224143234133131113224223444413344413112123444222114222313121223433132413311423141344213121322314144142122411332313343244244214412113232321332343114143444131411123331311131413332133432213224212322322344134113133143222342442133421233223242414414114112224132334342231233312224314344414214211224233443413142333323342111212123323311422132113343344424113324114233421333323322241432120000000000000000000000000000000000000000100003244444424234223310100000000214142231432000000000000100002434333344414221423243143414432134333134414414442342233221314421142311141111122112111131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221434234114231244321224122313443324113234341414422141324223231313414324123114123344243334444234412342311413333214444111142214123224344213233313333123113121413211241243321111231314111421322333331114323233212411341211222332221332223443311322112243344221443332113344434211143411424241124113434313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133334123432313333133332311413141221211341342132424342342212231132312312233442233223323133431232224123233132232131343211432122431312321221421432442314233223121232332223114342333322423323324422233313341434141243144414423321221112133433341444121344241212411211344441131221321 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121131111131331411144313213344432133221143232141313123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342231231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144333143312411322244331431112114441223233133433412232312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443233121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311411242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433231432414222441233141433324413442333334321412213414314421233443113334234433324324342121113333224123434141412112113412112324144143214424143233213331212314412211212244424213121444131111234224431243314311131323134414242114212113331121214321333122111112324421112124423412413124443414332321343421212134413223211324132413333344342314331113124134000000000100000000000000000000000000023114423214142312144414231232141144332343214234412413343221213232132121341141123431142411133424442444113333432344223313321231332142311131321211143144144331233323224243223142242111323443223223212322321341313442422134143424434311211221242322433111213313214332312342443112422324434222122143212332344122232343224334134443343331344222222134332224124223424311231122314123422242232123232234111234143213313432213444423132321313112113433143443324212123123341333243331322323434423224113311124213333414231233442423221134334424423431332314344333143344214123442241243342123424342341432432311334223213214222231423324112133224313322223134214344233414342211124112211234142234131131231414121242232431212122313134221221314323112223321221413343343311131213114243324343324412143414123234311122234112431242231423143333314321331311334214131213213424321144333341311434134222142321121343222232412444143134431411112114324321143321433231334414341322123111343222233243233431343143211232422223232331241333433322341213442111431244211344313141443112233324342114432221232334312333332332224123331324444413144214132212121431233112232312434113233323141312132422221144131332431213422424342242212233223212242311111412342131223211123332423342422342232441212414431344143324212123442142342343332221141124134321421213312133333321442322313132223143313144222321333322143424223423323433434124123211232233313331232432342123432132141111334122113432223432431232213213222413212412211242324331244331223112333433314342314214314133324131343321300000000000100000000000000031443231322332211431422431144132123411441122111314432431143433341431142213442424322431234301000000000000000000000000000000000000000000000000000000000000000122132233313134234334312443432313411132313121224424331421334132222333314312423332341332223222332144113111113331414422431422143443432323213312233121422341233244331442222323113334212311242413123123133233231313121213121224123332233443313224124332344133223111221233232313443142112112124213333321314232433223334314441433332414224343242422124341243321231411434132244222113132212443233222433433423221143423321233331421113134433223243123222413324332324242313131241441334142133312423423223212431342232224222313211431242322241321413443421322414333324322313341234434323223334441234232322342323342413131421421324441441233234231444114123333343312222232332233234441223122112222434223434334423432323342132223312142141323432424214223312213422321311414434432211213131331211322224143234133131113224223444413344413112123444222114222313121223433132413311423141344213121332314144142122411332313343244244214412113232321332343114143444131411123331311131413332133432213324212322322344134113133143222342442133421233223242414414114112224132334342231233312224314344414214211224233443413142333323342111212123323311422132113343344424113324114233421333323322241232120000000000000000000000000000000000000000100003244444424234223310100000000214142231432000000000000100001434333344414221423243143414432134333134414414442342233221314421142311141111122112111131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221434234114231244321224122313443324113234323331224343324224212333434324123114123344243334444234412342311413333214444111142214123224344213311113111111143121413231241243323223432334213221143233121314321412214223213144422334421314413243413322333231324441113334213344414413143411422241112333134313234241123124331342441443413231211221242423332134243422443344324314324324213344343211143144444141112143324213133133321311413143223433341213114242424132212413334212332233424131241341113332432424143233132232131311211433342431314323211421234244314233421221112332223114322333322423323324422233313341434141243144412324131422312131441333134343444241212431442422223133223323 313113331111433234142211223442411241123142421222144121322342114423123112142221232312314234433223331424323111121434333121434323243422242342422343213342121131123113311231124213213344432133221143232141313123211211414334221223324344232221434212432133234222323233122144131313231421423212323114421241312142313232313232212114143442414423113441223112334311233112323323324133244144341134224124211313112411133123243442221432344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141124222333323124423341114323324124222213312124231433223122242344314333114134112131343424422131144312412321443342432444242432134242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431114334431223213133233222232332313312443114214242311313443111333221343322232333322222443242232342341421222312332113211333322433144434214333341413222422422323311333112324231223133133313224434412242342124322241112323222312443442131334342143141133122331431141412323214223423243123213243412244333111324324114133221312411444431144314232122441411234241122144214243223441343233213123322133232221322344222213443421134334132222211444434142443221312421333134312134223343332414214211412121141143233131314322344324212233334413431443432231244333412232143334422413441432311313314223413441333124231231214432311133311322144324221121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211224433131241214131144232242122124214232234232222232113112433131233242132131431231432214232241233121433322413442333312143312213441414421233443113334234233122142341341131131224341434343212132333414132122324441332234121431134121232314412211212244444213121444131131334224431243334311131323434414242114212313131343432143231222133334234221322122421412443324121231112143312443443232213223211324132413333344342314121331142134000000000001000000000000000000000000023114323214143312242412321412421142312443232234412413343221213232132121341141423441142211133424442424113333432344243313321231332142311121321211143144144334233322224243223142242111323443223223213324323443333122412132143224314233211221244322433111313413214332314342443132422324432222322143212332144122232343244134122423143331344222222124332224124223424311231122314123424222232123232234112234143211332112431222223134321133331331413143244314444131313313241241211122121432423422313331344213333434231233432423411334332242321244111132344313211341232331224423433334341442342341442434313334423213414334431223344142313234323342223312433111414212222233144112211234342214313331234432243433434433132122313334343241324323334311121421221343143111131213114243344343324412143414123234311122234112421242231322143333314321331314334214131213213424321142333331311234134224142323122321441412211444143332423332333314122121323341211433312432143322123111343222213343233431343143211232242321413333441133213132323133233331413212211344313123423332233124124112233443232322112333332132224123313344444433144414132212121431233112232312434113233323141312132422221144111332431233423424342424434432341234222313131234124213241233321114341122243322424233234431213122321342232333323334423222332321121124132133431333114341321341424234313133343122131122323321111122141422421223423233414124123211332233313331232432322321234224323333334122113432141313233414213233222233234234431222341331442331241234333431334141132433113321224431323121310000000000000000000000000012441231142114213212444223144134321411443142331314432241321211343411142213444414322431432100000000000000000000000000000000000000000000000000000000100000000223134211313134214333112444432111241322132241244244233423133343242332114334121312314214133224334321132111343311414424231223441444412321333332213143123321233224321422222323233334212311242413123123133233241414331233113111423133241443313214323312344133423111221233412111341422112133124213333321314232433223334314441434332312223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342432224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434134321432322342112223412124123224432323214223322213222341314114434432211213121331432324244143234133131331132423212413344413112123444222114222313141223433132413311444442122431131122134124142142421214331141122242214412113232323312343114143444331431123213211111211131131212243324214344122314112343313343222242444324443432241242212221334112234132334342211233322242132342142214211224233441414142334323342133423343131223323222243131122224121242132441424211323322243241121000000000000000000000000000000000000000000003244444422434221311000000000214142231432000000001000000001434333344422221423241131224231132332311412414442342231411312321324234121411344332134223433431141123423134212223231413313411214131434341441422223343322242413212112241144331422133423323122214241234122323413211143422221441344122423434434114231244321224122313443322113414323414222123322224212333414411323332141312423431322432233142331333333214222113342412123224144211333313331111143121413231241243323223432334213211143233121314321412214223213144234114221334223443413322112233324421443314111314434213143411422241122333431113214443143144313322423123232433233443411231114132423242224122444314424122431222121213122122414133312441324213133133122211413141221211341342132424342342212431132212332221424121241321113332432424143233132232131311211433342431312323212421234244314233421221112332223114322333322423323324422233313341434141243144412324131422312131441331444141313321212431442422223413433323 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422222342442423213342124131123113311233124213213314232314424314412133213123211223412312244214322344232221432233332314234422131423143344113332431223221312121132421143314344313212311234212314143442414423113441243112334311233212323323324133242144341114244124211314112411133123243442221432344214131244134334323414423244443343232231331441342312422422421423112111233141122131114343421133441244233121334221144223224322423314233343222212231442323422311333323131442323332321334313114132421123213411141244222331323124433322323343131342344221132144231411321222224221324343314312444211121214323133244111312343413222232442242432124244224134223231213311143444414313232214333423142112234113213413322414413323222142224111211433331323242234441122414124112111234411122324343411314112122434234133341344441331343333232441432132231344231122134122331123233331432423113422241233424331412314243141244233233123444311343113331434423141343323231131314112123144321133132243243112342211134223234413113242133133322144313141312213144244134431114134441223213133434412232332313312341114234444311313441114333431343322232232322212343242232332323421222112332113211333322433144434214333341413222122222323331333112324231223111132331442234412122342144224241314321422114421444131314112113241313122341411141212331114223421213323211443432242133134324324334231443231233444133314314312122443131434244242314414442421241343233213323122132232211322344442213243421134314134424231434434122443221312421333134342134223343332412214211412141141113213431334122344314212233334414411423212433424333412232143311442343233114133412131411341121422311211212334432311323311322144324221311114211111431242121234124132243443421313432443313434413222133134323233224132323321412211123322112413221444311313311343124244143313331222422211324433331413234133324334212122322134214234214222212331134213112111221132133433241432414222243233121231322413442333334321412213414414221233221124311214421322124342121311131442123222343234132133112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212312331141214121233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144334233322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213333434231233442424411134332224423431332314144333143344414123442241243342121444424331434412331222243213214224231223324112133224313322224134214344233412222233342312231314122214131131231414121242232431212424413134221221314323312223321221413343343111131213114243324343324412143214123234311122234112431242231323143333314321331314334214131213213424321144313343311234134222142323121343222232412442143132223312333333124143321141413233332212343322123111343222213343233431343143211232242321413333441133213132323133233331413212211344313123423332233124124112433443232322112333332132224123313344444413144214132212122431233132432312434113233323141312132442221322231131231413422424342424432212343232443333313232322233441233321114341122243322424233234431213122321342232333323334423222332321121142312321421213312133333321442322313132223143313144222321333322121242221421433223412144323431332333323141232432122321232132323333334322113431223432431232213213122233234212233242141333224311421112133431212122312214314133324133123121300000001000000000000000000012443431142334211412224223342114341411443142333314412243343413321411234241442414314431432300000000000100000000000000000000000000000000000000000000000000000123112231313144214333112243434111243322333141224422231411314132224313114212423332311332223224222321132311113233414422431422141443432241313332233121122341233244331442222323113332432313412213241341331233241414331233113111423333341443313214323312344133423114231233234113443142112112124213333321314232433243334312141134332312223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342232224222312211431442322241343413443422322434331442144231431214234123222134441234332323342323322413131421221323443231133232231244314123433323312222232332233234431223122112222434243434333323432323342132223312122121243432423214223312213222321314414434432211213131331212322324143234133131113224223442413342413132343444222114222313141223433332432332223141344213121322114144142122411332313343244244214412113232323312343114143444331431123213211111211132131212243324214344122314132143113113222242444324443432241242212221334112234132334342211233322242132342142214211224233441414142334323342133423343131223323222243131122224121242132441424211323322243241321000000000000000000000000000000000000000000003244444422434221311000000000214142231432000000001000000001434333344422221423241131224231132332311412414442342231411312321324214121411344332134223413431141123423134212223231413313411214131434341441422223343322242413212112241144331422133423323122214241234122323413211143422221441344122423424432334121442313412144121221422313234341434422141324223231113414324123114123344241334444234412342311413333214444111142214123224344213333313331111143121413231241243323223432334213211143233121314321412214223213144222332221334223441431322332231324421143334223344414413143411422241112333114313234241123124331342441443232433233443411231114132423242224122444314424122431222121211143144444141112141324232111412122211211143223433341213114242424132212413334224332233424131241323413331231242443233133212131441231432344211412323212441232442314233223121232332143121324133322221123334422442131321442421241232214343323221132321333231444143414243212413242322223133433323 313111331111433232144221224244211221123442423222144121322341214423123112142221232312314234433223334424323111121434333121434323343422222344322343213342121131123113311231124213213344432133221143232141213121213211414334444423324332232213222412432133224222133423143344113332431243223212121132421143314342333432311212112314143413414443113141243112134311233112323323324131212144443134222344411143112411123323243224421212344212134134134314323414443244433342231131231441312312422423441423132111233143112131314343421233222414233121312242141411224342423314233321241223231224343422341141121131442333332321334331134212421123243413141224222331323124431122323143131342344221132124231411223122242344314333114134112213121214323333242141412143213242232442242232124244224134223231214311143444414313232214333423142112234113213213122412213323222142224111211413331323242234441122414324112111234411122344343411314112122434234133341342441331343333232441412132233344231122134122331123233331432423113422241233444331412314243141244233233143432111343133331412321141323323231131312112123124321423132323223212142213134223224211223231131123342224333143312411322244111431112112441221113133433412212312213132341114234442311313441114333421343322332212322222444242133332321421222122332313211133322413144434214331121413222124422121313333114323432221333132311444233412222342344322241332321422334443444111334144141141333342131231143412423234423423241121413241413224313111144124134131221312413424411114114213114211111233414142144214242423243141233233323322133232211322344442213243421134313134424231434434122443221312421333134312134223143332412214411412141141143213131334324444124412433334414431423432231244133412232143434421413441432311313314223413441333124233431214422311323112342144322221121114211111431142121214324132443443421313432243213134413222131142321221312432321141232234243123332232213444311232111141124423321113333334422211222433131241214131342232242122124214232234214222212331134213112111221132133433241422412222221231121433322413444423112321422221341432241432221324111432433322124132123113343224123434343212132133412331342324431232221121441134123232122234333311222242211342221342333312133214412311143333123411234114211244332113143432143231222133334232421112124423414411124421231114143312443443232231441431342332411311123341342121331344114100000000000000000000000000000000000023114323214143312242414221211141342312443212232434233324221313242112421321343423441142213133424444444114333233334443133321221133142311123321313343324144314231322224243223342242331323441221223213324323411333143222222331242334231431443132344212441313412214332314342443132422324434222322143212332124122232443224314122441123431344442143224114412323444343333231431132221244424412141232444322431411433333432413244242332113333112133433143443324212133111343333343331322141434423434113311121221341231243433431423413334132242341244111132324313211141232331224423433334341244342341442434313334423213414334431223342142313234323342123312433111434212222133144112211234342214313331214432243433434433132122313334343241324323334311123421221343143111131233114343344343324412143414123244311342234112421242231322143343314321331314334214143233213144321142333331111214112222212323111343222233231242121142231411132114124321143321433243234414343122443331343243214311233233321343411232422223212311241121233322141213432111431244411344313141423132233144342112433223242222332333332112224121331324444431144434132212422431233132432312434113233344321312432442224124131332431433422424342424434432341234222311111432342131223211123332423342422342232431114431213142321342232333323334423222334331121324312331223213312333121344424224313132223143313142243321133324121242221421433224412144343431332323124343414434322341214224323333334344232411223332431432233212224413232412211222341331442331241234333431234141132233113321242133123141300000000001000000000000000012443231142112243212422431142132123411441122111314432431143433341433234241444312114431412300001000000000000000000000000000000000000000000000000000000000000122134233333134434323332433234111241322132243224422231411314132224333114312423332341332223222332141132111113333432444222222141423434321333332233121422123243422121424242341233134233313441233241321313233441414331233113111423113241411312214323332222132223141421233412113341422112312114213133321314232433223334312441434132414324313242422334311143123233213414334244224133112424233233224413433424223143423321233331421113134433223243123222413322332324222314131241441332342113132243223213212433322432424222313211431242322341123412443422322434333324322313343234434321223134442234232322342323342413131221421324441441233234231444112123333343312222433312233234441223122112222434243434334333432323342132223312322123224432323231223323131232321334434212432433234133341432124224143234133131331222223442211342413112123444142114241111121223433132413311444442122431131122134224142122421214331141122244214412113232323412143414143444331431123213213111211342311434411322212124122414312343313142242342412134423432223422412414114112224132334342231233312224114324412121123412111141234324314423132433423343131223323222243131122243111224434243241211241124123231340010000000000000000000000000000000000000000004244342442412423130000000010412122231231100000000000000002434141141412221423241133414232134333114414414442342231211314441122311241411124314134131413231241142212312432241442232133333432313241123244424221343322244213212112221144131442133423121323422322412421121433211123442222223321322221434434114231244321224122321223422113212223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211233313333111413121333231241242223221432314131221122333323114321432214211241211222332221334413243311322112233344421443334113344434241343411422241124113114313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133334123432313333133332311413141221211341342132424342342222231132312312233442233223343133431232224123233132232131343211432122431312321221421432442314233223121232332143121324133322221123334422442131321442421241232214343323221132321333231444141313323212431442422223413433323 313113411133211412322213214224243221133442433222134121434142114423123112124333232313244334433223331424123111121434333123434323343422242342422343213342124131123113311231124213213344432133221143232141313123211211414334244223324344232421432233332314234222131423143342113332413223223212121132421223314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213411322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244114431112114441223233133434412212332313312443114214242311313443111333221343322232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323112342144322221121114211111231142141214124132223443421313432423333434411242131142311221322432341141214211123322114413221444311313311343144443143313331222412231324443331443234131344332242124124214232234214122212331134213112111221122133433241432414222441233141433324413442333334321412213414314421233443113334234433324324342121113333224123434141412112113412112324144143214424143233213331212314412211212244424213121444131111234224431243314311131333434414242114212332331143434343231211133334234242322312431312143312143214132343312443443234213223211324132411313144241344121111142132000000000000010000000000000000000000023114321232133431222414221211141342312443212232434233324221313242132421321343423441142213133424444444114333233344443133321221333142311123321313341324144314231322224243223342242311323441221223213324323443333122412132143224312233211221244322433111313413214332314342443132422324432222322143212332144122232343244134122423143331344222222124332224124223424311231122314123424222232123232234112234143213313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213333434231233442424411134332224423431332314144333143344214123442241243342121444424331434412331222243213214224231223324112133224313322224134214344213412222233342312231314122214131131231414121242232431212424413132221221314323112223321221413343343111131213114243324343324412143214123234311122234112421242231323143333314321331314334214131213213424321144333341311234134222142323121343222232412442143132423312333333124143321141413233332212343322123111343222233243233431343143211232422223232331241333433322341213442111431244211344313141443112233324342114432221232334312333332332224123331324444413144414132212121431233112232312434113233323141312132422221144131132431213422424342242212233223212242311111412342131223211123332423342422342232441212414431324143324212123442142342343332221141124134321421213312133333321442322313132223143313144222321333322143424223423323433434124123211232233313331232432342123432132141111334122113432223432431232213213222413212412211242324331244331223112333433314322314214314133324131343321300000000000100000000000000031443231322332211431422431142132123411441122111314432431143433341431142213442424322431234301000000000000000000000000000000000000000000000000000000000000000122132233313134234334312443432313411132313121224424331411334132222333314312423332341332223222332144113111113331414422431422143443432323213312233121422341233244331442222323113334212311242413123123133233231313121213121224123332233443333224124332344133223111221233232313443142112112124213333321314232433223334314441433332414224343242422124341243321231411434142244222113132212443233222433433423221143423321233331421113134433223243123222413324332324242313431241441334142133312423423223212431342232224222313211431242322241321413443421322414333324322313341234434323223334441234232322342323342413131421421324441441233234231444114123333343312222232332233234441223122112222434223434334423432323342132223312142141323432424214223312213422321311414434432211213131331211322224143234133131113224223444413344413112123444222114222313121223433132413311423141344213121322314144142122411332313343244244214412113232321332343114143444131411123331311131413332133432213224212322322344134113133143222342442133421233223242414414114112224132334342231233312224314344414214211224233443413142333323342111212123323311422132113343344424113324114233424333323322241432120000000000000000000000000000000000000000100003244444424234223310100000000214142231432000000000000100001434333344414221423243143414432134333134414414442342233221314421142311141111122112111131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221434234114231244321224122313443324113234341414422141324223231313414324123114123344243334444234412342311413333214444111142214123224344213211113111111143121413231241243323223432334213221143233121314321412214223213144222332221334413243311322112233344421443334113344434241343411422241124113114313234241123124331342441443232433233443411231114132423242224122444314424122431222121211143144444141112141324232111412122211211143223433341213114242424132212413334224332233424131241323413331231242443233133212131441231432344211412323212441232442314233223121232332143121324133322221123334422442131321442421241232214324131422312131441333134343413341213213242422223133233113 313113331111433234142211224444211221123442223212142121322342134423323112142221232312314234211222134224312141423432132341212323343422242342422343213342121131123113311231124213213144432133221143232141313123211211414334244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221223342413112333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243132342211134223234433113242133133324144313141312431322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233112123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323112342144322223321114211111231142141214124132223443421313432423333434411242131142311221322432341141214211123322114413221444311313311343144443143313331222412231324441331443234131344332242124124214232234214222212331134213112111221122133433241434414224241243221433322413442333312143312213441412241432221124111432433322124132121111131442123222343234132133412132322324441232234121433134123232314232333231422244213121444342133314133231213311341331323431214242211242332113143434323233222131332234242322312431312113124443414332321343421212232413223211322132413333344342344131331144112000000000000000000000000010000000000023331321232143431244414231232441142312441234232112411123422332432332113123141413441122233341224322242114112232344443113143221332422333223121211143123141314233332224243224122223313423321433231233122123441333143222222331242314231431443132344212441333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213333434231233442424411134332224423431332314144333143344214123442241243342121444424331434412331222243213214224231223324112133224313322224134214344213412222233342312231314122214131131231414121242232431212424413134221221314323112223321221413343343111131213114343324343324412143214123234311122234112431242231323343333314321331314334214131213213424321144333341311234134222142323121343222232412442143132423312333333124143321141413233332212343142443332321443214313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144414132212121431233112432312434113233323141312132422221144131332431433423334324442212233223212242311111432342131223211123332423342422342232441212414431344143324212123442142342343332221141122134333431331334341331141222222311333322322331122223121133342321422241423322233414144324212311323123343434432322341214224323333314342233431121313233414213233222233234214433244341333224333421112131233312141132233113323224131323121100000100000000000000000000012241441142134213212424223342134341411443142333314412243343413323433234243442414314431434300000000000000000000000000000000001000000000000000000000000000000122132233313144214323332233234111241322133141224424231411334132222333314312423332341332223222332144133111113331414422431422141444412321333132413141143123243422123442222323113334212311242413123123133233231313121213121224123332233443333224124332344133223111221233232113443142112112124213333321314232433223334314441433332414224113242422124311143121231211212132244222134112424443233234433231423423121423321113331432131334433221423123222413324332324222313131241441334342133311423423223212431342232224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114123433323312222232332431214441223122112222414243434333323432323342132223312122121243432423214223312213222321314414434432211213131331212322324143234133131113224223442433344413112123444222114222313124442311312212132223141344213123122112142142222113332213323244424244412331314333314341122331212321433221311331333431342311434411322232324124312112141113343421234242334223432243244212414112431422324134432211131112442132142144214211224233441414342334323341111212143321213422223214343322224321242132441424211323312143241320000000100000000000000000000000000000000000003244424222434223310000100000212124233432001000000000000002434333341312443323141331224211132332311414214322133413221314421142311141111122112131131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221432234114231244321224122313443422313234223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211211113111121113121413211241243343211232314111221322333321114321432212411241241234114221332223443311322112243344221443332113344434211143411424241124113434113233441143144331342441441413231111221242423332134244422443344324314324324213342343211142122214133334143432313333133121231433331411213331343312422424132412413132312134233424123241323113332432424443233132232131341211432342431312323211421234442314233223221212322143121324333322221123334422233313341434121243244414323321221112131433343134343314243212413242322223133433323 131143331111433234142211124442411221123442423212144121322342114423123312342221432332311234231442134414322241443232142321214341343222422342422343213342321331123113311231124213213344432133221143232331213323213211414334444214322244232221432233333314234214323421143344113332431223223214121132223143314342333234331412114341141412414421331131241312312313211134221344242313242112443133222344444343434233121342214242421412344214131134134314323214443222443322431231332441342312422422421423112111233141122131114343421133441242411121132242141421224342423314233241222212233442323224341333323131444323332321334331114132421123213213141224222333323122423341114323324124222213312124231431223122242344314333114134112131323424423131244112314321443221232442242431334234224134223221214314113444414113212234132143442312234113213413322414413323222132444111311433333343242234421122412123112131244431124124141234333114222332234113111144231333332132232443432124111322233122132324321221232343432223141222241333344331412314443141244233233144432111343133331412321141343323231131312112123124321423132223243212344211134221234413112242133133322144311121433213142424134131114134441223211233433412232312313132341114234442311314441114333421343322232212322222443242132332321421222312332113211333322433144434214333341413422122432323331313112324231223131132331442234412123142124322241312323222312443444131334342143141333122331431141412331214223221213323211443432242133314324324334231443231233444433314314312122413431434244242114414442421241343233213323322333232323323322422213243421232114332224431444414124424223111121313132141334221323334434444213412124341113213431334322344314212233334414431443412413424333412244311411422413441432311313311223413441333324231212332432113323111241344422221121114211111431142121214124132223443421313432443313434411222111142321221312432321141234111223323132213213444311312313121121423121113331322422411324233143443214131144232242122124214232234214222212331134213112111221122133433231432414222241233121433322413442333334143312413341414421233221124311212433322124132123113343224123434343212132133412331342324431232221121441134123232122214333311222242211342221342333312133214412311143333133411234114211244332113141432143231222333334232421112124423414411124443214132343312243443214231421231322332413313123331342121331144134000000000000000000000001000000000000023114343214142312142412231412423112134413234212432213324442333232132113123141413441122233341224322242114112232344243113143221332422333223121211123143444114413222143133323322123313423321433231233122123441133142222222331242314331211221242322433113313313214332312342441112422324434222322143212432344122232333224334122441124443344242143224114222343444343333231431132221244424434241242433322421113213313432213444423132321313112113433143443324212133123343333243331322121434423424113211124121343234231233442223411114132242321244111132344313211341232331224423433334341424424133232332333332223131434224213214124442333334111124243332434314413432222233344132232314142214313331214432243433434433132122313334343241314323334311121421221343143111131233114343144343324412143414123244311122234112421242231322143333314321311314334214131213213424321144333341311214134222214323121343222232412444343132431411132114324321143321433231334414343122123111343222213243233431343143211232422223232331241133433322341213432111431244231344313141443112233324342114432221232222334133332132224133333344444213144414132212121431233112432312434113233123141312132442211324133111211433423334324242212233223232242311111432342131223211323332423342422342232441112414231344143324212123442142342323332221141122134333431331334341331141222222311333322322333122223121133122321422241423322233414144324212311323123343434432322341214224323333334342233431121313233414213233222233234214233242341333224333421112131233312141132233113333224131323121100000010000000000000000000012241441142134213212424223342134341411443142333314412243323413323433234243442414314431432300000000000000010000000000000000000000000000000000000000000000000123112231313344214333112243434111243322333141224422231411334132224333114312423332341332223222332144113111113331414442431422141423434321333132413141143123243422123424244341233134233313441233241321313233441414331433313111123113241441312214323132322113224111221233412113341423414132124233333321314232413223334342141414332414324313242422334311143123233213434334244224133114424243233224433231424223141443321213311432131334431223443133222413142312124222313133241431134342133312421223223212413322432224242313211431242122341143412441422422434331442144233431214234123223134441214232322342323322413131421221323443231133414411244114143423323314222232132233434441222142122422434241434314323232323442134223312322123224432323214223322213224321314414234432213213331331432324224143234133131333132423212213112413134341424222114222313141223433132413311423141344213121332314144142122411332313343244244214112113232321332343114143444131411123331311131413332133432213224212322322344134313133142242342442134423432223242412414114112224132334342211233322242132342142214211224233441414142334323342133423343131223323222243131122224121242132441424211241124141231120000000000000000000000000000010000000000000003244442422434221310100000000214142231432000000000000001001434333344414221423241143414411312132314332431444342231213214423122311121411324312114223413411141123423134212223231413313333432313241123244432441131134312231334434343323313224311243123122214222414122343131433421222222223341322241434434114233244313212144121223422113234341414422141324223231313414324123114123344241334444234412342311413333214444111142214123224344211333313333111113121413231241243323211232314111221322333321114321432212411241241222332421314223243413322333231324421113334223344414413143411422241124113434113233441143124331342441443232433233443411231114132423242224122444314424122431222321211142122214133334123432313333133332311413141221211341342132424342342212231132312312233442231223343133431232224123233132232131343211432122431312321221421432442314233223121232332241121324133322221123334422232131321234421241132214323321221112131433243134143314241432411242422223133233113 313113411133411412322213214224243221133442433222134121434142114423123112124333232313244334433223331424123111121434333123434323343422242342422343211141124131121131131431124333223312432334424344432133344123211211414334221223324344232221434212432133234222323233122144131313231421423212323114421241312142313232313232112114143442414423113441223112334311233112323323324133442144341134224124211313112411133123243442221432342214134134134314323414423244433343232231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341222212233442323222341133323131322423332321334331114132421123213413344144222133323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112111234414322324341211113114141322234333313144241111143132232423432124111322233122134122331223232343432423111424223223424232414414223111224233232123444311343113331434423141343323231131314112123144321133132243243112342211134223234413113242133133322144313141312213144244134431114134441223213133434412232332313312341114234444311313441114333421343322214233322422413242232132321221222122432113211332142233144414214333321213242122422323311333112324231223133132331444234412222342144322241312321422314423444131334112141141333122331431141412323234223423243123213243412244333111324324134131223312413444431114314212122411111234244122344214242423241343233213123322133232221322344222213243421134314132224431444414124444223111121333132141334221323332434414213412124143141212111231322344322212223332424231141412433424333232242143334422413441432311313311223413441333124231212332432113323111241144422221121311231331431112123214124432223443421313432443313434411222131142321221312432321141214211123322112413221444311313311341124423143313331222422211324433331413234131342232242122124214232234214222212331134213112111221132133433241422412222221231121433322413444423112321422221341432241432221324111432433322124132123113343224123434343212132133412331342324431232221121441134123232122234333311222242211342221342333312133214412311143333133411234114211244332113143432143231222133334232421112124423414411124421231114143312443443232231441431344332411311123341342121331344114100000000000000000000000000000000000023114323214143312242414221211141342312443212232434233324221313242112421321343423441142213133424444444114333233334443133321221133142311123321313343324144314231322224243223342242331323441221223213324323411333143222222331242334231431443132344212441313412214332314342443132422324434222322143212332124122232443224314122441123431344442143224114412323444343333231431132221244424412141232444322431411433333432413244242332113333112133433143443324212133111343333343331322141434423434113311121221341231243433431423413334132242341244111132324313211141232331224423433334341244342341442434313334423213414334431223342142313234323342123312433111434212222133144112211234342214313331214432243433434433132122313332343241324323334311123421221343143111131233114243344343324412143414123244311342234112431242231322143343314321331314334214143233213144321142333331111214112222212323111343222233231242121142231411132114124321143321433243234414343122443331343243214311233233321343411232422223212311241121233322141213432111431244411344313141423132233144342112433223242222332333332112224121331324444431144434132212422431233132432312434113233344321312432442224124131332431433422424342424434432341234222311111432342131223211123332423342422342232431114431213122321342232333323334423222334331121324312331223213312333121344424224313132223143313142243321133324121242221421433224412144343431332323124343414434322341214224323333334344232411223332431432233212224413232412211222341331442331241234333431234141132233113321242133123141300000000001000000000000000012443231142112243212422431142132123411441122111314432431143433341433234241444312114431412300001000000000000000000000000000000000000000000000000000000000000122134233333134434323332433234111241322132243224422231411314132224333114312423332341332223222332141132111113333432444222222141423434321333332233121422123243422121424242341233134233313441233241321313233441414331233113111423113241411312214323332222132223141421233412113341422112312114213133321314232433223334312441434132414324313242422334311143123233213414334244224133112424233233224413433424223143423321233331421113134433223243123222413322332324222314131241441332342113132243223213212433322432424222313211431242322341123412443422322434333324322313343234434321223134442234232322342323342413131221421324441441233234231444112123333343312222433312233234441223122112222434243434134321432322342132223412124123224432323214223322213222341314114434432211213121331432324244143234133131331124223442231342413134341342143312221331324442311312212132223141344213123122112142142222113332213323244444244112331314333314341122331212321433221311331333431342311434411322232324124312112143133142242342442134423432223422412414114112224132334342231233312224114324412121123412111141234342334323341111212143321213422223214343322224321242132441424333323322241432120000000000000000000000000100000000000000000003244342442432441310000000010234142213231010000000000000002434333341312221411141331221231312332314332431442343413221314421142311141111122112111131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221432234114231244321224322313423324113234341414422141324223231313414324123114123344243334444234412342311413333214444111142214123224344213213313331111143121413231241243323211232314111221322333321114323432212411241241222332221334413243311322112233344421443334113344434241343411422241124113114313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133314123432313333133332311413141221211341342132424342342212231132312312233442233223343133431232224123233132232131343211432122431312321221421432442314233223121232332143121324133322221123334422442131321442421241232214343323221132321333231444143414243212413242322223133433323 313113331111433234142211223442411241123142421222144121322342114423123112142221232312314232433223331424323111121434333121434323243422242342422343211141124131121113311233124213213314232314424314412133213123211223412312244423324332232213222412432133224222133423143344113332431243223212121132421143314342333432311212112314143413414343113141243112134311233112323323324131212144443134222344411143112411123323243224421212344212134134134314323414443244443342231131231441312312422423441423112111233141122131114343412233222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113211433322414413323224142444131311431331323442234441222414114112111234411122324343411314112122434234133341344443331343333232441412132233344231122134122331123233331232423113422241233444331412314243141244233233143432111343131131412321141343323233131312112123144322133131223243214142213134323234211223231131123342244333143312411322244331431112114441223233133433412232332313112443114114442311313441114333421344141232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443233121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311411242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232413444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433241432414224441233121433144413442333334321422221341432241432221324111432433322124132123113343224123434343212132133444331342324431232221121441134123232314412211212244444233121444331131334224431243314311131323434414242114212332331143434143231211133334234242322312431312143312143214132343312443443234213223211322132411313144341344121111142132000000000000010000000000000000000000023114321232133431224414221211141342312443212232434233324221313242132421321343423441142213133424444444114333233344443133321221333142311123321313343324144314231322224243223342242311323441221223213324323443333122412132143224314233211221244322433111313413214332314342443132422324432222322143212332144122232343244134122423143331344222222124332224124223424311231122314123424222232123232234112234143211332112431222223134321133331331413143244314444131313313241241211122121432423422313331344213433234231233442223411114132242321244111132344313211341232331224423433334343444342341442434313334423213414334431223344142313234323342223312433111434212222233144112211234342214313331234432243433434433132122313334343241324323334311121421221343143111131213114343344343324412143414123234311122234112431242231322143333314321331314334214131213213424321142332341311434134222142321121343222232412444143134431411132114324321143321433231334414341322123111343222233243233431343143211232422223232331241333433322341213442111431244211344313141443112233324342114432221232334312333332332224123331324444413144414132212121431233112232312434113233323141312132422221144131332431413422424342242212233223212242311111412342131223211123332423342422342232441212414431344143324212123442142342343332221141124134321421213312133333321442322313132223143313144222321333322143424223423323433434124123211232233313331232432342123432132141111334122113432223432431232213213222413212412211242324331244331223112333433314322314214314133324131343321300000000000100000000000000031443231322332211431422431142132123411441122111314432431143433341431142213442424322431234301000000000000000000000000000000000000000000000000000000000000000122132233313134234334312443432313411132313121224424331411334132222333314312423332341332223222332144113111113331414422431422143443432323213312233121422341233244331442222323113334212311242413123123133233231313121213121224123332233443333224124332344133223111221233232113443142112112124213333321314232433223334314441433332414224343242422124341243321231411434132244222113132212443233222433433423221143423321233331421113134433223243123222413324332324242313431241441334142133312423423223212431342232224222313211431242322241321413443421322414333324322313341234434323223334441234232322342323342413131421421324441441233234231444114123333343312222232332233234441223122112222434223434334423432323342132223312142141323432424214223312213422321311414434432211213131331211322224143234133131113224223444413344413112123444222114222313121223433132413311423141344213121322314144142122411332313343244244214412113232321332343114143444131411123331311131413332133432213224212322322344134113133143222342442133421233223242414414114112224132334342231233312224314344414214211224233443413142333323342111212123323311422132113343344424113324114233421333323322241232120000000000000000000000000000000000000000100003244444424234223310100000000214142231432000000000000100001434333344414221423243143414432134333134414414442342233221314421142311141111122112111131213233243142212312432241442232133333432313241123244432441131134312231334434343323313224311241123122214222414122343131433421222222223341322221434234114231244321224122313443422311234341414422141124223231113414324123114123344241334444234412342311413333214444111142214123224344213313313333111113321413231241243323223432314211221143233121314321412214223213144222332221334413243311322112233344421443334113344434241343411422241124113114313234241123124331342441443413231211221242423332134243422443344324314324324213344343211142122214133334123432313333133332311413141221211341342132424342342222231132312312233442221223343133431232224123233132232131343211432122431312321221421432442314233223121232332143121324133322221123334422442131321442421241232214343323221132321333243134343314243212413242322223133433323 313113331111433234142211223442411241133442423222134121434142114422123112124333232313244234431223334421323114121434333121434123323422222342442423213342124131123113311233124213213314232314424314412133213123211223412312244214322244232221432412432333432222133423143342113332413223223212121132421123314342313232313232112314143442414421331131241312312313211134221344242313242112443134222344444343434233221342214242421412344214131134134314323414243224443342431231331441312312422423421423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323124423341114323324124222213312124231433223122242344314333114134112131323424422131144312412321441222223422222431334244224142223233413111311144444313212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311411242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323234234243123332232213444311232111141124423321113333332422211224433131241214131144232242122124214232234414222212331134213112111221132133433241432414324241433121423322413442333334143312413441432443213443113334234233122142341341131131224341434343214132133412331342324431232221121441134123232122234333311222242211342221342333312133214212311143333133411234114211244332113143432143231222133334234242323112431322143324143214132343312443443214231421231322332413313123331344121331142334000000000000000000000000000000001000023314321134433431222442321412421112332443234434112411123422332432332113123121423441142213133424442444114333232344444113321221332142211121323211141124121314233332224243224142242111323441223223213322123443333142422132143224314233231441142344212111331413214214312342423132422144214422332133231314124122232343224134122441123431342242143224332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213333434231233442424411134332224423431332314144333143344414123442241243342121444424331434412331222243213214224231223324112133224313322224134214344213412222233342312231314122214313331214432243433434433132122313334343341324323334311121421221343143111131213114243344343324412143414123234311122234112431242231322343333314321331314334214131213213424321142333341311234134222142323121343222232412442143132431411132114134321143321433233334414323142443332321443414313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332332333312132224323131224444413144414132212121431233112232312434113233323141312132422221144131332431433422424342242212233223212242311111412342131223211123332423342422342232441212414431344143324212123442142342343332221141124134321421213312133333321442322313132223143313144222321333322143424223423323433434124123211232233313331232432342123432132141111334122113432223432431232213213222413212412211242324331244331223112333433314322314214314133324131343321300000000000100000000000000031443231322332211431422431142132123411441122111314432431143433341431142213442424322431234301000000000000000000000000000000000000000000000000000000000000000122132233313134234334312443432313411132313121224424331411334132222333314312423332341332223222332144113111113331414422431422143443432323213312233121422341233244331442222323113334212311242413123123133233231313121213121224123332233443333224124332344133223111221233232113443142112112124213333321314232433223334314441433332414224343242422124341243321231411434132244222113132212443233222433433423221143423321233331421113134433223243123222413324332324242313431241441334142133312423423223212431342232224222313211431242322241321413443421322414333324322313341234434323223334441234232322342323342413131421421324441441233234231444114123333343312222232332233234441223122112222434223434334423432323342132223312142141323432424214223312213422321311414434432211213131331211322224143234133131113224223444413344413112123444222114222313121223433132413311423141344213121322314144142122411332313343244244214412113232321332343114143444131411123331311131413332133432213224212322322344134113133143222342442133421233223242414414114112224132334342231233312224314344414214211224233443413142333323342111212123323311422132113343344424113324114233421333323322241431120000000000000000000000000000000000000000100003244444424434223310100000000214142231432000000000000100002434333344414221423243143414432134333134414414442342231411312321324234121411344332134223413431141123423134212223231413313411214131434341441422223343322242413212112241144331422133423323122214241234122323413211143422221441344122423424432334121442313412144121221422313234341414422141324223231113414324123114123344241334444234412342311413333214444111142214123224344213333313331111143121413231241243323223432334213211143233121314321412214223213144222332221334413243311322112233344421443334113344434241343411422241124113134313234241123124331342441443232433233443411231114132423242224122444314424122431222121211143144444141112141324232111412122211211143223433341213114242424132212413334224332233424131241323413331231242443233133212131441231432344211412323212441232442314233223121232332143121324133342221123334422232131321434421241232214343323222312131441343134343314241213213242422223133233113 313113411133211412322213214224243221133442433222134121434142114423123112124333232313244334433223331424123111121434333123434323343422242342422343213342124131123113311231124213213344432133221143232141313123211211414334244223324344232421432233332314234222131423122144131313231421443212321114421241312142333432311212112314143412414423113441243112334311233112323323324131244144443434222144411143112411123323243224421212344212134134134314123414443224433342231231231441312312422423441423132111233141112131114343421233222412413121112242141411224342423314233321241223231224343422341141121131442333332321334331134233221323313411141224222331323124423341114323324124222213312124231433223122242344314333114134112131343424422131144312412321443342432444242432124242224334223231214331111124412333212232312423443112234113213413322414433323222332444111311433331123242234441122412123112332434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422331412313243111242231233123444311343113331434423141343123231131314112123144321133112223243112342211134223234433113242133133324144313141312411322244111431112112441221113133433412212312213134443114212242313313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443243121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311434242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214232214414222212331134213112111221132133433241432414222243233121231322413442333334321412213414414221233221124311214421322124342121311131442123222343234132333142132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212313331141214121233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144334233322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213333434231233442424411134332224423431332314144333143344414123442241243342123444424331434412331222243213214224231223324112133224313322224134214344213412222233342312231314122214131131231414121242232431212424413134221221314323112223321221413343343111131213114243324343324412143214123234311122234112431242212322123343314331431314334214143213213424321142433341311434134222142321121343222232412444143132431411132114324321143321433231334414341322123111343222213243233431343143211232422223232331241133433322341213442111431244211344313141443112233324342114432221232222314133332132224133313344444413144414132212121431233132432332434113233323141312132444221324131131213233423424342424434432341234222211111432342131223211123332423342423342232441112414431344143324212123442142342343332221141124134321421213312133333321442322313132223143313144222321333322141424223423323433434124123211232233313331232432342123232132141111334122113432221313233414213233222233234214433244341333222333421112131233312141132233113323224133323121300001000000000000000000000012241441142134213212424223342134341411443142333314412243343413323433234243442414314431432300000000000100000000000000000000000000000000000000000000000000000123112231313144214333112243434111243322333141224422233411334132222333314312423332341332223222332144133111113331414422431422141444412323213312233121422321431224321222422223233332432313412213241341331233241414331233113111423113241411312214343332222132243141421231412113341422412312114213333321314232433223334312441434332312223311311224122313143121231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342432224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434134321432322342132223412124123224432323214223322213222341314114434432211213121331432324244143234133131333224223442413344413112123444222114222313124442311312212132223141344213123122112142142222113332213323244424244112331314333314341122331212321433221311331333431342311434411322232324124312112143113143421234242334223432243244212414112131222324134432211131112442132142144214211224233421414142334323341111212143321213442223214343322224321242132441424211323312143242320000100000000000000000000000000000000000000003244424222234223310000100000212122213231010000000000000001434333341312221411141331221231312332314332431442342231411312321324234121411344334134223413431141123423134212223231413313311214131434321441222223343322242413212112241144331422133423323122214241234122323413211143422221441344122423424432334121442313412144121223422311434321434222123322224212333414411323332141312423431322432233142331333333214222113342412123224144211233313331111413121333231241242223221432314131221122333323114321432214223213144422334421314413243413322333231324441113334223344414413141243222443324133114113233441143144331342441441413231111221242423332134244422443344324314324324213342343211142122214133334143432313333133121231433331411213331343312422424132412413132312134233424121241323113332432424443233132232131341211432342431312323211421232442314233223121232332223114342333322423323324422233313341434141243144414423321221112133433341444121344241212411211344441131221321 313113411133411412322213223442411241123142421222144121322342114423123112142221232312314232433223331424323111121434333121434323243422242342422343211141124131121113311233124213213314232314424314412133213123211223412312244423324332232213222412432133224222133423143344113332431243223212121132421143314342333432311212112314143413414343113141243112134311233112323323324131212144443134222344411143112411123323243224421212344212134134134314323414443244443342231131231441312312422423441423112111233141122131114343412231222442433113332242121221224342413312333341241223231424143422341141121131442333334321334331311133221323313411141224222333323324431122323143131342344221132144231411311222224221123341314312444213121212343133222141422143213342432444242432124242224334223231214331111124412313212232312423443112234113211433322414413323224142444131311431331323442234441122414114112111234411122324343411314112122434234133341344443331343333232441412132233344231122134122331123233331232423113422241233444331412314243141244233233143432111343131131412321141343323233131312112123144322133131223243214142213134323234211223231131123342244333143312411322244331431112114441223233133433412232332313112443114114442311313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131333112324231243113312331444214444122312142312413314321422314123244231133112411143331342333431143414323234241423241121413221412244313111142124131131221312413424411114112213412211411233414144144232242443233121233233123322133214323123122424233222213212134312224433244314124424233111123113232141334421323132434442213412124341143233131334322344324212233334414431443414411244314232444311411422343233114133412131411341121422311211212334432311323311322144324221311114211111431242121234124132243443421313432443313434413222133134323233224132323321412211123322112413221444311313311343124243143313331222422211324433331413234133324332412222322234432234232222232333134213212111221134133243231422412224221231121433322413444423112321422221341432241432221324111432433322124132123113343224123434343212132133412331342324431232221121441134123232122234333311222242211342221342333312133214412311143333133411234114211244333113143432143231222133334232421112124423414411124421231114143312443443232231441431342332411311123341342121331344114100000000000000000000000000000000000023114323214143312242414221211141342312443212232434233324221313242132421321343423441142213133424444444114333233334443133321221133142311123321313343324144314231322224243223342242311323441221223213324323411333143222222331242314233411221242322433113313313214332312142441112422324434222322143212432344122232333224334122243143331344222222124332224124223424311231122314123424222232123232234112234143213313432213444423132321313112133433143443324212133113343333243331322121434423424123211124213333414231233442423421134334424423431332314344333143344214123442241243342121444342341432432311334223213214222231223324112133224313322223134214344213414242213144112211234142214313331234232243433434433132122311334343241324323334311121421221343143111131233114343344343324412143414123244311342234112431243231322143343314321331314334214131213213424321144333331311234134224142323122321441412211444143332223332333314122121323341211433312432143322123111343222213343233431343143211232242321413333441133213132323133233331413212211344313123423332233124124112233443232322112333332132224123313344444413144414132212121431233112232312434113233323141312132442221322231131231233223434324424432432341234222213131232122213241233321114341122243322424233234431213142321342211333322332423222332323322144312331223213312333121341424224313132223143313142223121133342141442421223423233414124123211232233313331232432342123232132141113334122113432141312233212413213222413232412211242341333224331223112333421314141132213314133324131321121300000000000000000100000000012441231342334211412224223342134341411443142333314412243343413323411144213422414322413412100000000000000000000000000000000000000000000000000001000000000000223134231313144214333112243434111243322333141224422231411334132222333114312423332411314222244334321133111113331414422431422141444412321213312233121122321233244331442222323113332432313412213241341331233241414331233113111423333341443313214323312344133423114231233234113443142112112124213333321314232433243334312141134332412223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342432224222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323441441233234231444114123333343312222232332233234441223122112222434223434334423432323342132223312142121323432424214223322213222121314414432422211213131231212314224443412111133111224223442233342413334343424223114421131321443311312212132223141344213121122114144142122411332313343244244214422113232323412143114143444331431123213211111211332131212243324212324122314132343111142222342442334423433241242224411332132224332334442211233311242132342144214211224233441413142334323342111212123321311422132113333344224111324134233244211241124123232120000000000000000000000000000000000000000010003244444424234223310010000000214142211232000000000001000001434331341312441311121333221211312132314332431442343431213314423122311243441324332134133413231241142213312432243442233313331232113434341444232441333322244213212112241144331442133423121323422322412421121433211123442221221144124221434434314231244321224122313423424113212341414422141324223231113414324123114123344241334444234412342311413333214444111142214123224344213333313331311143121413231241243323223432334213211143233121314321412214223213144234114221134224443411344333231322421113334223344414413143411422241112333134113233441143144331342441441413231111221242423332134244422443344324314324324213342343211142122214133334143432313333133121231433331411213331343312422424132412413132312332233424121241323113332432424443233132232131341211432342431312323211421232442314233223121232332143121324133322221123134422442131321442421241232214343323221132321333231444143444241212411242322223131221321 313113411133211414322213214224243221133442433222134121434142114423123112124333232313244334433223331424123111121434333121434323243422242342422343211141124131121131131431124333223312432334424344432133344123211211414334244214322244432221432212432133434222133423143344113332433223223212121132441143314344313212111234232314143442214423113441243114334331233212323123324133244144341134224124211313112411133123243442221432344212134134134314323414443424433342231231231441312312422423441223132111233141112131114343421233222414233121312242141411224342423314233321241223231224343422341141121131442333332321334331134232421123213441134144222131323124433322323343131342344221132124131431223122242344314333114134112131323424423131244112312321443241232442242431334244224144222231214311143444414313232214333423142112234113211433322414413323222332444111311433333343244214421142212123112131244431124124141234333114122434234133341344443331343333232441412132233344231122134122331123233331232423113422241233444331412314243141244233233143432111343131131412321141343323233131312112123144322133132223243214142213134323234211223231131123342244333143312411322244331431112112441221113133433412212312233132341114234442311313441114333221343322214233322422413224232132321221222112432113211332142233144434214333341413222422422323311333112324231223133133313224434412242342124222241112323222312443442131334342143141333122331431141412323214223423243123213243412244333111324324114133221312411444431144314232122441411234241122144214243223441343233213123322133232221322344222213443421134334132222211444434142443221312421333134312134223343332412214211412121141143213131334324444324412233334414431423432431242333412244311411242342233114133412131411341123322311311212332432133322111241124422421121114211111411142121412124132223433421313432442313434211222233132223433222134123323232234243123332232213444311232111141124423321113333332422211234433131241214131144232242122124214214234214222212331134213112111221132133433241432414222243233121231322413442333334321412213414414221233221124311214421322124342123311131442123222343234132333112132324124143212234321433134123432314232211212244444113121444331131334224431243334311331321434412242114212312331141214121233122111112324421112124423412413124143414332321142221212232431421233322332413333124241344121331142332001000000000000000000000000000000000023314321134433431242442231412441112134413334212432213324442333242132121341141422441342211133424442444113333232144243311321431332142311121311221143144144334233322224243223141242111321443223223212322341341333442422132143424434233233221242322433111333413231314332321223334224144214444334331231314144122432343224334132441124441224242143222332224124223343133231431132221244424434241142433322431111433313432213444423132321313112113133143443324212323123343333213331322321434423424111314124213333414231233442423221134334424423431332314344333143344214123442241243342123424342341432432311334223213214222231423324112133224313322223134214344213414342211124112211234142234131131231414121242232431212424413134221221314323112223321221413343343111131213114243324343324412143414123234311122234112421242231423143333314321331314334214131213213424321144333341311434134222142321121343222232412444143132431411132114134321143321433233334414323142443332321443414313233433121331413331424223232331241133433322341213432111231244211122131321224334321123142332213223232332312333312132224323131224444413144414132212121431233132432312434113233323141312132442221324131331231433223334344424434432341234222333313232322233241233321112341122243122424233234231213122321342111333322332422222112323122122132133431333114341321341424234313132223143313142223321333322121222421223423233414124123211332233313331232432322321234224323333334122113432141312233212413213222413232412231242341333224333241112333433312122314214314133324131343321300000000001000000000000000012443231142112243212422223142134321411443142331314432241321211343411142213444414312431412100000000000000000000000000000000000000000000000000001000000000000123134231313333214323332233234111241322133141224424231411134132222333114334121312314214133224334321132111343311414422431222141423434321333132413141143123243422123424244341233134233313442233241321313233441414331233313111123113241441312214323332322333243111221433412113443142112112124213333321314232433123334314421434332312223311311224122313143321231211432132344434333112214443233224413433423221143423321233331421113134433223243123222413324332324222313131241441334342133311423423223212431342232244222312211431442322241323413443422322434331442144231431214234123222134441212232322342323322413331421221323443231133234231244114121433323312222232332431214441223122112222414243434134321432322342132223412124123224432323214223322213222341314114434432211213121331432324244143234133131331132423212413342413112123444222114222313124442311312212132223141344213123122112142142222113332213323244424244112331314333314341122331212321433221311331333431342311434411322232324124312112141113143421234242334223432243244212414112131222324134432211131112442132142114214211224233441414342334323341111212143321213422223214343322224321242132441424333323322241432120000000000000000000000100000000000000000000003244342442432441310000000010234142213231010000000000000002434333341312221411141331221231312332314332431442342231411312321324234121411344332134223413431141123423134212223231413313411214131434341441424221343322244213212112241144331442133423121323422322412421121433211123442222223321322221434434114231244321224122313423322113212223331224343324243211313414411321332141312423431322432233142231333323214222113342412123224144211313313331111143121413231241243323211232314111221322333321114323432212411241241234114221332223443311322112243344221443332113344434211143411424241124113434113233441143144331342441441413231111221242423332134244422443344324314324324213342343211122122414133312441324213133133122211413141221211341342132424342342212431132212332221424121241123113332432422443233132232111441231432344213412323212421234244314233421221112332223114322333322423323324422233313321434141243144412324131422312131441331444141313323212431442422223413433323