31311341113321141322213214224243221133442433222134121434142114423123121243332323132443344332233314243231111214343331214343233434222223443223432113421241311231133112311242132133444321332114323331213123213211414334444214322244322132233333334242142342314334411332431223223321212113222141311423332323314121123411414124144213311312413123123132111342213442423132421124431342223444443434342332213422142424314123442124131131431432341424322423334221231231231443131231242434414231322111233141112133114343421233222441243312133224214122122434441331223334122221223344232322234113332313132242333232133431111132421123234133441442221313331244313223233431313423442211321442314113112222224221324341314312414213121214323133242141412141213241232442242313342442241442222312143111434444143132322143334231421122341132134133224144333232223324441113114333333432442142114221212311231244431124124141234333114122332234113111144231331333132232243432124111322233322134124331223232343432223111222243223422222424342233112441331331234344311424113311432431143343321311133312132241123311421232223243112343111342232344331124213313332414431314131221314224433441111413424122321313323442243233231211232131323444411333143134133421343121232333322222443242232342341421222312332113211333322433144434211333341413222422422323311343311232423122313321333132244344122423421243222411123223222312443442131334342143111133122331431411412141232321422342324312321324341224433311132432411413322131241144443114443242321224414112342421122142142432234413432232131233221332232221342234422221344342113432341332222211444434142443221312421333133342431213423233433324122142114121211411432331312314322344324212233334413431443432231244333412232143434422413441432311313314223413441333124231231214432311323111342144322233221123111421112114131142123214124132223241241213332443313434411222131142321221322132323321232214223313132213222344431131211114122422312111333132242241131221423314344341413332433241222212342142322342142222123311342131121112321122133433414324142244412331214334131234444134242333334433214122113441431442312344311313342342433122142343411311312243143434321213213341413212232444133223412343313412123231223433311222242213342424142133342333312122311341323132341121424211242133223311434341432312111333334234242322312431312141312444434143323213434212122324132232113221324134333324224344234413411331144124132000000000000000000000000000010000000042333132123231434312342441423123244114231244312342211241112342233424432132113123141441344114222332341224321224211411223234444311314322133242233322312121111211434441144132221431333233422123313423321433231233122123441333314322222233122434233211221242322433111333413231314332321223334224144214444334331231314144122343234322241334132441124441224242214322233222412422334313323143113222124442443424114243332243111134333134322134444231323213131211332133143443324212323122334323332133313223214344234241113141214213333432312334424244111343322244223431332314144333143342141234422412433421214444243314344123312222432132142124243314223332411213322431332222413421434421341222223334231223131411222141331131231414121242324312124224413134221221314323112223321221413434334311133121311424332434332441214321411212343111212223411242124223132314333334143213313143342113431121321342432114433333131123413422414232312243214414122114441433322233323333141221213233412114333124321431221231113432222132432343134314321123222232141333344112332131323231332333314132122121344313123423332233124124112433243334332312312331413422412333132444241314421413221421224312331324323124341132333231413121324422213222231131231433421242434224221223321232122423111114323421312232111231332423342423422324411124144313443433242121234221323423433322211411241343334313331314341331141222222311333322322331122323321133322143424223423323242334341241232112322323313331232432342123232132141111331221134322234324312322132132224132124122112423224331324331223123334333143223142143413321411313433241300000000000100000000000000031244323132211341213211422431144132121411441122111314432431141343334141214334121344324311231443142321000000000000000000000000000000000000000000000000000000000000100001231342311134144214333112444432211121113233322432442442334231333432423321144143324213122314214133222433432112321143433114344442222231414234334321333332233121422123243422121424234232412331134233313441232413213133334414143312331131114233113241411312214323332322213222334142123341211343414221123121142131333213142324332233343124414134132414324313242422334311143123233234143342422413311442443233224332314242231414431212133114321313344312234231332224131423123242221132131244413343221333124234234212124333224424422231221143144232224132341334434232232243433333243223133432344343232233433134441234323234232334213131421421324441441233234213444114123333334224422331222223233243132134434122321221122223414243414334323432323342132233312122142124234324232142231122112322133443443443221121313133121123223241432341331111132242423442433342413334343424223114421131321144331131221213222311344213142112211414214212241133231334324424421442211323232341211331214143444331431123213211111214133213121224332421232412231413234313334322234244221334212332324124144141141122241323343422312333122243143441421421122423344141414233432334111121214332122134222232143433222243212421324414224421124112141232311222000000000000000000000000000100000000000000000311112442144243444421414323342124112414231333231300000000104431412142432231223110000000000000000241134141112144122221423241134343441242132134333313434144144423422314113123221332321342341214113443321422341414313141123423134212223231413313311214131143434144142244113113143122313344343433233132243112411231222142224141223431314334212222222233413222214344341114231244321224223134433221134322233312221413242232313134114324124311413233442433344441234421234231141333321444411114222141232243412421333333133311232113121413123124122332332111432314114122112233332111432343221421124311412341142213142234434133221122334324421443314111341334413143411422241112333134113234241122312433134244214434132312112212424233321342434122244334432431324324213344343321112431244441433244413242321134123222314333314112113413422132424322342212231132314231223344223124132111333243242414322332132232131311121143334243123143223211421234322443142334212211123322231143223333224233233244232233313341434141213431444123241331422312321333231444143413241213213242422223133233113 31311333111143323142211223442411221123142421222144121322342114423123121422212323123142344332233344241231111214343331234343233434222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421443411142441242113141124111331232434422214323442124131231433432341442322444334231232231331443134231242424214231122111233141122133114343412231222414243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333231244233411143233241242222133121242314332231222242344314333114134112131323424422131144312412321441222223422222313342442241422232334131113111244443132122323124234231122341232134133224144143232221324441113114333333432422342112241212313211244431124124141234333114122332234113111144231331333132232443432124111322233322134124331223232343432223111222243223422222414142231112242332321234344331323113331432421121343321311131312112123124321423132321323212142113322232342112223113132344224433314331221314224413443111433443122321313323422223233231331244311421424211313443111333221343322232333322222443242232342341421222312332113211333322433144434211333341413222422422323311313311232423122313321333132244344122423421243222411123223222312443442131334342143141133122331431411412141232321422342324312321324341224433311132432411413322131241144443113443242321224411112342421122142142432234413432232131233221332232221342234422221344342113432341332222211444434142443221312421333133322431213421233433324122142114121211411432331312314322344324212233334413431443432231244333412232143334422413441432311313314223413441333124231231214432311133311322144324233221121111421112114311142121412124132223433421313432442313434211222233132223433222134123323232234243123332232214344431123211114112442332111333333242221122241443313124121413134433224212412342142322342141222123311342131121112421122133433214224122242212311214334133234224134244423112233214222211344143224114222132411114324333322124131231133432241343434321213213341233134232443123222112344113412323231441221112244444233121444331131342241312431314311133132343441424214212133223311434321432312111333334234241322312431312124331321432141323433124434432342132232113241324114333324224344434413411331124122332000000000000010000000000000000000000042311432123211334312344441422121114134231244332122243423332422131432242132421321343422344114422134133424443444411433323334444313332122133314231112332131333433241443142313222242432233442242311323441221223213324321341323344242213214342444233233221242322433113311413214332314342443132422324434222322143212332144122323234322241334132243143331344222222212433222412422342431143112231412342422223212323223411223414312133334322134444231323213131213332433143443324212133112334323332433313221214344234241232111244113333232312334424234111141322423421244111132344113211312343312244234333343414443423314344123312222432134142124243314223332444233323411112222333243331143343424223314411221123411222143113331214432243433344331321222313334343241324321334311121421221434314311133123311434314434332441214341411212443113212223211242124223132214334334143313313143342114411323223342212114233333131123433422214232322143432222324124441231324314111321141243211433214332332344143431424433323214432143132343312133141333142222323233124112334333223412134321112312442121122131321224334321123142332213223232222332332333413224432333122414441334441413221421214312331324323324341132333231413121324442213224131131213233221343432242443443234414342232131312321222132412333213114341122243224242332344312131223213422113333223324232223323233211423123312232113312333121344424224313132223123113142223321111122143422421223423222334141241232113322323313331232432322321234224323333333221134312234324312324132132222332342122332423241333322333221123334333121223142143413223431313231221100010000000000000000000000012244144114233323211432424223342134343411443142333314412243341341332343214334324344324411431443142343000000000000000000000000000000000010000000000000000000000000000001221322331134144214323332233234411124132211331412244242314113341322223333144113124233322341332223242233214112331111133314144224314221412444312321333132413141143123243422123424234432412332332432413412232413413312332414143312331131114233113241411312214343332322213222314142123141211343414224123121142133333213142324332233343124434234132312223311311224122311143321231214321323443433311221443233224134334232211434233212333314211131344332232431232224133243323242223132131214413343421333114234232232124313424222422231333143124232234112341324434112234243433333243223134332142341232231433114441234323234232332213131421221123443231133232213244314123433334224222331222223233223332334434142321221122223434243434334323432323342132223312322142322244333232144233222132222131441443443221121313133121123223241432341331111132242423442413342413334343342143312222313141122343333243233222311344213142132211414414212241133231334324424421441211323232133231331214143444131411123331311131414133213343221322421232232231413411311311342123424423342234322324342124141121312223243344322112313124221321424421421122423344141414233432334111121214332122134222232143433222243212421324414224433332332122414321422001000000000000000000000000000000000000000000311112442144143342243334223424122112412431333213300000000012411332142112113223101000000000000000241134333314143122211411141312343242242111132333231434144144423434312132144123112323323111214113243121422341434311141123423134212223231413313311214131143434144142422134332322442132121122411443314421334231213234223224124211214332111234222222233413222414344341114233244321224223134433221212123414144221233122232123334314324124311413233442433344441234421234231141333321442411114222141232243412421333333133311111143121313123124124332332213432334214322114223332111432143221421124311442223322213344132433113221122334344421443334113344434241343411422241124113111113414443141312431332244334414132312314434412331141122234242422412244431424322213342343341122221242441411212433242131331333213114131432234333412134114242424132212413334214233223342413124132341333123124244322333133232131441123143234421144123223212441234344443142334212211123322231143223333224233233244232233313341434141233431444123241331422312131441331444141313323212431442422223413433323 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321143411414124144213311312413123123132111342213442423132421124431332223444443434342331213422142424214123442124131131431432341444322244332221231231231443131231242434414231322111233141122133114341421223222441241112113224214142122434242331423324122221223344232322234113332313132242333232233233111432421323334111411442221313331244313223233431313423442211321442314113112222224221324341314312444213121214323133222141422143213342432444242321242422243342232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112241212311232434431124124141234333114122332234113111144231331333132232443432124111322233322134124331223232343432223111222243223422222424142231112442332331232344311424113331132421341343323231131322312123123121433132243243112342111342232344131124213313332214431314131221314424411143111433443122321313323422223233231331244311421424211313443111333221343322232233322222443242232342341421222312332113211333322433144434211333341413222422422323311343311232423122313321333132244344122423421243222411123223222312443442131334342143141133122331431411412141232321422342324312321324341224433311132432411413322131241144443113443242321224414112342421122142142432234413432232131233221332232221342234422221344342113432341332222211444434142443221312421333133342431213421233433324122142114121211411432331312314322344324212233334413431443432231244333412232143334422413441432311313314223413441333124231231214432311133311322144324233221121111421112114311142121412124132223433421313432442313434211222233132223433222134123323232234243123332232214344431123211114112442332111333333242221122241443313124121413114423224212212342142322344142222123311342131121112321132133433214324142222432331212334113234224134242333334433214122113441441422312322112413112144321322124341213111314421322234323413233311213232412414321223432343313412343231423221112244444113121444331131342241312432334311333132143441224214212131323311412121212331221111312324421112124423412421312441434143323211422212122324314212333223324134333112444242424412211331124322344000000000001000000000000000000000000042311432321431433122324241232141242114231244332322441241334322121432232132121341141422344114422134133424443444411433323334444313332122133314231112332131333433241443142313222242432233442242311323441221223213324323443323312241213214322434331211221242322433113313313214332312342441112422324434222322143212432344122323233321241332122441124443344242214322411422234344434333323143113222124442443424114243332242111134333121344312222231143211333113131413143244314444131312331322412412111221214324234223133313414213433232312334422234111141322423421244111132344313211312323312244234333343214444243314344123113342232132142122243314423332411213322431332222313443311143421222223334413243231411422141331131231414121242324312124224413134221221314323112223321221413434334311113123311434334434332244414343433312423113212423233322242221232234134134122313333341322334411333311342432114233334131143413422214232112123432222324124441431324233323333141221213233412114333124321431221231113432222132432343134314321123222232141333344112332131323231332333314132122121344313123423332233124124112433243334222332314333213422412333132444241314421413221421224312331324323124341132333231413121324422213222231131231413421242434224221223321232324433333132323222334412333213114341122223422324411124144313443433242121234221323423433322211411241343334313331314341331141222222311333322322331122223121133342321422241423322222334141443242123113223123343434432322341214224323333333422334311213132334142132332222332342342312223141331344331241343334312341411324331331223414313231221310000000000000000000000000012244123114231141213212444223142134321411443142331314432241324121134341232142121344124411432243142323000000000000000000000000000000000000000000000010000000000000000001231122313134144214333112243434211124332231331412244222314113141322243131144142124233342311332223242422232112331111133314144224314221414444312321313332233121123123243422123424234432412332332432313412232413413312332414143312331131114233113241411312214343332322213222314142123141211343414224123121142133333213142324332233343124434134132412223311211224122313143321231214341323423433341221443233224134334232211434233212333314211131342332232431232224133243323242423132131214413341421333124234232232124313422222422231321143124232224132341332434212232241433333243223133432344343232233433134441234323234232334213131421421324441441233234213444114123333334224222331222223233223132334414122321231122233434243434334323232323342132223312122142322444323232142233222132222111441421243243123413133121123242241434121131331112242423442413342413112123344222114222313141122343313241331144442122431143112213412414214242121433114112224221441211323232331231331214143444331431123213211111214113113121224334421434412231411234331311224234244421344234322324324124141141122241323343422112313122421323424421421122423344141414233432333213321214332122134222232131331222441112244342432424133332332322414321422000000000000000010000000000000000000000000000332132122344243444421414323444122112434231133213100100000002211414114112211223200000000000100000142334333312143124411311121332343242112311312133231134144144423434312113144141112323223341214113443321413341434311141123423134212223231413313311214131143434144122222334332322422132121122411443314221334233231222142412341223234132111434222212413441224214244343214131442313412441212234223134343214344243433242432113132114324124311413233422433344441214421234223133332321422211334224121232241412421313111133311212113121413123124124334332111232314114122132233332111432143221241124312414223344213144132434133223332314324441113334223344414413143411422241124113434111414443141312431332224334432332312112212424233321342434121244334432431324324213342343321112221242441331244413242331331321212314313312212111423422132422342342212431112214233222142412124132111333243242414322333132232131311121143234243123123223211421232124423142332231212323321431213241333222211233344212233313341434141233431444123241331422312321333231444143413241213213242422223413433323 31311333113143323142211224444211221123442423222144121322342114423122121422212323123142344332233344243231111214343331214343233434222223424424232113421241311231333112311243122133124323344434443133314123211211414334444214322244322134233333334242142342114334411332431223223321212113222143313423332343314121123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444334221231231331443131231242434214231122111233141122133114343412231222414243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333233244311223231431313423442211321442314113112222224221123341314312444213121212343133242141412141213241232442242313342442241442222312143111434444143132322143334231421122341132134133224144333232223324441113114333311232422344112241212311232434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422331412132431112422312331234344311343113331434423141343123231131314112123144321133112223243112342111342232344331124213313332414431314131241132224411143111211244122111313343441221233231331244311421424211313443111333221343322232332342222443242232332323421444312312111211333122433144432214313341434222142422323131343311232423124311323123314442144441223121423124133143221422314123244231133112411143331342333431341412341432323424142324112141322141224431311114212413113122131241342441113141122134122114112334124144142322424432431212212331233221332214323122312242423322221321214343132224433244314124424233111123113233442214133441213231324344422134121243411432131312334324444324412233334414431423432431242333412244311411242342233114133412131411341123322311311212332432133322111241124422433221313111441112114331242121234124132243443421313432443313434413422133134323233224132323321412211123322112413222144431131331134312424414331333122242221132241443333141323413134433224212412342142322342141222123311342131121112421122133433214224122242212311214334133234224134244423112233214222211344143224114222132411114344321322124341213111314421322234323413233311213232412414321223432343313412343231423221112244444113121444331131342241312432334311333132143441224214212131323311412141212331221111312324421112124423412421312441434143323211422212122324314212333223124134333112444242424412211331124142332001000000000000000000000000000000000042331432113414334312324244223141244111213441133342243221332444233432242132121341141422244134422114133424443244411333323214424331132143133214231112131122113431441443342333222242432231441242111321443223223212322341341323312241213214322432233211221244322433111313413214332314342443132422324432222322143212332144122323234322443134122423143331344222222212433222412422342431123112231412342422223212323223411223414312113321124312222231343211333133132413143244312444131312331322412412111221214324234221133113414213333432332334424234111341322423421244111132344313211312323312244234333343414244241414424343133344232134143134443413223334414231323432334222331221434421341434221314411221123411422341331131231414121242344312124224413134221221314323112223321221413434334311113121311424332434332441214321411232343111212223411243124223132314333334143213313143342113431121321342432114433234131121313424221434312223214414122114441431324314111321143243211433214332333344143431221231113432222132432343134314321123222232141333344112332131323231332333314132122121344313123423332233124124112433243334222332314333213422412333132444241314421413221421224312331324323124341132333231413121324422213222231131231433421242434224221223321232122423111114323421312232111231332423342441224242332342312131223213421113333223324222221123231221221343334313331334341331141222222311333322322331122323321133322143424223423323242334341241232112322323313331232432342123232132141111331221134322234324312322132132224132124122112423224331324331223123334333143223142143413321411313433241300000000000100000000000000031244323132233323211431422431142132123411441122111314432431141343334141234142121344324441431443142343000000000000000000000000000000000010000000000000000000000000000001221322333134144214323332233234411124132211331412244242314113341322223333144113124233322341332223242233214112323111132334144224314221414434332341313332233121423123243422123424234432412332332432413412232413413312332414143312331131114233113241411312214343332322213222314142123141211343414224123121142133333213142324332233343124434134132312223311311224122313143321231214321323443433311221443233224134334232211434233212333314211131344332232431232224133243323242223132131214413343421333114234232232124313424222422231221143144232224132341334434212232243433314421442314312142141232221433134441212323234232332213331421221323443231133234213244114121433334224422331222223233223332334413122321221122223434243434333323432323342132223312122142124434324232142233122132222131441421243243123413133121123242241434121131331112242423442413342413112123344222114222313141122343313241331144442122431143113213412414214242121433114112224221441211323232331231131214143444331431123213211111214113113121224332421434412231411234331314224234244421344234322324124122213341122343323344322132333222421323424421421122423344141434213431314243342334313124233232222431311222431112244342432424421124112141412311222000000000000000000000000000001000000000000000332132123342243444421434323444342342434231333213101000000002411314144412231423200000000000000100141134333342144142211423241134443441244132134313311434144144421334132213144121112343223111411111221121113121432333243142212312432241442232133333432313324112324443244113113143122313344343433233132243112411231222142224141223431314334212222222233413222214322341114231244321224223134433241132122233312243433242432113134114411324133213413124234313223432243314223133332141422211334224121232241412421312333133331212113121413121124124332332111232314114122132233332111432143221241124312412223322213342234414313223322314324421143334223344414413143411422241112333114133233441142112433334244314414132312112212424233321342434121244334432431324324213342343321112221242441331244413242331331321212314313312212111423422132422342342212431112214233222142412124132111333243242414322333132232131311121143234243123143423211421234344443142334212211123322231143223333224233233244232442131321442421233412322143433243221132321333231444143413243212431242422223413433323 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444324221431231331443131231242434214231122111233141122133114343412231222414243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333233244311223231431313423442211321442314113112222224221123341314312444213121212342131144312412321441222223422222313342422243342232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112241212311232434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412132431112422312331234344311343113331434423141343123231131314112123144321133112223243112342111342232344331124213313332414431314131241132224411143111211244122111313343441221231221313444311421224213313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131313311232423124311323123314442144441223121423124133143221422314123244231133112411143331342333431341412341432323424142324112141322141224431311114212413113122131241342441114141122134122114112334124144142322424432431212212331233221332214323142312242423322221321212341132224433244314124424233111123113233422214133441213231324344422134121243411432331312334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323112342144322233221123111421112114131142141214124132223443421313432423333434411242131142311221322432341141214211123322114413222144431131331134314444314331333122241223132243444333144323413134433224212412342142322344142222123311342131121112321132133433214224122242212311214334133234224134244423112233214222211344143224114222132411114344321322124341213111314421322234323413233311213232412414321223412343313412343231423221112244444113121444331131342241312432334311333132143441224214212131323311412141212331221111312324421112124423412421312441434143323211422212122324314212333223324134333112444242424412211331124142332000010000000000000000000000000000000042331432113414334312344244223141244111213441133342243221332444233432242132121341141422244134422114133424443244411333323214424331132143133214231112131122113431441443342333222242432231441242111321443223223212322341341323344242213214342444233233221242322433111333413231314332321223334224144214444334331231314144122343234322243334132441124441224242214322233222412422334313323143113222124442443424114243332243111134313121124312222231343211333133132413143244314444131312331322412412111221214324234223133313414213433232312334422234111141322423421244111132344333143342141234422412431423414443423414424343133342232134143134443413223332444233323411112222333243331143343424223314411221131411222141133131234432243433342131321222413314221241314341332323321421413434334311113121311424332434332441214341411212443111212223411243124223134214333334143213313143342113431121321342432114433334131123413422214232312123432222324124421431322233323333141221213233412114333124321431424433313432432143111324332134341123242222321233124112332333223412114321114312442121344313141423132233144342112433223242222332334333213222412333132244441314441413221421214312331124323124341132333231413121324222211224131332431233421333432242443243234412122423111114323421312232111231332423342423422324411124144313443433242121234221323423433322211411241343334313331314341331141222222311333322322331122323321133322143442221423423142334341423242113313322323343432432323341234224323333331221122312213132334142132332222332342142332443241333122333421121312333121411322331333223431313231221300001000000000000000000000012244144114231341213212424223342134341411443142333314412243341341332343214334324344342441431443141323000000000001000000000000000000000000000000000000000000000000000001231122313134144214333112243434211124332231331412244222314113141322243131144142124233142311332223242422232112321143433114344442222234414444312321213312233121122341233244331442242234231132332432313412232413413312332414143314333131111233113241441312214323132332211322411122123341211343414234141321242333333213142324132233343421414114332314244313242422124311121141221214141322422211313442444434223332312232231213213132133314321313144332434231332222133221323242213132131214413343421313124232232232124333224222422231321143124212234134341334434212232243433314421242134312142341232221433134441212323234232334213131421221323443231133234213444114123333334224222331222223233223132334414122321231122233434243434334323232323342132223312122142322444323232142233222132222111441421243243123413133121123242241434121131331112242423442231312413134341424222114221131321444231131221213222311344213122312211214214222211333221332324444424411233131433331433111422331212321433221311331333434134231143441132223232412431211214313314224234244421344234321324124124141141122241323343422112113122421323424421421122423344141314233432334213321214332122134222232131331222441112244342432424133332332122414321422000000000000000010000000000000000000000000000332132442344241444421414323444342144234231133233101000000002211414114112131423200000000000010000142134333342344142211423243134443441244132134313313434144144423422314113123221334321342341214113443321422343434311141123423134212223231413313411214131143434144142422334332322422132121122411443314221334231213234223224124211214332111234442212213441242214244343114131444121224223134434223134122233312443433242432113132114324124311413233422433344441214421234223333332141422211334224121232241412421313333133311232113121413123124122332332111432314114122112233332111432343221421124311412341142211342244434113443332314322421113334223344414413143411422241112333131111414443141314431332224234434132312112212424233321342434121244334432431324324213342343321112221242441331244413242331331321212314313312212111423422132422342342212431112214233222142412124112311333243242244322332132232111441123143234421344123423212421234324443142334212211123322231143223333224233233244212233313341434141233431444123241331422312131441331444141313323212411442422223413433323 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444334221431231331443131231242434214231122111233141122133114343412231222444243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333231244233411143233241242222133121242314332231222242344314333114134112131323424423133222141422141213342432444242321242422243342232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112241212311232434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412132431112422312331234344311343113331434423141343123231131314112123144321133112223243112342111342232344331124213313332414431314131241132224411143111211244122111313343441221231231313444311421224213313441114333423343121214233322422413224232132321221222112412113211332142233144434211333341413222422422323311313311232423122313321333132244344122423421242222411123223222312443442131334342143141333122331431411412141232321422342324312341322141224431311114212413113122131241342441113141122134122114112334124144142322424432431212212331233221332214323122312242423322221321214343132224433244314124424233111123113233442214133441213231324344422134121243411432331312334322344324212233334414431443414411244314232444311434442343233114133412131411341121422311211212334432311323311322144324223221313111421112114131242121234124132243443421313432443313434413222133134323233224132323321412211123322112413222144431131331134312424414331333122242221132241443333141323413332433421212232421342142342142222123311342131121112421132133433214324142222432331212334113234224134242333334433214122113441441422312322112413112144321322124341213111314421322234323413233311213232412414321223432343313412343231423221112244444113121444331131342241312432334311333132143441224214212131323311412121212331221111312324421112124423412421312441434143323211422212122324314212333223324134333112244242424412211331124142332000000100000000000000000000000000000042331432113414334312344444223141244311213441133342243221332444233432242132121341141422244134422114133424443244411333323214424331132143133214231112131122113431441443342333222242432231442242111321443223223212322341341323344242213214322432233211221242322433111313412214332314342443132422324434222322143212332124122323234322241334132443143331344224222213433222412422342431123312231412342422223212323223411223414312133334324132442423321133333213132411343243314242133312334333432412111221214344234241133111214213333432312334324234111313124244221431332314344313211312323312244234333343414244241414424343133344232134143134443413223334414231323432334222331243311143421222223334413243231411424143311131231414121242324312124224413134221221314323112223321221411432312111313123333433134232312224234343433312443113212423233322242221232214334331142313333341322334413333311342432114233334131321411222221434312223214414122112421431324314111321141343211433214332333344143233221231113432222133432343134314321123224232141333344112332131323231332333314132122121344313123423332233124124112233443232322112334333213222412331334444441314441413221421214312331122323124341132333231413121324222211244111332431233421342434242443443234412342223131312341242132412333213114341122243224242332344312131223213422323333233344232223323311211241321334313333114341321341424234313132223122131122323321133322141424223423323242334341241232112322323313331232432342123232132141111331221134322234324312322132132224132124122112423224331324331223123334333143223142143413321411313433241300000000000100000000000000031244323132233323211431422431144132123411441122111314432431141343334141214334121342344441432243342121000000000000000000000000000010000000000000000000000000000000000001231322333134134414333112444432211121113233321412442442334231333432423321144143324213124314214133222433432112323111132334144224314221414434332341313332233121423123243422123424234432412332332432313412232413413312332414143312331131114233113241411312214343332322213222314142123141211343414224123121142133333213142324332233343124414233332312223311311224122313143321231214321323443433311221443233224134334232211434233212333314211131344332232431232224133243323242223132131214413343421333114234232232124313422222422231221143144232224132341334434212232243433314421442314312142341232221433132441212323234232332213331421421333443233133234213244114123431334224222331222223233223332334434122321221122223434223434334323432323342132223312142142132234324242142233222132222131441443242221121313123121123142244434121111331112242423442413342413112123344222114222313141122343313241331144442122431143112213412414214242121433114112224221441211323232331231131214143444331431123213211111214113113121224332421434412231411234331314224234244421344234322324124122213341122343323344322132333222421323424421421122423344141434213431314211121212432334114221321133431222243212421324414224433332332122412321222000000000000000000000000000000000000000010000312132442144241444421434343444322142434231313213100100000002411414144412211223200000000000100000142134333312343124411311121332343242112311312133231134144144423422314113144141112321342341214113443321413341434311141123423134212223231413313311214131143434144122222334332322422132121122411443314221334233231222142412341223234132111434222212413441224214244343214131442313412441212234223132122233312243433242432113134114411324133213413124234313223432243314223133332321422211334224121232241412421313111131113212113121413123324122332332111432314114122112233332111432143221421124312414223344213144132434133223332314324441113334223344414413143411422241124113414111414443141312431332224234432334432334434112331121342434122444334432431324322211342341321112421222141333214413242321114121222112131432234333412134114242424132212413334223433223342413124132313333123124244322333132232131341121143232243123123221211421434324423142332231212323321431213241333222211233344212442131321442421233412324123241331422312131441331434343314241212413242322223133433313 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442324312233344213231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312221223324344322134212432133242222323312214413113231421423321232311442141311423132323132121121141434424144231134412231123343112331123233233241334421443411342241242113131124111331232434422214123442124131131431432341424322444334221431231331443131231242434214231122111233141122133114343412231222414243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323234133441442221313331244313223233431313423442211321442314113112222224221324341314312444213121214323133242141412141213241232442242313342442241442222312143111434444143132322143334231421122341132134133224144333232223324441113114333333432442142114221212311211244431124124141234333114122332234113111144231331333132232243432124111322233322134124331223232343432223111222243223422222424342233112441331331234344311424113311432431143343321311133312132241123311421232223243112343111342232344331124213313332414431314131221314224433441111413424122321313323442243233231211232131323444411333143134133421343121232333322222443242232342341421222312332113211333322433144434211333341413222422422323311343311232423122313321333132244344122423421243222411123223222312443442131334342143111133122331431411412141232321422342324312321324341224433311132432411413322131241144443113443242321224414112342421122142142432234413432232131233221332232221322234422221344342113432341332222211444434142443221312421333133342431213423233433324122142114121211411432131312334324444324412233334414431423432431242333412244311411242342233114133412131411341123322311311212332432133322111241124422433221121111421112114311142121412124132223433421313432442313434211222233132223433222134123323232234243123332232214344431123211114112442314331333122242421132241443333141321413332433241212232321342322342322222321131124331312332442132131431214322142322412331214334131234444134242333334433214122113441431442312344311313342342433122142343411311312243143434321213213341413212232444133223412343313412123231223433311222242213342424142133342333312122311341323132341121424211242133223311434341432312111333334234242322312431312141312444434143323213434212122324132232113241324134333324224344434413411331144124132000000000000000000000000000010000000042333132123211434312342441423123244114231244312342211241112342233424432132113123141441344114222332341224321224211411223234444311314322133242233322312121111211434441144132221431333233422123313423321433231233122123441333314322222233122434233211221242322433111311413214332314342443132422324434222322143212332144122323234322241334132243143331344222222212433222412422342431143112231412342422223212323223411223414312133334322134444231323213131213332433143443324212133112334323332433313221214344234241232111244113333232312334424234111141322423421244111132344113211312343312244234333343414443423314344123312222432134142124243314223332444233323411112222333243331143343424223314411221123411222143113331214432243433344331321222313334343241324321334311121421221434314311113123311434314434332441214341411212443113212223211243124223132214334334143313313143342114431121321342432114433333131123413422414232312223214414122114441433322233323333141221213233412114333124321431221231113432222132432343134314321123222232141333344112332131323231332333314132122121344313123423332233124124112433243334332312312331413422412333132444241314421413221421224312331324323124341132333231413121324442213224131131213233221343432242443443234414342232331312321222132412333213114341122243224242332344312131223213422113333223324232223323233211423123312232113312333121344424224313132223123113142223321111122143422421223423222334141241232113322323313331232432322321234224323333331221134312213132334142132332222332342342312223141331344331241343334312341411324331331223414313231221310000000000000000000000000012344123114211341213212424223344134341411443142333314412243324341332343214334324344324311211443142321000000000000000000000000000000000000000000000000000000000000100001231342313134144214333112243434211124332231331412244222314113141322243131144142124233142311332223242422232112323111132334144224314221414434332341313332233121423123243422123424234432412332332432413412232413413133334414143312331131114233113241411312214323332322213222334142123341211343414221123121142131333213142324332233343124414134132414324313242422334311143123233234143342422413311442443233224332314242231414431212133114321313344312234231332224131423123242221132131244413343221333124234234212124333224424422231321143124232224132341332434212232241433333243223133432344343232233433132441234323234232334213131421421324441441233234213444114123333334224222331222223233223132334434122321231122233434243434334323432323342132223312322142322244333232144233222132222131441443443221121313133121123223241432341331111132242423442413342413334343342143312222313141122343333243233222311344213142132211414414212241133231332324444424411233131433331433111422331212321433221311331333434134231143441132223232414431211214111334322234244421344234122324124124141141122241323343442112313122421323424421421122423344141414233432334111121214332122134222232143433222243212421324414224433332332122414321422001000000000000000000000000000000000000000000311112442144143342243314223442124112414231333231300000000104431412142432231223110000000000000000241134141112344122221423241134343441242132134333313434144144423434312132144123112323323111214113243121422341434311141123423134212223231413313311214131143434144143244113113143122313344343433233132243112411231222142224141223431314334212222222233413222214322341114231244321224223132433241132123414144221413242232313134114324124311413233442433344441234421234231141333321444411114222141232243412421332333133311112143121413123124124332332213432334214321114323312131432141221422321131442341142213322234433113221122434344221443332113344434211143411424241124113414111414443141314431332224234432334331334434112311141122234242422412244431424332213322343343122421222121333412434323133331331212314333314112133313432312422424132412413132314213423342412114112311333243242244322333132232131341121143234243123123223211421234342443142334212211123322231143223333224233233244232233313341434141233431444123241331422312131441331444121344241413213242422223413433323 31311333111143323142211223442411241123142421222144121322342114423123121422212323123142344332233314243231111214343331214343232434222423424223432111411241311211133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424212123442122134131431432341444322443334221231231231443131231242434414231322111233143112133114343421233222441241312113224214142122434242331423334122221223344232322234113332313132242333232133431111132421123334111412242223333233244311223231431313423442211321442314113112222224221123341314312444213121212343133222141422143213342432444242321242422243342232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112241212311232434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432423111222243223422231412132431112422312331234344311343113331434423141343123231131314112123144321133112223243112342111342232344331124213313332414431314131241132224411143111211244122111313343441221231221313444311421224213313441114333423343121232333322222443242232342341421222312332113211333322433144434211333341434222142422323311343311232423122313321333132244344122423421243222411123223222312443442131334342143141133122331431411412141232321422342324312321324341224433311132432411413322131241144443114443242321224414112342421122142142432234413432232131233221332232221322234422221344342113432341332222211444434142443221312421333133342431213421233433324122142114121211411432331312314322344324212233334413431443432231244333412232143434422413441432311313314223413441333124231231214432311323111342144322233221123111421112114131142123214124132223241241213332443313434411222131142321221322132323321232214223313132213222344431131211114122422312111333132242241131221423314344341413332433241222212342142322342142222123311342131121112321122133433414324142244412331214234133234224134242333312413433122113444141442312344311313342342433122142343411311312243143434321213213341413212232444133223412343113412123231441221112244444213121444131131342241312432334311133132343441424214212131331313434321432312221333334234221322122421412424332441212311121433124434432322132232113241324134333324224344231412211331124322344000000000001000000000000000000000000042311432321431433122322241232141242114231244332322441241334322121432232132421321343422344114422134133424443444411433323334444313332122133314231112332131333433241443142313222242432233442242311323441221223213324323443323312241213214322434233431221242122433111311413214332314342443132422324434222322143212334144122323234322241334132243143331344222222212433222412422342431143112231412342422223212323223411223414312133134322134444231323213131211332133143443324212323122334323332133313223214344234241113141214213333432312334324234113343322423421244111132344313211312323312244234333343414443423414424343133344232134143134413413223334414231323432334222331243311143421222223334413243231411424143133331214432243433344331321222313334343341324323334311121421221434314311133123311434314434332441214341411212443111212223411243124223134214333334143213313143342113411323223342212114233333131123433422214232322143432222324124441231324314111321141243211433214332332344143431424433323214432143132343312133141333142222323233124112334333223412134321112312442121122131321224334321123142332213223232222332332333413224432333122414441334441413221421214312331324323324341132333231413121324422213222231131231413421242434224221223321232324433333132323222334412333213114341122241224242332342312131223213421113333223324222221123231221221343334313331334341331141222222311333322322331122223121133342321422241423322222334141443242123113223123343434432322341214224323333333422334311234324312324132132222332342124332423241333322333241123334333121223142143413223431313231221100010000000000000000000000012244144114231141213212444223142134321411443142331314432241324121134343234142321344124411432243142323000000000000000000000000000000000000000000000010000000000000000001231122311134144214333112444432211121113233322432442442334231333432423321144143324213122314214133222433432112321143433114344442222231414234334321333332233121422123243422121424234232412331134233313441232413213312332414143312331131114233113241411312214343332322213222314142123141211343414224123121142133333213142324332233343124434134132412223311211224122313143321231214341323423433341221443233224134334232211434233212333314211131342332232431232224133243323242423132131214413341421333124234232232124313422222422231333143124232234112341324434112234243433333243223134332142341232231433114441234323234232332213131421221123443231133232213244314123433334224222331222223233223332334434142321221122223434243434334323232323342132223312122142322244323232142233222132222111441443242221121313123121123142244434121111331112242423442233312413134341424222114221131321144231131221213222311344213122312211214214222211333221334324424421441211323232133231131214143444131411123331311131414133213343221322421232232231413411311311342123424423342234322324342124141121312223243344322112313124221321424421421122423344141414233432334111121214332122134222232143433222243212421324414224421132331121432413222000000000000000000001000000000000000000000000332132442144243342443414323442324112412431333233100001000002431412112114233423200010000000000000242334133312343122211411141332341212112331312333231443324314423422314113123221334321342341214113443324422343434311141123423134212223231413313411214131143434144123244113113143122313344343433233132243112411231222142224141223431314334212222222233441224214244141114231244321224223134434223132123233312443433242432113132114324124311413233422433344441234421234231341333321444411114222141232243412421333313133311212113121413121124124334332111232314114122132233332111432343221241124312412223322213344132433113221122334344421443334113344434241343411422241124113131113233441142314433134444314414132311112212424233321342444122244334432431324324213342343321112421222141333412434323133331331212314333314112133313432312422424132412413132313213423342412124132311333243242444322333132232111441123143234421344123223212421232124423142332231212323321431213241333222211233344212442131321442421213412322143433243221132321333231444143413243213213242422241113433323 31311341113341141322113214224243221133442423222134121434142114423133121243332323132442342314421144143231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124434342223444443434342332213422142424214123442124131131431432341424322444334221431231331443131231242434214231122111233141122133114343412231222414243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333233244311223231431313423442211321442314113112222224221123341314312444213121212343133222141422143213342432444242321242422243342232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112241212311232434431124124141234333114122332232113111144231331333132232443432124111322233144134124331213232343432423111222243223422231412132431112422312331234344311343113331434423141343123231431314112123144321133112223243112342111342232344331124213313332414431314131241132224411143111433443122321313323422223233231331244311421424211313443111333221343322232333322222443242232342341421222312332113211333322433144434211333341413222422422323311343311232423122313321333132244344122423421243222411123223222312443442131334342143141133122331431411412141232321422342324312321324341224433311132432411413322131241144443113443242321224414112342421122142142432234413432232131233221332232221342234422221344342113432341332222211444434142443221312421333133342431213421233433324122142114121211411432331312314322344324212233334413431443432231244333412232143334422413441432311313314223413441333124231231214432311133311322144324233221121111421112114111142121412124132223433421313412442313434411222131142321221312432321141212211123322112413222144431131331134312424314331333122242221132241443333141323413332433241222232322344322342322222323331342132121112321134133243214324142222432331212334113234224134242333334433214122113441441422312322112413112144321322124341213111314421322234323413233311213232412414321223432343313412343231423221112244444113121444331131342241312432334311333132143441224214212131323311412141212331221111312324421112124423412421312441434143323211422212122324314212333223324134333112444242424412211331124322344000000000001000000000000000000000000042311432321431433122324241232141242114231244332322243423332422131432242132421321343422344114422134133424443444411433323334244313332122133314231112332121113431441443342333222242432231442242111323443223223212322321341323344242213214322434233211221244322433111313413214332314342443132422324432222322143212332144122323234322443134122423143331344222222212433222412422342431123112231412342422223212323223411223414312113321124312222231343211333133132413143244314444131312331322412412111221214324234223133313414213333432312334324234113343322423421244111132344313211312323312244234333343414443423414424343133344232134143134413413223334414231323432334222331243311143421222223334413243231411424143133331214432243433344331321222313334343341324323334311121421221434314311133123311434314434332441214341411232343111212223411243124223132214333334143213313143342114411333311342432114233334131321313424221434312223214414122114441431324314111321143243211433214332333344143433221231113432222133432343134314321123224232141333344112332131323231332333314132122121344313121224334321123142332213223232332312334331213222413333334444441314441413221421214312331124323124341132333231413121324222211424131332431213421242434224221223321232122423111114323421312232111231332423342423422324411124144313441433242121234421423423433322211411241343214212113312133333321442322313132223143313144222321333322121242221421433224234121443234313323323323141232432122321232132323333333221134312234324312322132132222332342122332423241333322311421121334313121223122143413323431331231221300000001000000000000000000012244343132233323211431222431142132123411441122111314432431141343334141214334121344344441431443142343000000000000000000000000000000000010000000000000000000000000000001221322333134144214323332233234411124132211331412244242334113341322223333144113124233322341332223242233214412331111132314144224314221414444312321333332233121422321431224321222442222232332334212311442232413413312112333333312333131111223113241441312214323332332233324331122143341211324431421121121242133333213142324331233343144214134332312223311311224122313143321231214321323443433311221443233224134334232211434233212333314211131344332232431232224133243323242223132131214413343421333114234232232124313424222422231221143144232224132341334434212232243433314421442314312142341232221433134441212323234232334213131421423323443231233234213242114143423332224222331222223233223332334434122321221122223434243434134323432323342132233312122142124234324232142231122112322133443423243323323433333121323222231432321331311112342441242233112413134341444242114222313121124341333243233222311344213142112211414414212241133231334124424421442211323232331231131214143444131411123331311131414134231143441132221212412241431234331114222234244423344234322124322224113321322243323344422112333112421323424421421122423344141414233432334211121212332334114221321133333222243212421324414224421132331121432413424000000001000000000000000000000000000000000000332132442342123444443432242324342142434221133233100001000002211412112114233423200000010000000000242134333312113124411311121332341212242311132333311134144144423422314113123221334321342341214113443321422343434311141123423134212223231413313411214131143434144142222334332322424132121122411443314221334233231222142412341223234132111434222214413441424234244323234121442313412441212234223112343414144221413242232313134114324124311413233442433344441234421234231141333321444411114222141232243412421333333133311111143121413123124124332332213432334214322114223332111432143221421124311442223322213344132433113221122334344421443334113344434413141243222443324133114133233441142112433334244314414132312112212424233321342434121244334432431324324213342343321112221242441331244413242331331321212314313312212111423422132422342342212431112214233222142412124112311333243242244322333132232111441123143234421344123423212421234344443142334212211123322231143223333224233233244232233313341434141233431444123241331422312131441331444141313323212411442422223413433323 31311333111143323142211224224243221133442423222134121422342114423123121222212323123142344312233344213222414432321423212143413434222423424223432133421211311231133112311242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123112332123231233241332441443411342241242113131124111331232434422214323442122134131431432341444342443334221231231231443131231242434412231322111233141112133114343421233222411241312113224214142122434242331423324122221323142414342234114112113144233333232233433111432421323334111412242223313331244313223233431313423442211321442314113112222224221324341314312444213121214323133242141412141213241232442242313342442241442222312143111434444143132322143334231421122341132134333224144133232241424441313114313313234422344112241411411211234411122324343411314112122434234133341344441331343333232441432132231144211122134122331123433331432423113422221233424331412142431412442332331444344311424113331432421141343323231131322312123123121433132241323212142113322232342112223113132344224433314331221314224413443111433443122321313323422223233231331244311421424211313441111333221343322232333322222443242232342341421222312332113211333322433144434211333341413222422422323311313311232423122313321333132244344122423421243222411123223222312443442131334342143141133122331431411412141233321422342314312323124343224233111432434433413144323123344443113133142121224414312142424242144144424212413432232121213241332232221322234422221324342113432341332224211444434142443221311121333133342231232221433413324344142131323211411432331312314322344324212233334413431443412413422333412232143334422413441432311313314223413441333124231231214232311333311322144324233221121111421112114111142121412124132223433421313432442313434211222233132223433222134123323232234243123332232214344431123211114112442332111333333242221122241443313124121413134433224212412342142322342141222123311342131121112421122133433214224122242212311214334133234224134244423112233214222211344143224114222132411114324333322124131231133432241343434321213213341233134232443123222112344113412323231441221112244444233121444331131342241312431314311133132343441424214212133223311434341432312111333334234242322312431312124331321432141323433124434432342132232113241324114333124444244424412211131124122342000000000000010000000000000000000000042311432123211334312322441422121114134231244332122441241334322121432232132121341141422344114422114133424443242411333343234424331332123133214231112132131333433241443142313222242432233442242311323441221223213324323443323312241213214322434233431221242122433111311413214332314342443132422324434222322143212334144122323234322241334132243143331344222222212433222412422342431143112231412342422223212323223411223414312133134322134444231323213131211332133143443324212323122334323332133313223214344234241113141214213333432312334324234113343322423421244111132344313211312323312244234333343414443423414424343133344232134143134413413223334414231323432334222331243311143421222223314411221123431422141331131231414121242324312124224413134221221314323112223321221413434334311113121311424332434332441214321411212343111212223411243124223132314333334143213313143342113431121321342432114433333131123413422414232312223214414122114441433322233323333141221213233412114333124321431424433323214432143132343312133141333142422323233124112334333223412134321112312442121122131323423332233124124112233443232322112334333213222412331334444441314421413221421224312331324323124341132333231413121324422213222231131231433421242434224221223321232122423111114323421312232111231332423342423422324411124144313443433242121234221323423433322211411241343334313331314341331141222222311333322322331122323321133322143424223423323242334341241232112322323313331232432342123232132141111331221134322234324312322132132224132124122112423224331324331223123334333143223142143413321411313433241300000000000100000000000000031244323114213341211412224423342114341411443142333314412243341341332141414334324144342441431443142343000000000000000000000000000000000010000000000000000000000000000001221322331134144214323332233234411124132211331412244242314113341322223333144113124233322341332223242233214412331111133314144224314221414444312221333132413141143123243422123442242234231132332432313412232413413312332414143312331131114233113241411312214343332322213222314142123141211343414224123121142133333213142324332233343124434134132412223311211224122313143321231214341323423433311221443233224134334232211434233212333314211131342332232431232224133243323242423132131214413341421333124234232232124313422222422231221143144232224132341334434212232243433314421442314312142341232221433134441212323234232332213111421421324441441233234213444114123333334424222331222223233223332334434122321221122223434223434334423432323342132223312142142132234324242142233222132222131441443443221121313133121123223241432341331311132242423442411344413112123444222114222313123444231131221213222311344213122312211214214222211333221332324442424411233131433331433111422331212321433221311331333434134231143441132223232412431211214111314342123424423342234322324342124141124314223241344322111311124421321424421421122423342141414233432334111121214332122134422232143431222243212421324414224421132331121432413222000000100000000000000000000000000000000000000332132442144243344441432342324122112434231111233100001000002411412112114233423200100000000000000242334333314143124413323141334341212242311132313231134142143223422314113123221334321342341214113443321422343434311141123423134212223231413313411214131143434144142422134332322442132121122411443314421334231213234223224124211214332111234422222233413222414344341114233244321224223212233221132122233312243433242432113134114411324133213413124234313223432243314223133332321422211334224121232241412421333313133311212413121333123124124222332211432314134122112233332311432143221421124312112341142211322234433113221122334344421443334213314434213143243422443312133414113414443141312433334244231432334432334434112331121342434122444334432431324322211342341321112421222141333214413242321114121222112131432234333412134114242424132212413334223433223342413124132313333123124244322333132232131341121143232243123123221211421434124423142332231212323321431213241333222211233344212442131321442421233412322143433243221132321333231444143413241212411242422223413433323 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213121414234321323412123233434222423424223432133421211311231133112311242132133444321332114323141313123211211414334244214322244322132212432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444324221431231331443131231242434214231122111233141122133114343412231222414243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333233244311223231431313423442211321442314113112222224221123341314312444213121212342131144312312321441222223422222313342442241422232334131113111244423132122323124234231122341232134131224144143232221324441113114331313232422344112141432411211234411122344343411314112122434234133341344443331343333232441412132233344231122134122331123233331232423113422241233444331412132431112422312331234344311343113331434423141343123231131314112123144321133112223243112342111342232344331124213313332414431314131241132224411143111211244122111313343441221231221313444311421224213313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131343311232423124311121323314422344121223421442242413143221422114421444231314112113241313122341411411412121233111422342121332321144343224213313432432433423144323123344413333143143121224431314342424242314144424212433432232133231221322132211342234444221324342113432141334424231434434122443221312421333133342434213421233433324122142114121211411132134312334122344314212233334414411423212433424333412232143334422413441432311313314223413441333124231431214422311323132342144322223221123111421112112331142141214124132223443421313432423333434411242131142311221322432341141214211123322114413222144431131331134314444314331333122241223132243444333144323431332433421212212342142322342142222341131124331312332442132131431214322142222432331212334113234224134242333334433214122113441441422312322112413112144321322124341213111314421322234321213213341213134232443123222112344113412323212223433311222242211342221342333321331142122311143323132143441224214212131323311412141212331221111312324421112124423412421312441434143323211422212122324314212333223324134333112444242424412211331124142332000010000000000000000000000000000000042331432113414334312344244223141244111213441133342243221332444233432242132121341141422244134422114133424443244411333323214424331132143133214231112131122113431441443342333222242432231441242111321443223223212322341341323344242213214342444233431221242122433111311413214332314342443132422324434222322143212334144122323234322241334132243143331344222222212433222412422342431143112231412342422223212323244432243141134333134322134444231323213131213332433143443324212133112334323332433313221214344234241232111244213433232312334422234111141322423421244111132344313211312323312244234333343414443441332323323333322231314342324241434214142444233333411112424333243431441443222223334413223231411422143131131231414121243344312324224413334221221314323334311121421211434314311133123311434314434332441214341411212443111212223411243124223134214333334143213313143342113431121321342432114433334131123413422214232312143432222324124421431324233323333141221433211414132333322123431424433323214432143132343312133141333142422323233124112334333223412134321112312442121122131323423332233124124112433443232322112334333213222412331334444441313421211443441422344234344411142123313313241441344442422113424113111211433421342434242443443234412342223131312341242132412333213114341122243224242332344312131223213422323333233344232223323311211241321334313333114341321341424234313132223122131122323321133322141444223423323242334141241242113313323123343432132322321234224323333333221324111213122334122142332222332342142332441241313122333221123334333121411322131333243231331231441100000000000000000010000000012244123134213341213212422431144132121411441122111132432431141341334141232142121344124441431443142123000000000000000000000000000100000000000000000000000000000000000001231122313134144214333112243434211124332231331412244222314113141322243331144113124233322311332223242422232112321111133334144224312221414444312321333132413141143123243422123424234432412331134233313442232413213132334414143312333131111223113241441312214323332332233324311122143341211324431421121121242133333213142324331233343144214134332312223311311224122313143321231214321323443433311221443233224134334232211434233212333314211131344332232431232224133243323242223132133214331343441333124212432232124333224424422233323143124232234112341124434112234243433333243223134312142341232231433134441214333231232332213131441241323443231213234213244314123433334224222331222243333223332334434122321221122223434243434333323432323342132223312122142124234324232142233122132222131441443443221121313133121123223241432341331311132242423442413344413112123444222114222313123444231131221213222311344213122312211214214222211333221332324442424411233131433331433111422331212321433221311331333434134231143441132223232412431211214111314342123424423342234322324342124141121312223241314322111311124421321424421421122423342141414233432334111121214332122134422232143431222243212421324414224421132331121432413222000010000000000000000000000000000000000000000332132442144243442421432342344342342434231113213100100000002211314114112231423200000000000001000142134333342144142211423243134443441244132134313313434144144421422314113123221334321342341214113443321422341434311141123423134212223231413313411214131143434144142422134332322442132121122411443314421334231213234223224124211214332111234422222233213222214344341114233244321224223212234223112343414144221413242232311134114324124311413213442413344441234441234231141333321444411114222141232243412421333333133311232113121413123124122332332111432314114122112233332111432343221421124311412341142211342244434113443332314322421113334223344414413143411422241112333134113214443141312431332224234432334332334434112311141122234242422412244431424332213322343343122421222121333414434323133331331212314333314112133313432312422424132412413132314213413342412124112311333243242214322332132232131311121143334243123123423211421232124423142332231212323321431213241333222211233344212442131321442421213412322143433243221132321333231444143413241212413242322223133433313 31311333111143323142211224444211221123442223212142121322342134423323121422212323123142342112221342243231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444334221431231331443131231242434214231122111233141122133114343412231222414243311333224212122122434241331233334124122323142414342234114112113144233333232133431111412421123234131412242223333231244233411143233241242222133121242314332231222242344314333114134112131323424423133222141422141213241232442242313342442241442222312143111434444143132322143334231421122341132134333224144333232241424441313114333313232422344112241412311411234414322324341411314112122434234133341344443331343332232441412132233344231122134122331123233331232423113422241233444331412142431412442332331434332111343131131412321141343323233131312112123144322133132223243214142131343232342112223113112334224433314331241132224433143111211244122111313343441221231223313234111423444211313441114333431343322232232322212343242232332323421222112332113211333322433144434214333341413222122222323331313311232423122311323123314442144441223121423124133143241422314123244231133112411143331342333431341412341432323424142324112141322141224431311114212413113122131241342441113141122134122114112334124144142322424432431212212331233221332114323142312242423322221321214343132224433244314124424233111123113233442214133443213231324344422134121243411432331312334322344324212233334414431443414411244314232444311434442343233114133412131411341121422311211212334432311323311322144324223221313111421112114331242121234124132243443421313432443313434413222133134323233224132323321412211123322112413222144431131331134312424414331333122242221132241443333141323413332433421212232421342142342142222123311342131121112421132133433214324142222412331214234133234224134242333334433433124113444141442312322112413112144333322124341231133332241343434323413233311213232412414321223432343313412343231423221112244444113121444331131342241312432334311333313341123411421244333231131434321432312221333134234242323112431322144332441432141323413124434432142314212313223324132313112223332424412211331124142334000000000000000000000000000000001000042331432113414334312342444232141242111233244132342411241114342233424232332113123121422344114422134133424443244411433323234444411332122133214221112132321113411241213142333322242432241442242111323441223223213322123441133314322222233124234233431221242122433111311413214332314342443132422324434222322143212334144122323234322241334132243143331344222222212433222412422342431143112231412342422223212323223411223414312133334324132442423321133333213132411343243314242133312334323412412111223214344234341133111214213333432312334324234113343322423421244111132344313211312323312244234333343434244223434424343133344232134143134443413223334414231323432334222331243311143421222223334413243231412424143133331214432243433344331321222313334343341324323334311121421221434314313113123311434334414232444214343433312443113212223211242124223232232334134123313313343322134411323223342212114233334131321411222211434312223214414122112421431322213123333331221213211414132333322123433221231113432222133432343134314321133222232341333344114332131323231332333314132122121344313121224334321123142332213223232332312334331213222432313122444441313421231443241422344234324411142123313313241441344442422113424133111211433421333432444221223321232122423111114323421312232111231332423342423422324411124144313441433242121234421423423433322211411221343334313331334341331141222222311333322322331122323321133322143244223423323242334341241232112322323313331232432342123232132141111331221134312233324312322132132224132324122112423241331344331241323334213121211322131333321431333211223100000000000001000000000000012244123212411341413212422223122134321213323344331334231241321341314341232142121342344441432243342121000000000000100000000000000000000000000000000000000000000000000001231322333134134414333112444432211121113233321412442442334231333432423321144143324213124314214133222433432112321143433114344442222234414444312321313332233121423123243422123424234432412332332432313412232413413312332414143312331131114233113241411312214343332322213222314142123141211343414224123121142133333213142324332233343124434134132312223311311224122313143321231214321323443433311221443233224134334232211434233212333314211131344332232431232224133243323242223132131214413343421333114234232232124313422224422231221143144232224132341334434212232243433314421442314312142341232221433134441212323234232332213331421221323443231133234213244114121433334224422331222223233243132134434122321221122223414243434134321432322342132223412124142322244323232142233222132224131411443423221323413333143323222241432341331311132242423442231342413134341342143312221331323444231131221213222311344213122312211214214222211333221332324444424411233131433331433111422331212321433221311331333434134231143441132223232412431211214313314224234244421344234322342124124141141122241323343422312333122241143241212112341211114123432431442313243342334313124233232222431311222431112244342434424121124112141232413242000000000000000000000000000010000000000000000432112442144243412421434342324122112434231111233100001000002411412112114233423200100000000000000242334333314143124413323141334341212242111132313231134142143243422332213144221134341322141434111243141113141432331241142213312432241442233313331232113343434144422422134332322442132121122411443314421334231213234223224124211214332111234422222233413222414344341114231244321224223134234223112123414144221413242232313134114324124311413233442433344441234421234231341333321444411114222141232243412421333313133331212113121413121124124334332111232314114122132233332111432143221241124312412223322213344132433113221122334344421443334113344434241343411422241124113111111414443141314431332224234432324332334434112311141324232242422412244431424122431222121321312221224141333244413242131331331222114131412212113413422132424342342212431132214233222142412114132111333243242444322333132232111441123143234421344123423212421232122423142332231212323321431213241333222211233344212442131321442421213412322143433243221132321333231444121344241412431242422223413433323 31311341113341141322213214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222223424424232133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432133242223342314334411332431243223321212113242143313223334323112121123141434134144431131412431121343112331123233233241312121444431342223444111431124111233232432244212123442122134131431432341444322443334221231231231443131231242434414231322111233143122133114343412231222414243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333233244311223231431313423442211321442314113112222224221123341314312444213121212343133222141422141213342432444242321242422243342232312143311111244123132122323124234431122341132134113224144333232223324441113114333311232422344112241212311232434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412132431112422312331234344311343113331434423141343123231131314112123144321133112223243112342111342232344331124213313332414431314131241132224411143111211244122111313343441221231221313444311421224213313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131313311232423124311323123314442144441223121423124133143221422314123244231133112411143331342333431341412341432323424142314312323124343224233111432434433413144323123344443113133142121224414312142424242144144424212413432232121213241332232221322234422221324342113432341332224211444434142443221311121333133342231232221433413324344142131323211411432331312314322344324212233334413431443412413424333412244311431242342233114133412131411341123322311311212332432133322111241124422433221121111421112114111142121412124132223433421313432442313434211222233132223433222134123323232234243123332232214344431123211114112442314331333122242421132241443333141323413332433241222412342142322342142222123311342131121112421122133433214324142222432331212334113234224134242333334433214122113441441422312322112413112144321322124341213111314421322234323413233311213232412414321223432343313412343231423221112244444113121444331131342241312432334311333132343441424214212131323311212143213331221111312324421112124423412421312441434143323211422212121344132232113241324134333324224344431433431113142324344000000000100000000000000000000000000042311442321431423121324441423123214114433234332142441241334322121432432132121341141122343114424114133424443244411333343234422331332123133214231113132121113431441443312333232242432231442242111323443223223212322321341323344222222233124234233411221242322433113313313214332312142441112422324434222322143212432344122323233321241334122243143331344222222222233222412422334313323143113222124442443424114243332243111134333134322134444231323213131213332433143443324212133112334323332433313221214344234241232111214213333412312334424232211343344244223431332314344333143342141234422412433421234243423414324323113342232132142122243314423332411213322431332222313421434421341434221112411221123411422341331131231414121242324312124224413134221221314323112223321221413434334331113121311424332434332441214341411212343111212223411242124223142314333334143213313143342113431121321342432114433334131143413422214232112143432222324124441431344314111321143243211433214332313344143413221231113432222332432343134314321123242222323233124132334333223412134421114312442121344313141443112233324342114432221232332312334333213222412333132444441314441413221421214312331122323124341132333231413121324222211244111332431233421342434242443443234412342223131312341242132412333213114341122243224242332344312131223213422323333433344232223323311211241321334313133114341321341424234313132223122131122323321133322141424223423323242334341241232112322323313331232432342123232132141111331221134322234324312322132132224132124122112423224331324331223123334333143223142143413321411313433241300000000000100000000000000031244323134213341213212422431144132123411441122111132432431141341334141214144121342344441432243341121000000000000000000000000100000000000000000000000000000000000000002231342313134144214333112444412211121113233322432442442334231333432423321142143324213122314214133222433432112321143433114344442222234434444312321333332233121422321431224321222442222232332334212311442232413413312112333333312333131111223113241441312214323332332233324331122143341211324431421121121242133333213142324331233343144214234332412223311211224122313143321231214341323423433311221443233224134334232211434233212333314211131342332214231332224131423123242223132133214331343441333124212432232124333224424422231323143124232234112341124434112234243433333243223134312142341232231433134441214333231232332213131441241323443231213234213244314123433334224422331222223233243132134434122321221122223414243434134321432322342132223412124142322244323232142233222132224131411443443221121312133141323242441432341331313311324223212433342411134341424222114222313143122343333241331144442122431143112213412414214242121433114112224221441211323232331231331214143444331431123213211111214113213121224334421434412231413214311314322234244221334212332324124144141141122241323343422312333122243143441421421122423344141414233432334111121214332122134222232143433222243212421324414224433332332122414321422000000000000000000000000000000000100000000000311112442144241444421434323444122142434231333213100100000002411414114112211223200000000000100000142134333312143124411311121332343212112311312133231134144144423422314113144141112321342341214113443321413341434311141123423134212221231413313311214131143434144122222334332322422132121122411443314221334233231222142412341223234132111434222212413441224214244343214131442313412441212234223132122233312243433242432113134114411324133213413124234313223432243314223133332321422211334224121232241412421313111131113212113121413123324122332332111432314114122112233332111432143223421124312414223344213144132434133223332314324441113334223344414413143411422241124113434313234241122312433134244214434132312112212424233321342434122244334432431324324213344343321113421222141333412234323133331333323114131412212113413422132424342342212231132314231223344223322334313343123222412322333132232131343121143212243123123221221421432124423142332231212323322231143423333224233233244232233313341434141233431444143241331422312131441331444141313323212411242422223133233113 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322344322122412432133242223342314334411332431243223321212113242143313223334323112121123141434134144431131412431121343112331123233233241312121444431342223444111431124111233232432244212123442122134131431432341444322443334221231131231443131231242434414231322111233143112133114343421233222441241312113224214142122434241331233334122221223344232322234113332313132242333232133433111432421123234133442442221313331244313223233431313423442211321442314113112222224221324341314312444213121214323133242141312143213241232442242313342442241442222312143111434444143132322143334231421122341132134333224144133232241424441313114313313234422344112241411411211234411122324343411314112122434234133341344441331343333232441432132231144211122134122331123433333432423113422221233424331412142431412442332331444344311424113331432421141343323231131322312123123121433132241323212142113322232342112223113132344224433314331221314224411443111433443122321313323422223233231331244311421424211313443111333221343322232333322222443242232342341421222312332113211333322433144434211333341413222422422323311313311232423122313321333132244344122423421243222411123223222312443442131334342143141133122331431411412141233321422342324112141322141224431311114212413113122131241342441114141122134122114112334124144142322424432431212212331233221332214323122312242423322221321214343132224433244314124424233111123113233442214133441213231324344422134121243411432331312334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323112342144322233221123111421112112131142141214124132223443421313432423333434411242131142311221322432341141212211123322112413222144431131331134312424414331333122242221132241443333141323413332433421212232421342142342142222123311342131121112321132133433214324142224412331214334133234244134242333334433214122113441431442312344311313342344333324324341211133332241343414141213211341211232414414321422414123321333121231441221112244424213121444131111242241312432314311133132113441224214212111323311412141212331221111312324421112124423412421312444434143323213434212122324314212333223324134333112444242424412211331124142332000010000000000000000000000000000000042331432113414334312324444223141244111213441133342243221332444233432242132121341141422244134422114133424443244411333323214424331132143133214231112131122113431441443342333222242432231441242111321443223223212322341341323344242213214342444233233221242322433111333413231314332321223334224144214444334331231314144122343234322241334132441124441224242214312433222412422342431123112231412342422223212323223411223414312113321124312222231343211333133132413143244314444131312331322412412111221214324234223133313414213433232312334422234111141322423421244111132344313211312323312244234333343414244241414424343133344232134143134443413223334414231323432334222331243311143421222223334413243231411424143331131231414121242324312124224413134221221314323112223321221413434334311113121311424332434332441214341411212443111212223411243124223134214333334143213313143342113431121321342432114433334131123413422214232312143432222324124421431322233323333141221213233412114333124321433221231113432222133432343134314321123224232141333344112332131323231332333314132122121344313123423332233124124112233443232324112334333233222412331334444441314441413221421214312331122323124341132333231413121324222211244131332431413421242432224221223321232122423111114123421312232111231332421122243224242332344312131223213422323333233344232223323311211241321334313333114341321341424234313132223122131122323321133322141444223423323242334141241242113313323123343432132322321234224323333333221324111213122334122142332222332142142332441241313122333221123334333121411322131333243231331231441100000000000000000010000000012244123132233323211431422431144132123411441122111314432431141343334141234142121342342441432243342121000000000000000000000000000010000000000000000000000000000000000001231322333134134414333112444432211121113233321412442442334231333432423321144143324213124314214133222433432112321143433114344442222234414444312321213312233121122341233244331442242234231132332432313412232413413312332414143314333131111233113241441312214323132332211322411122123341211343414234141321242333333213142324132233343421414114332314244313242422124311121141221214141322422211313442444434223332312232231213213132133314321313144332434231332222133221323242213132131214413343421313124232232232124333224222422231321143124212234132341334434212232243433314421242134312142341232221433132441212323234232334213131421421333443233133234213244114123433334224222331222223233223332334434122321221122223434223434334323432323342132223312142142132234324242142233222132222131441423243243123413133121123242241434121131331112242423442413342413112123344222114222313141122343313241331144442122431143112213412414214242121433114112224221441211323232331231131214143444331431123213211111214113113121224332421434412231411234331314224234244421344234322324124122213341122343323344322132333222421323424421421122423344141434213431314213321214332122134222232131331222441112244342432424133332332122412321222000000000000000010000000000000000000000000000312112442144241444421414322442324142434231333213110000000002211314144412231223200000000010000000142334333314143122211411141332341212112331312333231443324314423334132213144121112341323111411111221121113121432333243142212312432241442232133333432313324112324443244113113143122313344343433233132243112411231222142224141223431314334212222222233413222214322341114231244321224223134434223132343414144221413242232313134114324124311413233442433344441234421234231141333321444411114222141232243412421332131131113232113121413141124144332332121232312112122132232332111434143223221124312112341142213322234433113221122434344221443332113344434211143411424241124113414111414443141312431332224234432334432334434112331121342434122444334432431324322211342341321112421222141333214413242321114121222112131432234333412134114242424132212413334223433223342413124132313333123124244322333132232131341121143232243123123221211421434324423142332231212323321431213241333222211233344212442131321442421213412324124233231221112133433341444121344241212411411344423413433323 31311341113341141322113214224243221133442423222134121434142114423133121243332323132442342314421144143222414432321423212143413434222223424424232133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444334221431231331443131231242434214231122111233141122133114343412231222444243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333233244311223231431313423442211321442314113112222224221123341314312444213121212343133222141422141213342432444242321242422243342232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112241212311232434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432423111222243223422231412132431112422312331234344311343113331434423141343123231131314112123144321133112223243112342111342232344331124213313332414431314131241132224411143111211244122111311343441221231221313444311421224213313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131313311232423124311323123314442144441223121423124133143221422314123244231133112411143331342333431341412341432323424142324112141322141224431311114212413113122131241342441114141122134122414112334124144142322424432431212212331233221332214323122312242423322221321212343132224433244314124424233111123113233442214133441213231324344422134121243411432131312334324444324412233334414431423432431244333412244311411242342233114133412131411341123322311311212332432133322111241124422433221313111441112114331242121234124132243443421313432443313434413422133134323233224132323321412211123322112413222144431131331134312424414331333122242221132241443333141323413134433224212412342142322342141222123311342131121112321122133433214224122242212311214334133234224134244423112233214222211344143224114222132411114344321322124341213111314421322234323413233311213232412414321223432343313412343231423221112244444113121444331131342241312432334311333132143441224214212131323311412141212331221111312324421112124423412421312441434143323211422212122324314212333223124134333112444242424412211331124142332001000000000000000000000000000000000042331432113414334312344244223141244111213441133342243221332444233432242132121341141422244134422114133424443244411333323214424331132143133214231112131122113431441443342333222242432231441242111321443223223212322341341323312241213214322432233211221244322433111313413214332314342443132422324432222322143212332144122323234322443134122423143331344222222212433222412422342431123112231412342422223212323223411223414312113121124312222231343211333133132413143244314444131312331322412412111221214324234223133313414213433232312334422234111141322423421244111132344313211312323312244234333343414244241414424343133344232134143134443413223334414231323432334222331243311143421222223334413243231412422141331131231414121242324312124124413134221221314323112223321221413434334311113121311424332434332441214321411212343111212223411243124223132314333334143213313143342113431121321342432114433334131143413422214232112143432222324124441431324233323333141221213233412114333124321433221231113432222132432343134314321123222232141333344112332131323231332333314132122121344313123423332233124124112433243334222332314333213422412333132444241314421413221221224312331324323124141132333231413121324422213222231131231413421242434224221223321232324433333132323222334412333213114341122241224242332342312131223213421113333223324222221123231221221343334313331334341331141222222311333322322331122223121133342321422241423322222334141443242123113223123343434432322341214224323333333422334311213132334142132332222332342142332443141333122333421121312333121411322331333223431313231221100000100000000000000000000012244144114231341213212424431142132123411441122111132432431141341334141434144321342144441432241341323000001000000000000000000000000000000000000000000000000000000000001221322313134144214333112243434211124332231331412244222314113141322243131144142124233142311332223242422232112323111132334144224314221414434332341313332233121423123243422123424234432412332332432413412232413413312332414143312331131114233113241411312214343332322213222314142123141211343414224123121142133333213142324332233343124434134132412223311211224122313143321231214341323423433341221443233224134334232211434233212333314211131342332232431232224133243323242423132131214413341421333124234232232124313422222422231221143144232224132341334434212232243433314421442314312142341232221433134441212323234232332213331421221323443231133232213244314123433334224222331222223233223332334434142321221122223434243434334323432323342132223312122142322244423232142233222132242131441423443221321333133141323242241432321131331112242423442231312413134341424222114221131321144231131221213222311344213122312211214214222211333221332324444424411233131433331433111422331212321433221311331333434134231143441132223232414431211214111334322234244421344234122324124124141141122241323343442112313122421323424421421122423344141414233432334111121212432334114221321133431222243212421324414224133332332122414321222000000000000000000000000000000000000000010000332132442344143444421414343442124112434233113233100001000002411412112114233423200010000000000000242334333312143122211411141332341212112331312333231443324314423422314113123221334321342341214113443324422343434311141123423134212223231413313411214131143434144122422134332322442132121122411443314421334231213234223224124211214332111234422222233413222414344341114233244321224223212233221132122233312243433242432113134114411324133213413124234313223432243314223133332321422211334224121232241412421313333133311232113121413121124124334332111232314114122132233332111432343221241124312412223322213344132433113221122334344421443334113344434241343411422241124113134313234241122312433134244214432324332334434112311141324232242422412244431424122431222121321112431244441411214413242321114121222112111432234333412134114242424132212413334223433223342413124132341333123124244322332133212131441123143234421144123423212441232122423142332231212323321431213241333222211233344212442131321442421213412322143433243221132321333231444143413243213213242422223133233113 31311341113341141322113214224243221133442423222134121434142114423133121243332323132442342314421144143222414432321423212143413434222223424424232133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444324221431231331443131231242434214231122111233141122133114343412231222414243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333233244311223231431313423442211321442314113112222224221123341314312444213121212343133222141422143213342432444242321242422243342232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112241212311232434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432423111222243223422231412132431112422312331234344311343113331434423141343123231131314112123144321133112223243112342111342232344331124213313332414431314131241132224411143111211244122111311343441221231221313444311421224213313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131313311232423124311323123314442144441223121423124133143241422314123244231133112411143331342333431341412341432323424142324112141322141224431311114212413113122131241342441113141122134122114112334124144142322424432431212212331233221332114323142312242423322221321214343132224433244314124424233111123113233442214133443213231324344422134121243411432131312334324444324412233334414431423432431242333412244311411242342233114133412131411341123322311311212332432133322111241124422433221313111441112114131242121234124132243443421313432443313434413422133134323233224132323321412211123322112413222144431131331134312424414331333122242221132241443333141323413134433224212412342142322342141222123311342131121112421122133433214224122242212311214334133234224134244423112233214222211344143224114222132411114344321322124341213111314421322234323413233311213232412414321223432343313412343231423221112244444113121444331131342241312432334311333132143441224214212131323311412141212331221111312324421112124423412421312441434143323211422212122324314212333223124134333112444242424412211331124142332001000000000000000000000000000000000042331432113414334312344244223141244111213441133342243221332444233432242132121341141422244134422114133424443244411333323214424331132143133214231112131122113431441443342333222242432231441242111321443223223212322341341323312241213214322432233211221242322433111313413214332314342443132422324432222322143212332144122323234321443134122423143331344222222212433222412422342431123112231412342422223212323223411223414312113321124312222231343211333133132413143244314444131312331322412412111221214324234223133313414213433232312334422234111141322423421244111132344313211312323312244234333343414244241414424343133344232134143134443413223334414231323432334222331243311143421222223334413243231411422141311131231414121242324312124224413134221221314323112223321221413434334311113121311424332434332441214321411212343111212223411242124223132314333334143213313143342113431121321342432114433334131143413422214232112123432222324124441431322233323333141221213233412114333124321431424433323214432143132343312133141333142422323233124112334333223412134321112312442121122131321224334321123142332213223232332312334331213222432313122444441314441413221421214312331124323124341132333231413121324222211244131332431433421333432444221223321232122423111114323421312232111231332423342423422324412124144313441433242121234421423423433322211411221343334313331334341331141222222311333322322331122223121133342321442241423322222334141443242123113223123343434432322341214224323333333422334311213132334142132332222332342344312223141331344331241343334312341411324331331223414313231241310000000000000000000000000012344123114231141213212444223142134321411443142331314432241324121134341432142321344124411432243142323000000000000000000000000000000000000000000000010000000000000000001231122331134134214333112433234211124132233121432442442334211333322223331144143324213122314234133222433432112321113433114144224314221414444312341313332233121423123243422123424234432412332332432413412232413413312332414143312331131114233113241411312214343332322213222314142123141211343414224123121142133333213142324332233343124434234132412223311211224122313143321231214341323423433341221443233224134334232211434233212333314211131342332232431232224133243323242423132131214413341421333124234232232124313422222422231321143124232224132341332434212232241433333243223133432344343232233433134441234323234232334213131421421324441441233234213444114123333334224222331222223233223132334414122321231122233434243434334323232323342132223312122142322444323232142233222132222111441443242221121313123121123142244434121111331112324223242231342413134341444242114222311321122343333243233222311344213142132231414414212241133231334324424421441211323232133231131214143444131411123331311131412333213343221322421232232234413414333314224234244421344234321324124124141141122241323343424112313122421323424421421122423344141314233432334211121214332122134222232143433222243212421324414224421132331121432413222000000000000000000001000000000000000000000000332132442144243344421434323442322144234231313233101000000002211414114112211223200000000000100000142334333312143124411311121332343212112311312133231134144144423434312113144141112323223341214113443321413341434311141123423134212223231413313311214131143434144123244113113143122313344343433233132243112411231222142224141223431314334212222222233441224214244141114231244321224223134434223132123233312443433242432113132114324124311413233422433344441234421234231341333321444411114222141232243413421333313133313212113121413123324122332332111432314114122112233332111432343221421124312412223344233342234414313223322314324421143334223344414413343411422241124113111111414443141312431332224334432334332334434112311141122234242422412244431424332213322343343122421222121333412434323133331331212314333314112133313432312422424132412413132313213413342412124112311333243242244322332132232111441123143234421344123223212421234322443142334212211123322231143223333224233233244232233313341434141213431444123433243221132321333231444143414243212431442422223413433323 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444334221431231331443131231242434214231122111233141122133114343412231222414243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333233244311223231431313423442211321442314113112222224221123341314312444213121212343133222141422143213342432444242321242422243342232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112241212311232434431124124141234333114122332232113111144231331333132232443432124111322233144134124331213232343432423111222243223422231412132431112422312331234344311343113331434423141343123231431314112123144321133112223243112342111342232344331124213313332414431314131241132224433143111211244122111313343441221231223313234111423444211313441114333431343322232232342222443242232332323421444312312111211333122433144432214313341434222142422323131343311232423124311323123314442144441223121423124133143241422314123244231133112411143331342333431341412341432323424142324112141322141224431311114212413113122131241342441114141122134122114112334124144142322424432431212212331233221332214323142312242423322221321214343132224433244314124424233111123113233442214133441213231324344422134121243411432331312334322344324212233334414431443414411244314232432143334422413441434311313314223413441333124231431214422311323112342144322233221123111421112112131142141214124132223443421313432423333434411242131142311221322432341141214211123322114413222144431131331134314444314331333122242221132241443333141323413332433421212232421342142342142222123311342131121112321132133433214344142242412331214334133234224134242333312413433122113444141224114222132411114324333322124131231133432241343434323413213341213232232444123223412343313412323231423233331422244213121444342133341333312132311341323132343121424211242133223311434341432312111333334234242322312431312141312444434143323213434212122324132232113241324134333324224344234413411131144124132000000000000000000000000010000000000042333132123231434312344441423123244114231244312322243423332422131432242132421321343422344114422134133424443444411433323334444313332122133314231112332131333433241443142313222242432233442242311323441221223213324323443323312241213214322434233431221244322433111313413214332314342443132422324432222322143212332144122323234321443134122423143331344222222212433222412422342431123112231412342422223212323223411223414312113321124312222231343211333133132413143244314444131312331322412412111221214324234223133313414213433232312334422234111141322423421244111132344313211312323312244234333343414244241414424343133344232134143134443413223334414231323432334222331243311143421222223334413243231411424143133331214432243433344331321222313334343341324323334311121421221434314311113143311434334434332441214141411212443111234223411243124223132214334334143213313143142113431121321342434114433333131123413422414232312243214414122114441433324314111321141343211433214332333344143231424433323214434143132343312133141333142422323233124112334333223412134321112312442121122131321224334321123142332213223232332312334331213222432313122444441314441413221424224312331324323124341132333443213124324422241224131332431233423333432242443221234432324433333132323222334412333213114341122243224242332344312131423213422113333223324232223323231221243123312232113312333333321442222313313343122331122323341111122121244223423323242334341241232112322323313331232432342123232132141111311221134312413122334124142132222332342122333441241313122311421121334313121223122143413223434313231221300000000000000000000010000012341123212411341413212422223122134321213323344331334231241324141314341232142321344324441231443141323000000000000000000000000000000000000000000000001000000000000000001221322333134134234333112443432211321113431131412244242314113341322223333144113124233322341332223242233214112331111133314144224314221414444312321313332233121423123243422123424234432412332332432313412232413413132334414143314333131111233113241441312214323132332211322411122122343411343414234141322242333333213142324332233343124434134132412223311211224122313143321231214341323423433311221443233224134334232211434233212333314211131342332232431232224133243323242423132131214413341421333124234232232124333224424422231323143124232234112341124434112234243433333243223134312142341232231433134441212323234232332213331421221323443231133234213244114121433334224422331222223233243132134434122321221122223414243434134321432322342132223412124142322244323232142233222132224131411443443221121312133141323242441432341331313311324223212413312413132343342143312221131321144331131221213222311344213142112211414414212241133231334324424421442211323232341211331214143444331431123213211111214133213121224332421232412231413234313334322234244221334212332324124144141141122241323343422312333122243143441421421122423344141414233432334111121214332122134222232143433222243212421324414224433332332122414321422000000000000000000000000000000000000001000000311112442144241344421414322442324142434231333213110000000002211414144412231423200000000001000000142134333312144122211423241134343441242131134332311434144144221334132213144221132341323111411111221121113121432333243142212312432241442232133333432313324112324443244113113143122313344343433233132243112411231222142224141223431314334212222222233413222214322341114231244321224223134434223132143214144221233122242123334314411324133213413124234313223432243314223133332321422211334224121232241412421313113133311112143121413123124124332332213432334214321114323312131432341221422321131442223322213344132433113221122334344421443334113344434241343411422241124113111111414443141312431332224234432334332334434112311141122234242422412244431424332213322343343122421222121331244413242331331321212314313312212111423422132422342342212431112214233222142412124132111333243242414322333132232131311121143234243123143223211421234324423342432232232134221433211241333422211233344212232131321434421213412322143433243221132321333231444143413241413213242422223413433323 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444324221431231331443131231242434214231122111233141122133114343412231222444243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333233244311223231431313423442211321442314113112222224221123341314312444213121212343133222141422141213342432444242321242422243342232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112241212311232434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412132431112422312331234344311343113331434423141343123231131314112123144321133112223243112342111342232344331124213313332414431314131241132224411143111211244122111313343441221231221313444311421224213313441114333423343121232232322212343242232332323421222112332113211333322433144434214333341413222122222323331343311232423122311121323314422344121223421442242413143221422114421444231314112113241313122341411411412121233111422342121332321144343224213313432432433423144323123344413333143143121224431314342424242314144424212433432232133231221322132211342234444221324342113432141334424231434434122443221312421333133322434213421233433324122142114121411411132134312334122344314212233334414411423212433424333412232143334422413441432311313314223413441333124231231214432311133311322144324223221313111421112114131242121234124132243443421313432443313434413222133134323233224132323321412211123322112413222144431131331134312424414331333122241223132243444333144323413134433224212412342142322342141222123311342131121112421122133433214224122242212412214334133234224134244423112233214222211344143224114222112411114324333322124131211111314421322234321213213341233134232443123222112344113412323231441221112244444233121444331131342241312431314311133132343441424224212133231131434341232332221313332234242322312431312124331321432141323433124434432342132232113241324114333324224344434413411331124122332000000000000010000000000000000000000042311432123211334312342441422121114134231244332142211241112342233424432332113123141441344114222332341224321224211411223234444311314322133242233322312121113431231413142333322242432241422223313423321433231233122123441333314322222233124234231211221244322433111313413214332314322443132422324432222322143212332144122323234322443134122423143331344222222212433222412422342431123112231412342422223212323223411223414312113121124312222231343211333133132413143244314444131312331322412412111221214324234223133313414213433232312334422234111141322423421244111132344313211312323312244234333343214443423414424343133344232134143134413413223334414231323432334222331243311143421222223314411221123431422143133331234432243433344331321222313334343241324323334311121421221434314311113121311424334434332441214341411232343111212223411242124223132234333334143213313143342114411333311342432114233334131321313424221434312223214414122114441431324314111321143243211433214332333344143433221233313432222132432343134314321123222232141333344112332131323231332333314132122121344313123423332233124124112433243332222332334333213222432333132444443313421231443241422344234344411142123113313241441344442422213224131331231233221343432442443243234412342222331312321222132412333213114341122241224242332342312131223213421113333223324222221123231221221321334313133114341321341424234313132223143313142223321133322143442241423322222334143443242123313223124343434432322341214224323333333422324321233324312322132132224132324122112423241331344331241323334213121211322131333321431313211223100000000000001000000000000012344123114231341213212422223142134321411343342331312412241344341332341232142121344342442432243121121000000000000000000000000000000000000000000000000001000000000000002231342311134144214333112243434211124332231331412244242314113341322223331144113124233342411314222244433432412331111133314144224314221414444312321333132413141143123243422123424234432412331134233313441232413213312332414143312331131114233113241411312214343332322213222314142123141211343414224123121142133333213142324332233343121414214332312223311311224122313143321231214321323443433311221443233224134334232211434233212333314211131344332232431232224133243323242223132131214413343421333114234232232124313424222422231221143144232224132341334434212232243433314421442314312142341232221433132441212323234232332213331421221323443231133234213244114121433334224222331222223233223332334433122321221122223434243434333323432323342132223314122142322244333232144233222132222131441443443221121313133121123223241432341331111132242423442433342413334343424223114421131321144331131221213222311344213142112211414414212241133231334324424421442211323232341211131214143444331431123213211111214133213121224332421232412231413234313314322234244221334212332324124144141141122241323343422312333122243143441421421122423344141414233432334111121214332122134222232143433222243212421324414224433332332122414321222000000000000000000000000000000000100000000000312112442144241344421434322442124142434231133213110000000002411314114112231423200000000001000000142334333312144122221423241134343441242131134332311434144144423422314113123221332321342341214113443321422341434311141123423134212223231413313333432313324112324442422134332322442132121122411443314421334231213234223224124211214332111234422222233413222414344341114233244321224223212233221132122233312243433242432113134114411324133213413124234313223432243314223133332321422211334224121232241412421313331131113232143121413123124124332332213432334214321114323312131432121221422321131442341142211342244434113443332314322421113334223344414413143411422241112333131133233441142112433334244314414132312112212424233321342434121244334432431324324213342343321112221242441333412434323133331331212314333314112133313432312422424132412413132314213413342412324112311333243242244322333132232111441123143234421344123223212421234342443142334212211123322231143223333224233233244232233313341434141233431444123233241221112131433343134343314241413213242422223413433323 31311341113341141322213214224243221133442423222134121434142114423133121243332323132442342314421144143222414432321423212143413434222223424424232133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444334221431231331443131231242434214231122111233141122133114343412231222414243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333231244233411143233241242222133121242314332231222242344314333114134112131323424422131144312412321441222223422222313342442241422232334131113111444443132122323124234231122341232134133224144143232221324441113114333333432422342112241212313211244431124124141234333114122332234113111144231331333132232443432124111322233322134124331223232343432223111222243223422222424142231112442332331232344311424113331132421341343323231131322312123123121433132243243112342111342232344131124213313332214431314131221314424411143111433443122321313323422223233231331244311421424211313443111333221343322232333322222443242232342341421222312332113211333322433144434211333341414222422422323311343311232423122313321333132244344122423421243222411123223222312443442131334342143141133122331431411412141232321422342324312321324341224433311132432411413322131241144443113443242321224414112342421122142142432234413432232131233221332232221342234422221344342113432341332222211444434142443221312421333133342431213421233433324122142114121211411432331312314322344324212233334413431443432231244333412232143334422413441432311412131411341123322311311212332432133322111241124422433221313111441112114331242121234124132243443421313432443313434413422133134323233224132323321412211123322112413222144431131331134312424414331333122242221132241443333141323413134433224212412342142322342141222123311342131121112421122133433214224122242212311214334133234224134244423112233214222211344143224114222132411114344321322124341213111314421322234323413233311213232412414321223432343313412343231423221112244444113121444331131342241312431334311333132143441224214212131323311412141212331221111312324421112124423412421312441434143323211422212122324314212333223324134333112444242424412211331124322344000000000001000000000000000000000000042311432321431433122324241232141242114231244132322441241334322121432232132121341141422344114422114133424443242411333343234424331332123133214231112132121113431441443342333222242432231442242111323443223223212322321341323344242213214322434233431221242122433111311413214332314342443132422324434222322143212334144122323234322241334132243143331344222222212433222412422342431143112231412342422223212323223411223414312113321124312222231343211333133132413143244314444131312331322412412111221214324234223133313414213433232312334422234111141322423421244111132344313211312323312244234333343414244241414424343133344232134143134443413223334414231323432334222331243311143421222223334413243231411422141331131231414121242324312124224413134221221314323112223321221413434334311113121311424332434332441214321411212343111212223411243124223132314333334143213313143342113431121321342432114433334131143413422214232112123432222324124441431324233323333141221213233412114333124321431221231113432222132432343134314321123222232141333344112332131323231332333314132122121344313123423332233124124112433243334222332314333213422412333132444241314421413221421224312331324323124341132333231413121324422213222231131231433421342434224221223321232122423111114323421312232111231332423342423422324411124144313441433242121234421423423433322211411241343214212113312133333321442322313132223143313144222321333322141442241423322222334143443242123313223124343434432322341214224323333333422324321413122334124142132222332342122333441141313122311421121334313121223122143413223434313231221300000000000000000000010000012341123114231341213212422223142134321411343142331312412241344141332341232142321344124411432243142323000000000000000000000000000000000000000000000010000000000000000001231122313134144214333112243434211124332231331412244222314113141322243131144142124233342311332223242422232112323111132334144224314221414434332341313332233121423123243422123424234432412332332432413412232413413312332414143314333131111233113241441312214323132332211322411122123341211343414234141321242333333213142324332233343124434134132412223311211224122313143121231214341323423433341221443233224134334232231434233212333314211131342332232431232224133243323242423132131214413341421333124234232232124313422222422231321143124232234112341324414212242243433314421242134412142341232231433134441234323234232334213131421421333443231133232213244314123433334224222331222223233223332334434122321221122223434243434334323432323342132223312122142322244333232144233222132222131441443443221323413333143323242241432341331311132242423442231344413112123444222114222313141122343313241331144442122431143112213412414214242121433112324444424411233131433331433111422331212321433221311331333434134231143441132223232414431211214111334322234244421344234122324124124141141122241323343442112313122421323424421421122423344141414233432334111121214332122134222232143433222243212421324414224121132331121432413222000000000000000000001000000000000000000000000332132442144243444421434323442124112434233113233100001000002411412112114233423200010000000000000242334333312143122211411141332341212112331312333231443324314423422314113123221332321342341214113443321422341414311141123423134212223231413313311214131143434144142422134332322442132121122411443314421334231213234223224124211214332111234422222233213222214344341114231244321224223134434223132343414144221413242232313134114324124311413233442433344441234421234231141333321444411114222141232243412421333313133311211113121413121124124334332111232314114122132233332111432143221241124312414223344213144132434133223332314324441113334223344414413143411422241124113434311414443141312431332224334434132312112212424233321342434121244334432431324324213342343321112221222441331244413242331331321212314313312212111423422132422342342212431112214233222142412124112311333243242244323333132232111441123143234421344123223212421234322443142334212211123322231143223333222211233344212442131321442421213412322143433243222312131441331444141313323212411242422223413433323 31311333111143323142211223442411241123142421222144121322342114423123121422212323123142344332233314243231111214343331214343232434222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444324221431231331443131231242434214231122111233141122133114343412231222444243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333233244311223231431313423442211321442314113112222224221123341314312444213121212343133222141422141213342432444242321242422243342232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112241212311232434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432423111222243223422231412132431112422312331234344311343113331434423141343123231131314112123144321133112223243112342111342232344331124213313332414431314131241132224411143111211244122111311343441221231221313444311421224213313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131313311232423124311323123314442144441223121423124133143221422314123244231133112411143331342333431341412341432323424142324112141322141224431311114212413113122131241342441113141122134122114112334124144142322424432431212212331233221332214323142312242423322221321214343132224433244314124424233111123113233442214133441213231324344422134121243411432131312334324444324412233334414431423432431242333412244311411242342233114133313314223413441333124231231214432311133311322144324233221313111421112114331242121234124132243443421313432443313434413222133134323233224132323321412211123322112413222144431131331134312424314331333122242221132241443333141323413332433241222232322344322342322222323331342132121112321134133243214324142222432331212334113234224134242333334433214122113441441422312322112413112144321322124341213111314421322234323413233311213232412414321223432343313412343231423221112244444113121444331131342241312432334311333132143441224214212131323311412141212331221111312324421112124423412421312441434143323211422212122324314212333223124134333112444242424412211331124142332001000000000000000000000000000000000042331432113414334312324244223141244111213441133342243221332444233432242132121341141422244134422114133424443244411333323214424331132143133214231112131122113431441443342333222242432231441242111321443223223212322341341323312241213214322432233211221244322433111313413214332314342443132422324432222322143212332144122323234322443134122423143331344222222212433222412422342431123112231412342422223212323223411223414312113121124312222231343211333133132413143244314444131312331322412412111221214324234223133313414213433232312334422234111141322423421244111132344313211312323312244234333343414244241414424343133344232134143134443413223334414231323432334222331243311143421222223334413243231412424143113331214432243433344331321222313334343341324323334311121421221434314311133123311434314434332441214341411212443111212223411243124223134214333334143213313143342113431121321342432114433333131121413422221432312143432222324114443431324233323333141221213233412114333124321433221231113432222133432343134314321123224232141333344112332131323231332333314132122121344313143423332233124124112433443232322112334333213222412331334444441314421413221421224312331324323124341132333231413121324422213222231131231413421242434224221223321232324433333132323222334412333213114341122241224242332342312131223213421113333223324222221123231221221343334313331334341331141222222311333322322331122223121133342321422241423322222334141443242123113223123343434432322341214224323333333422334311213132334142132332222332342344312223141331344331241343334312341411324331331223414313231241310000000000000000000000000012344123114231141213212444223144134321411443142331314432241324121134341232142121344142442432243121121000000000000000000000000000000000001000000000000000000000000000001222341333134333214333112444432211121113233331432244242314113341322223331144343124233322311332223242422232112321111133334144224312221414444312321213312233121122341233244331442242234231132332432313412232413413312332414143312331131114233113241411312214343332322213222314142123141211343414224123121142133333213142324132233343421414114332412224311211224122313143321231214341323423433311221443233224334334232211434233212333314221111344332232231332222133223323242223132131214413343421333124232232232124333224222422231321143124232224132341332434212232241433333243223133432344343232233433132441234323234232334213131421421324441441233234213444114123333334224222331222223233223132334434122321231122233434243434334323232323342132223312122142322444323232142233222132222111441443242221121313123121123142244434121111331112242423442233312413134341424222114221131321144231131221213222311344213122312211214214222211333221334112224221441211323232331231131214143444331431123213211111214113113121224332421434412231411234331334224234244421344234322324124122213341122343323344322112333222421323424421421122423344141432433442313243342334313124233232222431333442241113241342332424421124112141412311222000000000000000000000000000100000000000000000332132442144243444421414323324322112434231333233101000000002211414114112231223200000000010000000142334333312143122211411141332341212112331312333231443324314423422314113123221334321342341214113443321422343434311141123423134212223231413313411214131143434144142222334332322424132121122411443314221334233231222142412341223234132111434222214413441424234244323234121442313412441212234223112343414144221413242232313134114324124311413213422433344443234421234231141333321444411114222141232243412421333333133311111143121413123124124332332213432334214322114223332111432143221421124311442223344233344132433113221122334344421443334113344434241343411422241124113111113234241122312433134244214432324332334434112311141324232242422412244431424122431222121321112431244441411214413242321114121222112111432234333412134114242424132212413334223433223342413124132341333123124244322333133212131441123143234421144123223212441232124423142332231212323321431213241333222211233344212442131321442421213412322143433243221132321333231444143413241413213242422223133433313 31311341113341141322113214224243221123142421222144121322342114423123121422212323123142344312233344213231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444334221431231331443131231242434214231122111233141122133114343412231222444243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333233244311223231431313423442211321442314113112222224221123341314312444213121212342131144312412321441222223422222313342442241422232334131113111444443132122323124234231122341232134133224144143232221324441113114331313232422344112141432411211234411122344343411314112122434234133341344443331343333232441412132233344231122134122331123233331232423113422241233444222424142231112442332331234344311343113331132421341343323231131322312123123121433132243243112342111342232344131124213313332214431314131221314424411143111433443122321313323422223233231331244311421424211313443111333221343322232333322222443242232342341421222312332113211333322433144434211333341413222422422323311313311232423122313321333132244344122423421243222411123223222312443442131334342143141133122331431411412141232321422342324312321324341224433311132432411413322131241144443113443242321224414112342421122142142432234413432232131233221332232221342234422221344342113432341332222211444434142443221312421333133342431213421233433324122142114121211411432331312314322344324212233334413431443412413424333412232143334422413441432311313314223413441333124231231214232311333311322144324233221121111421112114311142121412124132223433421313412442313434411222131142321221312432321141212211123322114413222144431131331134314444314331333122241223132243444333144323413332433241222232322344322342322222323331342132121112321134133243214324142222432331212334113234224134242333334433214122113441441422312322112413112144321322124341213111314421322234323413233311213232412414321223432343313412343231423221112244444113121444331131342241312432334311333132143441224214212131323311412121212331221111312324421112124423412421312441434143323211422212122324314212333223124134333112444242424412211331124142332001000000000000000000000000000000000042331432113414334312344244223141244111213441133342243221332444233432242132121341141422244134422114133424443244411333323214424331132143133214231112131122113431441443342333222242432231441242111321443223223212322341341323312241213214322432233211221244322433111313413214332314342443132422324432222322143212332144122323234322443134122423143331344222222212433222412422342431123112231412342422223212323223411223414312113321124312222231343211333133132413143244314444131312331322412412111221214324234223133313414213433232312334422234111141322423421244111132344313211312323312244234333343414244241414424343133344232134143134443413223334414231323432334222331243311143421222223334413243231411422141331131231414121242324312124224413134221221314323112223321221413434334311113121311424332434332441214321411212343111212223411242124223132314333334143213313143342113431121321342432114433333131123413422414232312223214414122114441433324314111321143243211433214332333344143431424433313432432143111324332134341123242222321233124114332333223412114321114312442121344313141443112233324342112432223232222332332333413224432333122414441334441413221421214312331324323324341132333231413121324442213224131131213233221343432242443443234414342232331312321222132412333213114341122243224242331344312131423213422113333223324232223323231221243123312232113312333333321442222313313343122331122323343111122123244223423323242334341241232112322323313331232432342123232132141111331221134312233324312322132132224132324122112423241331344331241323334213121211322131333321411313211223100000000000001000000000000012344123212411341413212424223144134321411443142331314432241324121134343234142321344324311231443142321000000000000000000000000000000000000000000000000000000000000100001231342313134144214333112444432211121113233322432442442334231333432423321144143324213122314214133222433432112321143433114344442222234414434332241313332233121122341233244331442242234231132334212311442232413413312112333333312333131111223113241441312214323332332233324331122143341211324431421121121242133333213142324331233343144214134332312223311311224122311143321231214321323443433311221443233224134334232211434233212333314211131344332434231332222133221323242213132131214413343421313124232232232124333224222422231321143124232224132341332434212232241433333243223133432344343232233433134441234323234232334213131421421324441441233234213444114123333334224222331222223233223132334414122321231122233434243434334323232323342132223312122142322244323232142233222132222111441421243243123413133121123242241434121131331112242423442413342413112123344222114222313141122343313241331144442122431143112213412414214242121433114112224221441211323232331231331214143444331431123213211111214113113121224334421434412231411234331334224234244421344234322324124122213341122343323344322132333222421323424421421122423344141434413431314213321214332122134222232131331222441112244342432424133332332322414321422000000000000001000000000000000000000000000000332132442144241444421434323444342342434231333213100000000012211332142112113223101000000000000000242134333314143122211411141312343212242311132333231434144144423422314113123221332321342341214113443321422341434311141123423134212223231413313333432313324112324442422134332322442132121122411443314421334231213234223224124211214332111234222412233441224214244341114231244121224223134434223132143414144221233122242123334314411344333213413124233344441234421232433341312322424423332212324331431112221313333133311232113121413121124124334332111232314114122132233332131432141221422321131444223344233342232414313223322314324421143334223344414413143411422241112333111111414443141314431332224234432334332334434112311141122234242422412244431434332213322343143122421222121333412434323133331331212314333314112133313432312422424132412413132314213413342412124112311333243242244322333132232111441123143234421344123223212421234344443142334212211123322231143223333224233233244232233313341434141213431444123233243222312131441331444141313323212411442422223413433323 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341444322444324221431231231443131231242434214231122111233141122133114343412231222414243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333231244233411143233241242222133121242314332231222242344314333114134112131323424423133222141422141213342432444242321342422243342232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112241212311232434431124124141234333114122332232113111144231331333132232443432124111322233144134124331213232343432423111222243223422231412132431112422312331232344311424113331132421341343323231131322312123123121433132243243112342111342232344131124213313332214431314131221314424411143111433443122321313323422223233231331244311421424211313443111333221343322232333322222443242232342341421222312332113211333322433144434211333341413222422422323311343311232423122313321333132244344122423421243222411123223222312443442131334342143141133122331431411412141232321422342324312321324341224433311132432411413322131241144443113443242321224414112342421122142142432234413432232131233221332232221322234422221344342113432341332222211444434142443221312421333133342431213421233433324142142114121211411432331312314322344324212233334413431443432231244333412232143334422413441432311313314223413441333124231231214432311133311322144324233221121111421112114311142121412124132223433421313432442313434211222233132223433222134123323232234243123332232214344431123211114112442332111333333242221122241443313124121413134433224212412342142322342141222123311342131121112421122133433214224122242212311214334133234224134244423112233214222211344143224114222132411114324333322124131213111314421322234323413233311213232412414321223432343313412343231423221112244444113121444331131342241312432334311333132143441224214212131323311412141212331221111312324421112124423412421312441434143323211422212122324314212333223324134333112444242424412211331124142332001000000000000000000000000000000000042331432113414334312344244223141244111213441133342243221332444233432242132121341141422244134422114133424443244411333323214424331132143133214231112131122113431441443342333222242432231441242111321443223223212322341341323344242213214342444233233221242322433111333413231314332321223334224144214444334331231314144122343234322241334132441124441224242214322233222412422334313323143113222124442443424114243332243111134333334322134444231323213131211332133143443324212323122334323332133313223214344234241113141214213333432312334324234113343322423421244111132344313211312323312244234333343414443423414424343133344232134143134413413223334414231323432334222331243311143421222223314411221123431422143133331234432243433344331321222313334343221324323334311121421221434314311113121311424334434332441214341411212343111212223411243124223132214334334143313313143342114411323223342212114233333131123433422214232322143432222324124441231324314111321141243211433214332332344143431424433323214432143132343312133141333142222323233124112334333223412134321112312442121122131321224334321123142332213223232332312332331211222412333132244443114441413221421214312331124323124341132333231413121324222211224131332431233421333432242443243234412122423131312321222132412333213114341122243224242332344312131223213422113333223324232223323233211423123312232113312333121344424224313132223123113142223321111122143422421223423222334141241232113322323313331232432322321234224323333331221134312234324312324132132222332342124332423241333322333241123334333121223142143413223431313231221100010000000000000000000000012244144114211341213212424223342134341411443142333314412243324341332343214334324344324411432243142121000000000000000000000000000000000000000000000000000000001000000002231342111134134214333112443412211124132211322412442442334231333432423321142113341213122314214133222433432112321113433114144242312231414434332341313332233121423123243422123424234432412332332432413412232413413312332414143312331131114233113241411312214343332322213222314142123141211343414224123121142133333213142324332233343124434134132412223311211224122313143321231214341323423433341221443233224134334232211434233212333314211131342332232431232224133243323242423132131214413341421333124234232232124313422222422231321143124212234132341334434212232243433314421242134312142341232221433132441212323234232334213131421421333443233133234213244114121433334224222331222223233223332334414122321221122223434243434334323432323342132223312124142322244323232142233222132224131411443243221121312133141323242441432341331313132242423442231344413112123444222114222313141122343313241331144442122431143112213412414214242121433114112224221441211323232331231131214143444331431123213211111214113113121224332421434412231411234331334224234244421344234322324124122213341122343323344322112333222421323424421421122423344141432433442313243342334313124233232222431333442241113241342332424421124112141412311222000000000000000000000000001000000000000000000332132442144243444421414323324322112434231133213100100000002211414144112111223100000000000100000142134333312143124411311121312343242112311312133231134144144423434312113144141112323223341214113443321413341434311141123423134212223231413313311214131143434144122222334332322422132121122411443314221334233231222142412341223234132111434222212413441224214244343214131442313412441212234223134343214344243433242432113132114324124311413233422433344441214421234223333332141422211334224121232241412421313333133311112143121413123124124332332213432334214321114323312111432143221241124312412341142211342244434113443332314322421113334213344434243143411422241112333111111414443141312431332224334432334332334434112311141122234242422412244431424332213322343343122421222121333412434323133331331212314333314112133313432312422424132412413132314213413342412124132311333243242244322333132232111441123143234421344123423212421234342443142334212211123322231143223333224233233244232233313341434141233431444123241331422312131441331444141313323212431442422223413433323 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322344322122412432133242223342314334411332431243223321212113242143313223334323112121123141434134144431131412431121343112331123233233241312121444431342223444111431124111233232432244212123442122134131431432341444322443334221231231231443131231242434414231322111233143112133114343421233222441241312113224214142122434241331233334122221223344232322234113332313132242333232133433111432421123234133441442221313331244313223233431313423442211321442314113112222224221123341314312444213121212342131144312412321443342432444242321242422243342232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112241212311232434431124124141234333114122332232113111144231331333132232443432124111322233144134124331213232343432423111222243223422331412142431412442332331434332111343131131412321141343323233131312112123144322133132223243214142131343232342112223113112334224433314331241132224433143111211244122111313343441221231223313234111423444211313441114333431343322232232322212343242232332323421222112332113211333322433144434214333341413222122222323331313311232423122313121323314422344121223421442242413143221422114421444131314112113241313122341411411412121233111422342324312321324341224433311132432411413322131241144443113443242321224414112342421122142142432234413432232131233221332232221322234422221344342113432341332222211444434142443221312421333133342431213421233433324122142114121211411432331312314322344324212233334413431443432231244333412232143334422413441432311313314223413441333124231231214432311133311322144324223221313111421112114331242121234124132243443421313432443313434413222133134323233224132323321412234243123332232214344431123211114112442314331333122242421132241443333141321413332433241212232321342322342322222321131124331312332442132131431214322142322412331214234133234224134242333312413433122113444141442312344311313342342433122142343411311312243143434321213213341413212232444133223412343113412123231441221112244444213121444131131342241312432334311133132343441424214212131331313434321432312221333334234221322122421412424332441212311121433124434432322132232113241324134333324224344231412211331124322344000000000001000000000000000000000000042311432321431433122222241232141242114231244332322441241334322121432232132421321343422344114422134133424443444411433323334444313332122133314231112332131333433241443142313222242432233442242311323441221223213324323443323312241213214322434233431221242122433111311413214332314342443132422324434222322143212334144122323234322241334132243143331344222222212433222412422342431143112231412342422223212323223411223414312133134322134444231323213131211332133143443324212323122334323332133313223214344214241113141214213333432312334324234113343322423421244111132344313211312323312244234333343414443423414424343133344232134143134413413223334414231323432334222331243311143421222223334413243231412424143113331214432243433344331321222313334343341324323334311121421221434314311133123311434314434332441214341411212443111212223411242124223134214333334143213313143342113431121321342432114433333131123413422414232312243214414122114441433322233323333141221213233412114333124321431221231113432222132432343134314321123222232141333344112332131323231332333314132122121344313123423332233124124112433243334222332314333213422412333132444241314421413221421224312331324323124341132333231413121324422213222231131231433421242434224221223321232122423111114323421312232111231332423342423422324411124144313443433242121234221323423433322211411241321334313333114341321341424234313132223143313142223321133322141442221423423142334341423242113313322323343432432323341234224323333331221322312233324312322132132224132324122112423241331344331241343334312141421322133413321411331231221100000000000000000001000000012244123132213323211431422431142132123411441122111314432431141343334141234142121344324441431443142341000000000000000000000000000000000000000000000000001000000000000001231122313134144214333112243434211124332231331412244222314113141322243131144142124233342311332223242422232112323111132334144224314221414434332341313332233121423123243422123424234432412332332432413412232413413312332414143312331131114233113241411312214343332322213222314142123141211343414224123121142133333213142324332233343124434234132412223311211224122313143321231214341323423433341221443233224134334232211434233212333314211131342332232431232224133243323242423132131214413341421333124234232232124313422222422231321143124232224132341332434212232241433333243223133432344343232233433132441234323234232334213131421421324441441233234213444114123333334224222331222223233223132334434122321231122233434243434334323232323342132223312122142322444323232142233222132222111441421243243123413133121123242241434121131331112242423442231312413134341424222114221331321122343333243233222311344213142132231414414212241133231334324424421441211323232133231131214143444131411123331311131412333213343221322421232232234413414333314224234244421344234322342124124141141122241323343422312333122241143241212112341211114141414233432334111121214332122134222232143433222243212421324414224433332332122414321422000000000000000000000010000000000000000000000311112442144223342243334223442324112432431331413100000000102211434144112213223101000000000000000242134333314143122211411141332341212112331312333231443324314423334132213144221132341323111411111221121113121432333243142212312432241442232133333432313324112324443244113113143122313344343433233132243112411231222142224141223231314334212222222233413222214322341114231244321224223134433241132123414144221413242232313134114324124311413233442433344441234421234231141333321444411114222141232243412421332333133311111143121413123124124332332213432334214322114223332111432143221421124311442223344233342234414313223322314324421143334223344414413143411422241112333114133233441142112433334244314414132312112212424233321342434121244334432431324324213342343321112221242441331244413242331331321212314313312212111423422132422342342212431112214233222142412124112311333243242244322333132232111441123143234421344123223212421234324443142334212211123322231143223333224233233244212233313341434141213431444123241331422312131441331444121344243212431442422223413433323 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444334221431231331443131231242434214231122111233141122133114343412231222414243311333224212122122434241331233334124122323142414342234114112113144233333432133433131132421323334111412242223333231244233411143233241242222133121242314332231222242344314333114134112131323424423133222141422141213342432444242321242422243342232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112241212311232434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432423111222243223422231412132431112422312331234344311343113331434423141343123231431314112123144321133112223243112342111342232344331124213313332414431314131241132224411143111211244122111313343441221233231331244311421424211313443111333221343322232333322222443242232342341421222312332113211333322433144434211333341413222422422323311343311232423122313321333132244344122423421442222411123223222312443442131334342143141133122331431411412141232321422342121332321144343224213313432432433423144323123344413333143143121224431314342424242314144424212413432232133231221322132211342234444221324342113432141334424231434434122443221312421333133342434213421233433324122142114121211411132131312334324444324412233334414431423432431242333412244311411242342233114133412131411341123322311311212332432133322111241124422433221121111421112114311142121412124132223433421313432442313434211222233132223433222134123323232234243123332232214344431123211114112442314331333122242421132241443333141321413332433241212232421342322342322222321131124331312332442132131431214322142322412331214234133234224134242333312413433122113444141442312344311313342342433122142343411311312243143434321213213341413212212444133223412343113412123231441221112244444213121444131131342241312432334311133132343441424214212131331313434321432312221313334234221322122421412424332441212311121433124434432322132232113241324134333324224344431412211331124322344000000000001000000000000000000000000042311432321431433122322241232141242114231244332322441241334322121432232132421321343422344114422134133424443444411433323334444313332122133314231112332131333433241443142313222242432233442242311323441221223213324323443323312241213214322434233431221242122433111311413214332314342443132422324434222322143212334144122323234322241334132243143331344222222212433222412422342431143112231412342422223212323223411223414312133334322134444231323213131211332133143443324212323122334323332133313223214344234241113141214213333432312334324234113343322423421244111132344313211312323312244234333343414443423414424343133344232134143134413413223334414231323432334222331243311143421222223334413243231411424143113331214432243433344331321222313334343341324323334311121421221434314311133123311434314434332441214341411232443111212223411243124223134214333334143213313143342113431121321342432114433333131123413422414232312223214414122114441433322233323333141221213233412114333124321431221231113432222132432343134314321123222232141333344112332131323231332333314132122121344313123423332233124124112433243334222332314333213422412333132444241314421413221421224312331324323124341132333231413121324422213222231131231433421242434224221223321232122423111114323421312232111231332423342423422324411124144313443433242121234221323423433322211411241343334313331314341331141222222311333322322331122323321133322143424223423323242334341241232112322323313331232432342123232132141111331221134322234324312322132132224132124122112423224331324331223123334333143223142143413321411313433241300000000000100000000000000031244323114231141213212424223342134341411443142333314412243341121134341232142121344324441231443142321000000000000000000000000000000000000000000000010000000000000000002231342313134144214333112243434211124332231331412244242314113341322223331144143124233342411314222244433432112331111133314144224314221414444312321213312233121122321233244331442242234231132332432313412232413413312332414143314333131111233113241441312214323132332211322411122123341211343414234141321242333333213142324132233343421414114332414224113242422124311143121231212121322422213411242443233234332314234231214233211133314321313344332212231332224131223123242223132133214331343441333124212432232124333224424422233323143124232224112341124434112234243433333243223134312142331232221433134441234323234232334213131421421324441441233234213444114123333334224222331222223233223132334434122321231122233434243434334323232323342132223312122142322444323232142233222132222111441443242221121313123121123142244434121111331112242423442413342413112123344222114222331321144231131221213222311344213122312211214214222211333221332324444424411233131433331433111422331212321433221311331333434134231143441132223232414431211211111314322234244221334212332324124144141141122241323343424312333122243143444421421122423344141434233432334111121214332122114222232143433222243212421324412424133332332122412321222000000000000000000000000000000000000000000001332133442144223342421314243442322142434231313233101000000002211414144112231223200000000010000000142334333314143122211411141332341212112331312333231443324314423422314113123221332321342341214113443321422341434311141123423134212223231413313311214131143434144123244113113143122313344343433233132243112411231222142224141223431314334212222222233441224214244141214231244321224223134433221114343234342221233122242123344334411344333213413124234313223432243312433341333321424411334222121232241412421312333133331232113121413121124124332131111231314114142132233332111432323321241134312112341142211342244434113443332314322421113334223344414413141243222443324133111111414443141312431332224334414132312112212424233321342434121244334432431324324213342343321112221222441331244413242331331321212314313312212111423422132422342342212431112214233222142412124132111333243242414322333132232131311121143234243123143423211421234324443142334212211123322231143223333224233233244232233313341434141233431444123241331422312131441331444121344241212431442422223413433323 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322244322132212432133442223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442122134131431432341444342443334221231231231443131231242434412231322111233141112133114343421233222441241312113224214142122434242331423324122221223344232322234113332313132242333232233433111432421323334111412242223333231244233411143233241242222133121242314332231222242344314333114134112131323424422131144312412321441222223422222313342442243342232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112241212311232434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412132431112422312331234344311343113331434423141343123231131314112123144321133112223243112342111342232344331124213313332414431314131241132224411143111211244122111313343441221231221313444311421224213313441114333423343121214233322422413224232132321221222112412113211332142233144434211333341413222422422323311313311232423122313321333132244344122423421242222411123223222312443442131334342143141333122331431411412141232321422342324312321324341224433311132432411413322131241144443113443242321224414112342421122142142432234413432232131233221332232221322234422221344342113432341332222211444434142443221312421333133342431213421233433324122142114121211411432131312334324444324412233334414431423432431242333412244311411242342233114133412131411341123322311311212332432133322111241124422433221313111421112114131242121234124132243443421313432443313434413222133134323233224132323321412211123322112413222144431131331134312424414331333122242221132241443333141323413332433421212232421342142342142222123311342131121112321132133433214324142222432331212334113234224134242333334433214122113441441422312322112413112144321322124341213111314421322234323413233311213232412414321223412343313412343231423221112244444113121444331131342241312432334311333132143441224214212131323311412141212331221111312324421112124423412421312441434143323211422212122324314212333223324134333112244242424412211331124142332000000100000000000000000000000000000042331432113414334312324444223141244311213441133342243221332444233432242132121341141422244134422114133424443244411333323214424331132143133214231112131122113431441443342333222242432231442242111321443223223212322341341323344242213214322432233211221242322433111313413214332314342443132422324432222322143212332124122323234322241334132443143331344224222212433222412422342431123112231412342422223212323223411223414312113321124312222231343211333133132413143244314444131312331322412412111221214324234223133313414213433232312334422234111141322423421244111132344313211312323312244234333343214244241414424343133344232134143134443413223334414231323432334222331221434421341222223334411223131411222141133131234432243433342131321222413314221241314341332321321421411432312111313123333433134232312224234343433312443113212423233322242221232214334331142313333341322333431121321342432114433234131123413422214232312143432222324124421431324314111321143243211433214332333344143433221231113432222133432343134314321123224232141333344112332131323231332333314132122121344313123423332233124124112233443232322112334333213222412331334444441314441413221421214312331122323124341132333231413121324222211244111332431233421342434242443443234412342222131312341442132412333213114341122243224242332344312131223213422323333233344232223323213211241343334313331314341331141222222311333322322331122323323111322321444223423323242334341241232112322323313331232432342123232132141111331221134322234324312322132132224132124122112423224331324331223123334333143223142143413321411313433241300000000000100000000000000031244323132233323211431422431142132123411441122111314432431141343334143214334324144324441431443141321001000000000000000000000000000000000000000000000000000000000000001221322333134134214334312444432231341113231131212244243314113341322223333144143124233322341332133242233214112331111133314144224314221414444312321333132413141143123243422123442242234231132334212311242431231231332332313131212331131114233113241411312214343332322213222314142123141211343414224123121142133333213142324332233343124414134132314244313242422124311121141221214141322422211313442444434223332312232231434233212333314211131344332232431232224133243323242223132131214413343421333114234232232124313424222422231221143144232224132341334434212232243433314421442314312142341232221433134441212323234232332213331421221323443231133234213244114121433334224422331222223233243132134434122321221122223414243434134321432322342132223412124142322244323232142233222132224131411443423221323413333143323222241432341331311132242223442231342413112123342143312221131321144231131221213222311344213122312211214214222211333221332324444424411233131433331433111422331212321433221311331333434134231143441132223232412431211214333314322234244221334212332324124144141141122241323343422312333122243143441421421122423344141432433442313243342334313124233232222431333442241113241342332424421124112141232313242000000000000000000000010000000000000000000000411112442144223342243334223442324112432431331413100000000102211434144112213223101000000000000000242134333312313122211411141332341212112331134332311434144144423422314113123221334321342341214113443324422343434311141123423134212223231413313411214131143434144142222334332322424132121122411443314221334233231222142412341223234132111434222214413441224234244323234121442313412441212234223112343414144221413242232313134114324124311413233442433344441234421234231141333321444411114222141232243412421333313133311212113121413121124124334332111232314114122132233332111432143221241124312412341142211342244434113443332314322421113334223344414413143411422241112333111111414443141314431332224234432334332334434112311141122234242422412244431424332213322343143122421222121333412434323133331331212314333314112133313432312422424132412413132314213413342412124112311333243242244322333132232111441123143234421344123423212421234342443142334212211123322231143223333224233233244232233313341434141213431444123241331422312131441331444141313323213213242422223413433323 31311333111143323142213214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222223424424232133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444334221431231331443131231242434214231122111233141122133114343412231222414423312133224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333231244233411143233241242222133121242314332231222242344314333114134112131323424422131144312412321443222232442242313342442241422432312133111434444143132322143334241423122341132132131224122133232221422241112114331313232422344112141432411211234411122344343411314112122434234133341344443331343332232441412132233344231122134122331123233331232423113422241233444332412142431412442332331434332111343131131412321141343323233131312112123144322133132223243214142131343232342112223113112334224433314331241132224433143111211244122111313343441221231223313234111423444211313441114333431343322232232342222443242232332323421444312312111211333122433144432214313341434222142422323131343311232423124311323123314442144441223121423124133143221422314123244231133112411143331342333431341412341432323424142324112141322141224431311114212413113122131241342441113141122134122114112334124144142322424432431212212331233221332214323122312242423322221321214343132224433244314124424233111123113233422214133443213231324344422134121243411432331312334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323112342144322233221123111421112112131142141214124132223443421313432423333434411242131142311221322432341141214211123322114413222144431131331134314444314331333122241223132243444333144323413134433224212412342142142342142222123311342131121112321132133433214324142222432331212334113234224134242333334433214122113441441422312322112413112144321322124341213111314421322234323413233311213232412414321223432343313412343231441221112244444213121444131131342241312432334311133132343441424214212131331313434321432312221333334234221322122421412424332441212311121433124434432322132232113241324134333324224344231412211331124322344000000000001000000000000000000000000042311432321431433122324241232141242114231244332322441241334322121432232132121341141422344114422114133424443242411333343234424331332123133214231112132121113431441443342333222242432231442242111323443223223212322321341323344242213214322434233211221244322433111313413214332314342443132422324432222322143212332144122323234322443134122423143331344224222213433222412422342431123312231412342422223212323223411223414312133334324132442423321133333213132411343243314242133312334333432412111221214344234241133111214213333432312342324434111313124244221431332314342331143342141234422412411423414444243314344123312222432132142124243314223332411213322431332222313443311143421222223334413243231412424143113331214432243433344331321222313334343341324323334311121421221434314311133123311434314434332441214341411212443111212223411242124223134214333334143213313143342113431121321342432114433333131123413422414232312243214414122114441433322233323333141221213233412114333124321433221231113432222133432343134314321123224232141333344112332131323231332333314132122121344313123423332233124124112433443232322112334333213222412331334444441314421413221421224312331324323124341132333231413121324422213222231131231433421242434224221223321232122423111114323421312232111231332423342423422324412124144313441433242121234421423423433322211411221343334313331334341331141222222331333322322331122223121133342321422241423322222334141443242123113223123343434432322341214224323333333422334311213132334142132332222332342142332443241333122333421121312333121411322331333223431313231221110000000000000000000000000012244123114231141213212444223144134321411443142331314432241324121134343234142321144124411432243142321000000000000000000000000000000000000000000000000000000100000000002231342111134134234333112443412211124132211322412442442334231333432423321144113341213122314214133222433432112121113433114144242312234414234334321333332233121422321431224321222442222232332334212311442232413413312112333333312333131111223113241441312214323332332233324311122143341211324431421121121242133333213142324331233343144214234332312223311311224122313143321231214321323443433311221443233224134334232211213213132133314321313144332434231332222133221323242213132131214413343421313124232232232124333224222422231321143124212234132341334434212232243433314421442314312142341232221433132441212323234232332213111421423323443231233234213242114143423334224222331222223233223332334434122321221122223434243434134323432323342132233312122142124234324232142231122112322133443423243323323413333121323242231432321331311112342441242233112413134341444242114222313121124341333243233222311344213142112211414414212241133231334124424421442211323232331231131214143444133411123331311131414134231143441132221212412241431234331114222234244423344234332124122244113321322243323344422112333112421323424421421122423344141414233432334211121212332334114221321133333222243212421324414224421132331121432413222000000001000000000000000000000000000000000000332132442144223342443432242324122112434231331233100001000002211412112114233423200000010000000000242134333312113124411311121332341212242311132332311134144144423422314113123221334321342341214113443321422343434311141123423134212223231413313411214131143434144142222334332322424132121122411443314221334233231222142412341223234132111434222214413441424234244323234121442313412441212234223112143414144221413242232313134114324124311413233442433344441234421234231141333321444411114222141232243413421333313133311212113121413121124124334332111232314114122132233332111432143221241124312412341142211342244434113443332314322421113334223344414413141243222443324133114111414443141312431332224234432334332334434112311141122234242422412244431424332213322343343122421222121333412434323133331331212314333314112133313432312422424132412413132314213413342412124112311333243242244322333132232111441123143234421344123223212421234322443142334212211123322231143223333224233233244212233313341434141213431444123241331422312131441331444141313323212431442422223413433323 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334411332433223223321212113244143313443132121112342323141434422144231134412431143343312332123231233241332441443411342241242113131124111331232434422214123442144131131431432341424322444334221431231331443131231242434214231122111233141122133114343412231222441243312133224214122122434241331233334124122323142414342234114112113144233313432133433131133221323334111412442221313331244313223233431313423442211321442314113112222224221324341314312414213121214323133242141412141213342432444242321242422243342232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112241212311232434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111224223223422231412132431112422312331234344311343113331434423141343123231131314112123144321133112223243112342111342232344331124213313332414433314331221314224413443111433443122321313323422223233231331244311421424211313443111333221343322232333322222443242232342341421222312332113211333322433144434211333341413222422422323311343311232423122313321333132244344122423421243222411123223222312443442131334342143141133122331431411412141233321422342324112141322141224431311114212413113122131241342441114141122134122114112334124144142322424432431212232121213241332232221342234422221324342113432341332224211444434142443221311121333133342231232221433413324344142131323211411432331312314322344324212233334413431443412413424333412232143311442343233114133412131411341121422311211212334432311323311322144324223221313111421112114131242121234124132243443421313432443313434413222133134323233224132323321412211123322112413222144431131331134312424414331333122242221132241443333141323413332433421212232421342142342142222123311342131121112321132133433214324142222432331212334113234224134242333334433214122113441441422312322112413112144321322124341213111314421322234323413233311213232412414321223432343313412343231423221112244444113121444331131342241312432334311333132143441224214212131323311412141212331221111312324421112124423412421312441434143323211422212122324314212333223324134333112444242424412211331124142332001000000000000000000000000000000000042331432113414334312344244223141244111213441133342243221332444233432242132121341141422244134422114133424443244411333323214424331132143133214231112131122113431441443342333222242432231441242111321443223223212322341341323344242213214342444233233221242322433111333413231314314342443132422324432222322143212332144122323234322443134122423143331344222222212433222412422342431123112231412342422223212323223411223414312113121124312222231343211333133132413143244314414131312331322412412111221214324234223133313414213433232312334422234111141322423421244111132344313211312323312244234333343214444223434424343133344232134143134413413223334414231323432334222331243431441443222223334413223231411422143133331214432243433344331321222313334343241314323334311121421221434314311113121311424334434332441214341411212343111212223411243124223132214333334143213313143342113431121321342432114433333131123413422414232312223214414122114441433322213123331331221213211414132333322123431221231113432222132432343134314321123222232141333344112332131323231332333314132122121344313123423332233124124112433243334222332314333213422412333132444241314441413221421214312331122323124341132333231413121324222211244111332431213423333432444221223321232122423111114323421312232111231332423342423422324412124144313441433242121234421423423433322211411221343334313331334341331141222222311333322322331122223121133342321422241423322222334141443242123113223123343434432322341214224323333333422334311213132334142132332222332342142332443141333122333421121312333121411322331333223431313231221100000100000000000000000000012244144134213341213212422431144132123411441122111132432431141341334141234344321342344441432241341323000001000000000000000000000000000000000000000000000000000000000001221322333134134214334312444432231341113233131212244242334113341322223331144113124233322341332223242233214112321111133334144224314221234434332321333132413121422321431224321222432222232331334212311442232413413312112333333312333131111223113241441312114323332232233324311122123341211324431421121121242133333213142324332233343144414233332414324313242422334311143123233234143342422413311442443233224332314242231414431212133114321313344312234231332224131423121242221132131244413343221333124234234212124313422222422231321143124212234114341324114212242443133314421442134312142341232231233134441234323234232332213131421221323443231133234213244114123433234224222331242221233223132334434122321221122223434243234134323232323342132223312322132322444323232312233231312322133443421243243323413334143321242241432341331313312222423442233342413112123444142114241131321144231131221213222311344213122313211214214222211333221332324444424411233131433331433111422331212321433221311331333434134231143441132223232412431211214111311342123424423342234322324342124141121312223241344322111311124421321424421421122423342141414233432334111121214333122134222232143431222243212421324414224421132331121432413222000000000000100000000000000000000000000000000332132442144243444421432342344344342434231333233100010000002211412112112213213210000000000000000242134143112143124411311121312343242112311312133231443324314423434314113323221334321342341214113443321422341434311141123423134212223231413313411214131143434144142222334332322424132121122411443314221334233231222142412341223234132111434222214413441224234244323234121442313412441212234223112343414144221413242232313134114324124311413233442413244441234421234231341333321444411114222141232243412421313333133311212113121413321124124334332111232314114122132233332111432143221241124312412341142211342244434113423332314324421113334223344434211341243222443324133114111414443141314431332224234432334332334434112311141122234242422412244431424332213322343343122421222121333412434323133331331212314333314112133313432312422424132412413132314213413342412124112311333243242244322333132232131341123143234421144123223211421234324423142332232212123221431211241333222211233344212233311321434421213412322143431243221112121333343434141344241212213242422223133233113 31311341113341141322113214224243221133442423222132121322342114423123121422212323123142344332233314243231111214343331214343232434222423424223432133421211311231133112311242132133444321332114323141313123211211414334244214322244322132212432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214323442122134131431432341444342443334221231231231443131231242434412231322111233141112133114343421233222414243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333231244233411143233241242222133121242314332231222242344314333114134112131323424422131144312412321441222223422222313342442241422232334131113111444443132122323124234231122341232134133224144143232221324441113114333333432422342112241212313211244431124124141234333114122332234113111144231331333132232443432124111322233322134124331223232343432223111222243223422222412142431412442332331444344311424113331432421141343323231131322312123123121433132241323212142113322232342112223113132344224431314131241132224411143111211244122111313343441221231221313444311421224213313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131313311232423124311323123314442144441223121423124133143221422314123244231133112411143331342333431341412341432323424142314312323124343224233111432434433413144323123344443113133142121224414312142424242144144424212413432212331233221332214323142312242423322221321214343132224433244314124424233111123113233442214133441213231324344442134121213411132134312334322344314212233334414431443412413424333412244311411422413441432311313311223413441333324231212332432113323111241344422223221123111421112114131142121214124132223443421313432443313434411222111142321221312432321141234114223323132213214344431131231312112142312111333132242241131221423314344321413114423224212212342142322342142222123311342131121112421122133433214324142222412331214234133234224134242333334433433124113444141442312322112413112124333322124131231133432241343434321213213341233134232443123222112344113412323212223433311222242211342221342333321331144122311143323313341123411421244333231131434321432312223333134232421112124423414421112444432141323413124434432142314212313223324132313112223332424212211331144324344000000000000000000000001000000000000042311434321431423121224241223141242311213441132342243221332444233432432132113123141441344114222332341224321224211411223234444311314322133242233322312121111231434441144132221431333233422123313423321433231233122123441133314322222233124244331211221242322433113313313214332312342441112422324434222322143212432344122323233321241334122441124443344242214322411422234344434333323143113222124442443424114243332242111312133334322134444231323213131211332433143443324212133112334323332433313221214344234241132111214121343232312334422234111141322423421244111132344313211312323312244234333343414243441332323323333322231314342324211434214132444233333411112424333243311143421222223314411221123431422143133331234432243433344331321222313334343241324323332311121421221434314311113123311434314434332441214341411212443111212223411243124223132214333334143213113143342113431121321342432114433334131123411222224232312223214414122112421431424314111321141243211433214332333344143431221231313432422133432343134314324123222232141343344112332133223231332333314132122123344313141423132233144342112433223242222332334333211222412133132444441114441413221421214312331324323324341132333231413121324442213224131131213213421342432242443221234412342223111114323421312232111231332423342423422324411124144313443433242121234221323423433322211411241343334313331314341331141222222311333322322331122323323111122121242221421433222244121443234313323223124343414432322341214224323333333442334112233324312322332122244132324122112223141331344331241343334312341411322331331241211311231441100000000010000000000000000012244123114231341213212424431142132123411441122111132432431141341334141432344121322342441432243342123000000100000000000000000000000000000000000000000000000000000000001221322331134134214333112433234211124132233121432442442334211333322223331144143324213122314234133222433432112321113433114144224314221414444312221333132413141143123243422123424234232412331134233313442232413213132334414143312331131114233113241411312214343332222213222314142123141211343414224123121142133333213142324332233343124414134132314244313242422124311121141221214141322422211313442444434223332312232231213213132133314321313144332434231332222133221323242213132131214413343421313124232232232124333224222422231321143124212234134341334434212232243433314421242134312142341232221433134441212323234232334213131421421333443233133234213244114121433334224222331222223233223332334414122321221122223434243434334323432323342132223312124142322444323232142233222132224131411443443221121312133141323242441432341331313132242423442231344413112123444222114222313141122343313241331144442122431143112213412414214242121433114112224221441211323232331231131214143444331431123213211111214113113121224332421434412231411234331314224234244421344234322324124122213341122343323344322112333222421323424421421122423344141432433442313243342334313124233232222431333442241113241342332424421124112141412311222000000000000000000000000000100000000000000000332132442144243444421414323324342342434231333213100000000012211332142112113213101000000000000000242134333314143122211411141312343212242311132333231434144144423422314113123221332321342341214113443321422341434311141123423134212223231413313333432313324112324442422134332322442132121122411443314421334231213234223224124211214332111234222412233441224214244341114231244121224223134434223132143414144221233122242123334314411344333213413124233344441234421232433341312322424423332212324331431112221313333133331112413121333123124124222332211432314134122112233332311432143221421124312112341142211344132434133223332314324441113334223344414413141243222443324133134113214443141312431332242231234334312112212424233321342444122244334432431324324213342343321112221224141333244413242131331331222114131412212113413422132424342342212431132214233222142412114134313333123124244322333132232111441123143234421344123223212421234344443142334212211123322231143223333224233233244232233313341434141213412322143433243221132321333231444143413241413213242422223413433323 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312221223324344322134212432133242222323312214413113231421423321232311442141311423132323132121121141434424144231134412231123343112331123233233241334421443411342241242113131124111331232434422214323442124131131431432341442322443334231232231331443131231242434214231122111233141122133114343422231222414243311333224212122122434241331233334122221223344232322234113332313132242333232133433111432421123234133441442221313331244313223233431313423442211321442314113112222224221324341314312444213121214323133222141422143213342432444242321242422243342232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112141432411211234411122344343411314112122434234133341344443331343332232441412132233344231122134122331123233331232423113422241233444331412142431412442332331434332111343131131412321141343323233131312112123144322133132223243214142131343232342112223113112334224433314331241132224433143111211244122111313343441221231223313234111423444211313441114333431343322232232322212343242232332323421222112332113211333322433144434214333341413222122222323331343311232423122313121323314422344121223421442242413143221422114421444131314112113241313122341411411412121233111422342121332321144343224213313432432433423144323123344413333143143121224431314342424242314144424212413432232133231221322132211322234444221324342113432141334424231434434122443221312421333133342434213421233433324122142114121411411132134312334122344314212233334414411423212433424333412232143311442343233114133412131411341121422311211212334432311323311322144324223221313111421112114331242121234124132243443421313432443313434413222133134323233224132323321412211123322112413222144431131331134312424332111333333242221122241443313124121413332433421212232421342142342142222123311342131121112421132133433214324142222432331212334113234224134242333334433214122113441441422312322112413112144321322124341213111314421322234323413233311213232412414321223432343313412343231423221112244444113121444331131342241312432334311333132143441224214212131323311412121212331221111312324421112124423412421312441434143323211422212122324314212333223324134333112444242424412211331124142332001000000000000000000000000000000000042331432113414334312344244223141244111213441133342243221332444233432242132121341141422244134422114133424443244411333323214424331132143133214231112131122113431441443342333222242432231441242111321443223223212322341341323344242213214342444233233221242322433111333413231314332321223334224144214444334331231314144122343234322241334132441124441224242214322233222412422334313323143113222124442443424114243332243111134333334322134444231323213131211332133143443324212323122334323332133313223214344234241113141214213333432312334424244111343322244223431332314144333143342141234422412433421214444243314344123312222432132142124243314223332411213322431332222413421434421341222223334231223131411222141331131231414121242324312124224413134221221314323112223321221413434334311113121311424332434332441214321411212343111212223411243124223132314333334143213313143342113431121321342432114433334131143413422214232112123432222324124441431322233323333141221213233412114333124321433221231113432222133432343134314321123224232141333344112332131323231332333314132122121344313123423332233124124112233443232322112332333413222412331334444441314441413221421214312331122323124341132333231413121324222211244111332431233421342432442443243234412122423111114323421312232111231332423342423422324411124144313443433242121234221323423433322211411241343334313331314341331141222222311333322322331122323321133322143424223423323242334341241232112322323313331232432342123232132141111331221134322213132334142132332222332342142332443241333122333421121312333121411322331333223431313231221300001000000000000000000000012244144132211341213211422431144132121411441122111314432431141343334143214334324144324311231443141123000010000000000000000000000000000000000000000000000000000000000001221342331334134434323332433234411124132211322432244222314113141322243331144113124233322341332223242233214112321111133334324442222234414434332241333332233121122341233244331442242234231131134233313442232413213132334414143312331131114233113241411312214323332322213222314142123341213343414221123121142133333213142324332233343121414234332414224343242422124311243321231414341322422211313221243233224334334232211434233212333314211131344332232431232224133243323242223132131214413343421333124232232232124313422222422231221143124232224132341334434212232243433314421242134312142341232231433134441214323234232332213131421221323443231133234213244114123433334224422331222223233223332334434142321221122223434243434334323432323342132223312122142122234324232142233122132222131441443443221121312133141323242241432321131331112242423442233342411134341424222114221331323444231131221213222311344213122312211214214222211333221332324444424411233131433331433111422331212321433221311331333434134231143441132223232412431211214333334224234244421344234322324324124141141122241323343422112313122421323424421421122423344141414233432333243342334313124233232222431311222431112244342432424421124112141412311222000000000000000000000000000001000000000000000332132123342243444421434323444322112434231333213101000000002431414144432231423200000000000000100141134133142144142211423241134443441244132134313311434144144423422314113123221332321342341214113443321422341414311141123423134212223231413313311214131143434144142222334332322424132121122411443314221334233231222142412341223234132111434222214413441424234244323234121442313412441212234223134343234342221233122242123334314411324133213413124234313223432243314223341332322424423332212124332441412422313331131113232113121413141124144332332121232312112122132232332111434143223221124312114223344213144132434133223332314324441113334223344414413141243222443324133134111414443141312431332224234432334332334434112311141122234242422412244431424332213322343343122421222121411214413242321114121222112111432234333412134114242424132212413334223433223342413124132341333123124244322333133212131441123143234421144123223212441232122423142332231212323321431213241333422211233344212232131321434421213412322143433243222312131441331444141313323212431442422223413433323 31311333111143323142211224444211221123442223212142121322342134423323121422212323123142342112221342243121414234321323412123233434222423424223432111411241311111313314111443132233124323344434443133344123211211414334224214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124434342223444443434342332213422142424214123442124131131431432341424322444334221431231331443131231242434214231122111233141122133114343412231222414243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333233244311223231431313423442211321442314113112222224221123341314312444213121212343133242141412141213241232442242313342442241442222312143111434444143132322143334231421122341132134333224144133232241424441313114313313234422344112241411411211234411122324343411314112122434234133341344441331343333232441432132231144211122134122331123433331432423113422241233424321412142431412442332331444344311424113331432421141343323231131322312123123121433132241323212142113322232342112223113132344224433314331221314224413443111433443122321313323422223233231331244311421424211313443111333221343322232333322222443242232342341421222312332113211333322433144434211333341413222422422323311343311232423122313321333132244344122423421243222411123223222312443442131334342141141133122331431411412141232321422342324312321324341224433311132432411413322131241144443113443242321224414112342421122142142432234413432232131233221332232221322234422221344342113432341332222211444434142443221312421333133342431213421233433324122142114121211411432331312314322344324212233334413431443432231244333412232143434422413441432311313314223413441333124231231214432311323111342144322233221123111421112114131142123214124132223241241213332443313434411222131142321221322132323321232214223313132213222344431131211114122422312111333132242241131221423314344341413332433241222212342142322342142222123311342131121112321122133433414324142244412331214334131234444134242333334433214122113441431442312344311313342342433122142343411311312243143434321213213341413212232444133223412343313412123231223433311222242213342424142133342333312122311341323132341121424211242133223311434341432312111333334234242322312431312141312444434143323213434212122324132232113241324134333324224344234413411331144124132000000000000000000000000000010000000042333132123231434312342441423123244114231244312342211241112342233424432132113123141441344114222332341224321224211411223234444311314322133242233322312121111211434441144132221431333233422123313423321433231233122123441333314322222233122434233211221242322433111311413214332314342443132422324434222322143212332144122323234322241334132243143331344222222212433222412422342431143112231412342422223212323223411223414312133334322134444231323213131213332433143443324212133112334323332433313221214344234241232111244113333232312334424234111141322423421244111132344113211312343312244234333343414443423314344123312222432134142124243314223332444233323411112222333243331143343424223314411221123411222143113331214432243433344331321222313334343241324321334311121421221434314311113123311434314434332441214341411212443113212223211243124223132214334334143313313143342114411323223342212114233333131123433422214232322143432222324124441231324314111321141243211433214332332344143431424433323214432143132343312133141333142222323233124112334333223412134321112312442121122131321224334321123142332213223232332312332331213222432313122444441314441413221421214312331324323124341132333231413121324422213224131331231233421342432242443443234412342222131312341242132412333213114341122243224242332344312131223213422323333233344232223323213211241323334313331314341331141222222311333322322331122323323111122321442221423423142334341423242113313322323343432432323341234224323333331221122312234324312322132132224132124122112423224331324331223123334333143223142143413321411313433241300000000000100000000000000031244323114233323211432424223342134343411443142333314412243341341332343214334324344324441431443141323000000000000000000000001000000000000000000000000000000000000000001231342311134144214333112444432211121113233322432442442334231333432423321144143324213122314214133222433432112321143433114324442222221434234334321333332233121422321431224321222442222232331334212311442232413413312112333333312333131111223113241441312214323332332233324311122143341211324431421121121242133333213142324331233343144214134332414244313242422124311123121231212121323422213411242443233234332314234231214233211133314321313344332214231332224131423123242223132133214331343421333124212432232124333224424422231323143124232234112341324434112234243433333243223134312142341232231433132441214323234232332213131421221323443231133232213244314123433334224222331422223213223334334414122221421222222434241434314323232323442134223312122142322244323232144233222132222131441423443221321333133143323242241432341331313312324223212213112413134341424222114222313141122343333241331144442122431143112213412414214242121433114112224221441211323232331231131214143444331431123213211111214113213121224332421434412231413214311311322234244221334212332324124144141141122241323343422312333122243143441421421122423344141414233432334111121214332122134222232143433222243212421324414224433332332122414321422001000000000000000000000000000000000000000000311112442144143342243334223442324112412431333231300000000104431412142432231223110000000000000000241134141112144122221423241134343441242132134333313434144144421422314113123221334321342341214113443321422341434311141123423134212223231413313411214131143434144122222334332322424132121122411443314221334233231222142412341223234132111434222214413441224234244323234121442313412441212234223112123414144241413242232313134114324324313213433422433344441234421332433133332321422211334224121232241412421313333133311111143121413123124124332332213432334214322114223332111432143221421124311442223344213144132434133223332314324441113334223344414413141243222443324133134313234241122312433134244214432324332334434112311141324232242422412244431424122431222121321112431244441333412434323133331331212314333314112133313432312422424132412413132313213413342412124112311333243242244322333132232111441123143234421344123423212421234344443142334212211123322231143223333224233233244232233313341434421233431444123241331422312131441343134343314243212431442422223413433323 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123112332123231233241332441443414342241242113131124111331232434422214323442122134131431432341444342443334221231231231443131231242434412231322111233141112133114343421233222441241312113224214142122434242331423324122221223344232342234114112113144233333432133433131133221323334111412442221313331244313223233431313423442211321442314113112222224221324341314312414213121214323133242141412141213241232442242313342442241442222312143111434244143132322143334231421122341132134133224144333232223324441113114333333432442142114221212311211244431124124141234333114122332234113111144231331333132232243432124111322233322134124331223232343432223111222243223422222424342233112441331331234344311424113311432431143343321311133312132241123311421232223243112343111342232344331124213313332414431314131221314224433441111413424122321313323442243233231211232131323444411333143134133421343121232333322222443242232342341421222312332113211333322433144434211333341413222422422323311343311232423122313321333132244344122423421243222411123223222312443442131334342143111133122331431411412141232321422342324312321324341224433311132432411413322131241144443113443242321224414112342421122142142432234413432232131233221332232221322234422221344342113432341332222211444434142443221312421333133342431213423233433324122142114121211411432331312314322344324212233334413431443432231244333412232143434422413441432311313314223413441333124231231214432311323111342144322233221123111421112114131142123214124132223241241213332443313434411222131142321221322132323321232214223313132213222344431131211114122422312111333132242241131221423314344341413332433241222212342142322342142222123311342131121112421122133433414324142244412331214334131234444334242333334433214122113441431442312344311313342342433122142343411311312243143434321213213341233134232443123222112344113412323231423221112244444113121444331131342241312432334311333132143441224214212131323311412141212331221111312324421112124423412421312441434143323211422212122324314212333223324134333112444242424412211331124142332001000000000000000000000000000000000042331432113414334312344244223141244111213441133342243221332444233432242132121341141422244134422114133424443244411333323214424331132143133214231112131122113431441443342333222242432231441242111321443223223212322341341323344242213214342444233233221242322433113313313214332312142441112422324434222322143212432343122323234322241334134443343331344222222213433222412422342431123112231412342224223212323223411123414312133334322134444231323213131211332433143443324212123122334123332433313223234344232241133111214213333412312334424234211343344244223431332314344333143342141234422412433421214443423414324323113342232132142122243314223332411213322431332222313421434421341424221314411221123411412143131131231414121243344312324224413334221221314123334311121421211434314311113143311434334434332441214141411212443111234223411242124223132214334334143213313143142113411333311342432114233334131143413422214232112143432222324124441433322314111321143243211433214332333344143433221231113432222133432343134314321122224232141333344112332131323231332333314132122121344313123423332233124124112233443232322112334333213222412331334444441314441413221424224312331324321124341132313241441344442422213224131331231233221343432442443243234412342222331312321222132412333213114341122243224242332344312131423213422113333223324232223323211221243123312232113312333333321442222313313343122331122323341111122121244223423323242334341241232112322323313331232432342123232132141111331221134312233324312322132132224132324122112423241331344331241323334213121211322131333321431313211223100000000000001000000000000012344123114231341213212422223142134321411343342331312412241344341332141232142121344342442432243121121000000000000000000000000000000000000000000000000001000000000000002231342311134144214333112243434211124332231331412244242314113341322223331144113124233342411314222244433432112331111433314144224314221414444312321333132413141143123243422123424234222232331334212311442212231213132334414143314313131111233113241441312214323132332211322431122122343211343414234141322242333333213142324332233343121414114332312223311311224122313143321231214321323443433311221443233224134334232211434233212333314211131344332232431232224133243323242223132131214413343421333114234232232124313422222422231221143144232224132341334434212232243433314421442314312142341432221433134441212323234232332213331421221323443231133234213244114121433334224422331222223233243132134434122321221122223414243434333323432323342132223312122142124234324232142233122132222131441443443221121313133121123223241432341331311132242423442411344413112123444222114222313123444231131221213222311344213122313211214214222211333221332324442424411233131433331433111422331212321433221311331333434134231143441132223232412431211214111334342123424423342234322324342124141124314223241344322111311124421321424421421122423342141414233432334111121214332122134422232143431222243212421324414224421132331121432413222000000100000000000000000000000000000000000000332132442144243444421432342322324142434231333213110000000002411314114112231223200000000010000000142334333314143122213423141332341212242311132333231134142114423422314113123221332321342341214113443321422341434311141123423134212223231413313311214131143434144123244113113143122313344343433233132243112411231222142224141223431314334212222222233441224214244141114231244321224223134433221114343234342221233122242123344314311344333213413124234313223432243312433141333321444411114222141232243413421333333133311112143121413123124124332332213432334214321114323312131432141221422321131442341142213322234433113221122434344221443332113344434211143411424241124113414113233441142314433134444314414132311112212424233321342444122244334432431324324213342343321112421222141333412434323133331331212314333314112133313432312422424132412413132314213423342412124132311333243242444322333132232131341121143234243123123223211421234342443142334212211123322231143223333224233233244232233313341434141213431444123241331422312131441331444143444241413213242422223413433323 31311333111143323144221224244211221123442423222144121324341214423123121422212323123142344332233344243231111214343331214343233434222223424424232113421241311231333112311243122133124323344434443133314123211211414334444214322244322134233333334242142342114334411332431223223321212113222143313423332343314121143411414124144213311312413123123132111342213442423132421124431332223444443434342331213422142424214123442124131131431432341444322244332221231231231443131231242434414231322111233141122133114341421223222441241112113224214142122434242331423324122221223344232322234113332313132242333232233233111432421323334111411242223333231244233411143233241242222133121242314332231222242344314333114134112131323424422131144312412321443222232442242313242442241422432312133111434444143132322143334241423122341132132131224122133232221422241112114331313232422344112141432411211234411122344343411314112122434234133341344443331343333232441412132233344231122134122331123233331232423113422241233444332424142231112442332331232344311424113331132421341343323231131322312123123121433132243243112342111342232344131124213313332214431314131221314424411143111433443122321313323422223233231331244311421424211313443111333221343322232333322222443242232342341421222312332113211333322433144434211333341413222422422323311343311232423122313321333132244344122423421243222411123223222312443442131334342143141133122331431411412141232321422342324312321324341224433311132432411413322131241144443113443242321224414112342421122142142432234413432232131233221332232221342234422221344342113432341332222211444434142443221312421333133342431213421233433324122142114121211411432331312314322344324212233334413431443432231244333412232143334422413441432311313314223413441333124231231214432311133311322144324233221121111421112114111142121412124132223433421313432442313434211222233132223433222134123323232234243123332232214344431123211114112442332111333333242221122241443313124121413114423224212212342142322344142222123311342131121112321132133433214224122242212311214334133234224134244423112233214222211344143224114222132411114324333322124131231133432241343434321213213341413212232444133223412343313412123231223433311222242213342424142133342333312122311341323132341121424211242133223311434341432312111333334234242322312431312141312444434143323213434212122324132232113241324134333324224344234413411331144124132000000000000000000000000000010000000042333132123231434312342441423123244114231244312342211241112342233424432132113123141441344114222332341224321224211411223234444311314322133242233322312121111211434441144132221431333233422123313423321433231233122123441333314322222233122434331211221242322433111333413231314332321223334224144214444334331231314144122343234322241334132441124441224242214322233222412422334313323143113222124442443424114243411243114312113321124312222231343211333133132413143244314444131312331322432412111221214324234221133113414213333432312342324434111313124244221431332314342331143342141234422412411423414423423414424341133344222134143134443413223334414231323432334222331243311143421222223314411421123411422143133331234232243433344331341222311334343241324323334311121421221434314313113323311434334414332444214343433312423113212423233322242221232234134134122313333341322334431121321342434114433333131123413422414232312243214414122114441433322233323333141221213233412114333124321433221231113432222133432343134314321123224232141333344112332131323231332333314132122121344313123423332233124124112233443232322112334333213222412331334444441313421231443241422344234344411142123113333443213124324422241224131332431213433343432442443221234432324433333132323222334412333213114341122241224242332342312131223213421113333223324222221123231221221321334313133114341321341424234313132223143313142223321133322143442241423322222334143443242123313223124343434432322341214224323333333422324321413122334124142132222332342122333441241313122311421121334313121223122143413223434313231221300000000000000000000010000012341123212411341213212422223122134321213323344331334231241324141314341232142321344324441231443141321000000000000000000000000000000000000000000000001000000000000000001221322333132134234333112443432211321113431131412442442334113341322223331144143124233342411314222244433432112331111132314144224314221414444312321333132413141123123243422123424234432412331134233313441232413211332332313131212111212211233113241441312214323332332233322311122123343211143414221121321244333331233142224332213333124414234132412223311211224122313143321231214341323423433311221443233224134334232211434233212333314211131342332232431232224133243323242423132131214413341421333124234232232124313422222422231321143124232224132341332434212232241433333243223133432344343232233433114441234323234232334213131421421324441441233234213444114123333334224222331222223233223132334414122321231122233434243434334323232323342132223312122142322244323232142233222132222111441443242221121313123121123142244434121111331112242423442231342413334343424223114421131321144331131221213222311344213142112211414414212241133231334324424421442211323232341211131214143444331431123213211111214133213121224332421232412231413234313314322234244221334212332324124144141141122241323343422312333122243143441421421122423344141414233432334111121214332122134222232143433222243212421324414224433332332122414321422000000000000000000000000000000000000010000000311112442144241344421414322444322142434231133233100001000002211412112114233423200100000000000000242334333312143124413311141332341212112331312333231443324343223334132213144221132341323111411111221121113121432333243142212312432241442232133333432313324112324443244113113143122313344343433233132243112411231222142224141223431314334212222222233413222214322341114231244321224223134433241132123414144221413242232313134114324124311413233442433344441234421234231341333321424411334222121232241412421312333133331212143121413123124124332332213432334214321114323312131432141221422321131442341142213322234433113221122434344221443332113344434211143411424241124113414113233441142314433134444214414132311112212424233321342444122244334432431324324213342343321112421222141333412434323133331331212314333314112133313432312422424132412413132314213423342412124112311333243242244322332132232111441123143234421344123223212421234322443142334212211123322231143223333224233233244232233313341434141233431444123241331422312131441331444141313323212431442422223413433323 31311341113341141322213214224243221133442423222134121434142114423133121243332323132442342314421144143222414432321423212143413434222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444334221431231331443131231242434214231122111233141122133114343412231222414243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333233244311223231431313423442211321442314113112222224221123341314312444213121212343133222141422141213342432444242321242422243322232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112241212311232434431124124141234333114122332234113111144231331333132232443432124111322233322134124331223232343432223111222243223422222424142231112442332331232344311424113331132421341343323231131322312123123121433132243243112342111342232344131124213313332214431314131221314424411143111433443122321313323422223233231331244311421424211313443111333221343322232333322222443242232342341421222312332113211333322433144434211333341413222422422323311313311232423122313321333132244344122423421243222411123223222312443442131334342143141333122331431411412141232321422342324312321324341224433311132432411413322131241144443113443242321224414112342421122142142432234413432232131233221332232221322234422221344342113432341332222211444434142443221312421333133342431213421233433324122142114121211411432131312334324444324412233334414431423432431242333412244311431242342233114133412131411341123322311311212332432133322111241124422433221121111421112114311142121412124132223433421313432442313434211222233132223433222134123323232234243123332232214344431123211114112442332111333333242221122341443313124121413114423224212212342142322344142222123311342131121112321132133433214324142222432331212334113234224134242333334433214122113441441422312322112413112144321322124341213111314421322234323413233311213232412414321223432343313412343231423221112244444113121444331131342241312432334311333132143441224214212131323311412141212331221111312324421112124423412421312441434143323211422212122324314212333223324134333112444244424412211331124142332001000000000000000000000000000000000042331432113414334312342244223141244111213441133342243221332444233432242132121341141422244134422114133424443244411333323214424331132143133214231112131122113431441443342333222242432231441242111321443223223212322341341323344242213214342444233233221242322433111333413231314332321223334224144214444334331231314144122343234322241334132441124441224242214322233222412422334313323143113222124442443424114243332243111134333334322134444231323213131211332133143443324212323122334323332133313223214344234241113141214213333432312334424244111343322244223431332314144333143342141234422412433421214443423414424343133342232134143134443413223332444233323411112222333243331143343424223314411221123411422143131131231414121243344312324224413334221221314123334311121421213434334311113121311424332434332441214321411212343111212223411243124223132314333334143213313143342113431323321342432114433334131321411222221434312223214414122112421431322213123331331221213211414132333322123431424433313432432143111324332134341123242222321233124112332333223412114321314312442121344313141443112233324342112432223232222332334333211222412333132244443114441413221421214312331124323124341132333231413121324222211224131332431233421333432242443243234412122423111114323421312232111231332423342423422324411124144313443433242121234221323423433322211411241343334313331314341331141222222311333322322331122323321133322143442221423423122334341423242113313322323343432432323341234224323333331221122312213132334142132332222332342142332443241333122333421121312333121411322331333223431313231221300001000000000000000000000012244144114231341213212424223342134341411443142333314412243341341332343214334324344342441431443141323000000000001000000000000000000000000000000000000000000000000000001231122311134144214333112243434211124332231331412244222314113141322243331144142124233342311332223242422232112323111133334144224314221414434332341313332233121423123243422123424234432412332332432313412232413413132334414143314333131111233113241441312214323132332211322431122122343411343414234141321242333333213142324332233343124434134132414224113242422124311143121231212121322422213411242443233234332314234231214233211133314321313344332214431232224133243323242223132131214413343421333114234232232124313422222422231221143144232224132341334434212232243433314421442314312142331232221433134441212323234232332213331421421324441441233234213444114123333334224222331222223233223132334414122321231122233434243434334423432323342132223312142142132234324242142233222132222131441443443221121313133121123223241432341331311132242423442413344413112123444222114222313123444231131221213222311344213122312211214214222211333221332324442424411233131433331433111422331212321433221311331333434134231143441132223232412431211214111314342123424423342234322324342124141124314223241344322111311124421321424421421122423342141414233432334111121214332122134222232143433222243212421324414224433332332122414321422000000000000000000000010000000000000000000000311112442144223342243334323442324112432431331413100000000102211434144112213223101000000000000000242334333312143122213423141332341212242311132333231134142143223334132213144221132341323111411111221121113121432333243142212312432241442232133333432313324112324443244113113143122313344343433233132243112411231222142224141223431314334212222222233413222214322341114231244321224223134433241132123414144221413242232313134114324124311413233442433344441234421234231141333321444411114222141232243412421333313133331232113121413121124124332131111231314114142132233332111432323321241134312112223344233342234414313223322314324421143334223344414413143411422241112333114111414443141312431332224334434132312112212424233321342434121244334432431324324213342343321112421222121411214413242321114121222112111432234333412134114242424132212413334223433223342413124132341333123124244322333132232111441123143234421344123423212421234344443142334212211123322231143223333224233233244232233313341434141213431444123433243221132321333231444143413241413213242422223413433323 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222223424424232113411241311111313314111443132133142323144431443133344123211223414332244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123112332123231233241332441443411342241242113131124111331232434422214323442122134131431432341444342443334221231231231443131231242434412231322111233141112133114343421233222441241312113224214142122434242331423324122221223344232322234113332313132242333232233433111432421323334111412242223333231244233411143233241242222133121242314332231222242344314333114134112131323424422131144312412321441222223422222313342442241422232334131113111444443132122323124234231122341232134133224144143232221324441113114333333432422342112241212313211244431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432423111222243223422231412132431112422312331234344311343113331434423141343123231431314112123144321133112223243112342111342232344331124213313332414431314131241132224411143111211244122111313343441221231221313444311421224213313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131313311232423124311323123314442144441223121423124133143221422314123244231133112411143331342333431341412341432323424142324112141322141224431311114212413113122131241342441113141122134122114112334124144142322424432431212212331233221332214323122312242423322221321214343132224433244314124424233111123113233442214133441213231324344422134121243411432331312334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231231214432311133311322144324233221121111421112114111142121412124132223433421313432442313434211222233132223433222134123323232234243123332232214344431123211114112442332111333333242221122241443313124121413332433421212232421342142342142222123311342131121112321132133433214324142222432331212334113234224134242333334433214122113441441422312322112413112144321322124341213111314421322234323413233311213232412414321223412343313412343231423221112244444113121444331131342241312432334311333132143441224214212131323311412141212331221111312324421112124423412421312441434143323211422212122324314212333223324134333112244242424412211331124142332000000100000000000000000000000000000042331432113414334312324444223141244311213441133342243221332444233432242132121341141422244134422114133424443244411333323214424331132143133214231112131122113431441443342333222242432231442242111321443223223212322341341323344242213214322432233233221242322433111333413231314332321223334224144214444334331231314144122343234322241334132441124441224242214322233222412422334313323143113222124442443424114243332243111134333334322134444231323213131211332133143443324212323122334323332133313223214344234241113141214213333432312334424244111343322244223431332314144333143342141234422412433421214444243314344123312222432132142124243314223332411213322431332222413421434421341222223334231223131411222141331131231414121242324312124224413134221221314323112223321221411434314313113123311434334414232444214343431212443113212221211242124223132212334334143313313143342113431121321342432114243334131143413422214232112123432222324124441431324314111321141343211433214332333344143233221231113432222133432343134314321123224232141333344112332131323231332333314132122121344313123423332233124124112233443232322112334333213222412331334444441314441413221421214312331124323124341132333231413121324222211244131332431433421333432242443243234412122423111114323421312232111231332423342423422324411124144313443433242121234221323423433322211411241343334313331314341331141222222311333322322331122323321133324143442221423423142334341423242113313322323343432432323341234224323333333421122312213132334142132332222332342144332443141333122333421121312333121411322331333223431313231221300001000000000000000000000012324144114231341213212424223342134341411443142333314412243324341332343214334324344344441431443141323000000000000000010000000000000000000000000000000000000000000000001231122313134144214333112243434211124332231331412244222314113141322243131144142124233342311332223242422232112323111132334144224314221414434332321333132413141143123243422123424234432412331134233313441232413213312332414143312331131114233113241411312214343332322213222314142123141211343414224123121142133333213142324332233333121414114132412223311211224122313143321231214341323423433311221443233224134334232211434233212333314211131342332232431232224133243323242423132131214413341421333124234232232124313422222422231321143124232224132341332434212232241433333243223133432344343232233433132441234323234232334213131421221323443231133234213444114123333334224222331222223233223132334434122321231122233434243434334323232323342132223312122142322244323232142233222132222111441443242221121313123321123142244434121111331112242423442231312413134341424222114221131321144231131221213222311344213122312211214214222211333221332324444424411233131433331433111422331212321433221311331333434134231143441132223232414431211214113314322234244221334212332324124144141141122241323343422312333122243143441421421122423344141434233432334111121214332122134422232143431222243212421324414224421132331121432413222000000010000000000000000000000000000000000000332132442144223342443432242324122112434231331233100001000002211412112114233423200100000000000000242334333312143124413311141332341212112331312333231443324314423422314113123221332321342341214113443321422341434311141123423134212223231413313311214131143434144122422134332322442132121122411443314421334231213234223224124211214332111234422222233413222414344341114233244321224223212233221132122233312243433242432113134114411324133213413124234313223432243314231141333321444411114222141232243412421332131131113232113121413141124144332332121232312112122132233332111434143223221124312112341142211342244434113443332314322421113334223344414413141243222443324133111313234241122312433134244214432324332334434112311141324232242422412244431424122431222121321112431244441333412434323133331331212314333314112133313432312422424132412413132313213413342412124112311333243242244322333133212131441123143234421144123223212421234342443142334212211123322231143223333224233233244232233313341434141233431444123241331422312131441331444141313323212431442422223413433323 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213121414234321323412123233434222423424223432111411241311211311314311243332233124323344434443133344123211211414334244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144231134412431123343112331123233233241312421444434342221444111431124111233232432244212123442124134131431432341444322443334221231231231443131231242434414231322111233143112133114343421233222441241312113224214142122434241331233334122221223344232322234113332313132242333232133433111432421123234133441442221313233244311223231431313423442211321442314113112222224221123341314312444213121212343133222141422141213342232444242321242422243342232312143311111444123132122323124234431122341132134133224144333232223324441113114333333432442142114221212311211244431124124141234333114122332234113111144231331333132232443432124111322233322134124331223232343432223111222243223422222414142231112442332421234344331323113331432421121343321311131312112123124321423132323223214142131343234342112223113112334222433314331241132224413143111211244122111313343441221231223313234111423444211313441114333421343322214233322422413224232132321221222112432113211332342233144414214333321213242124422323311343331232423122313321333112244344122423421243222413123223222312443442131334342143141333122331431413414141233121422342321334321144343224213331432432433413144323123324443133143143121224431314342424242114144424212413432232133233223332232323342312242421322241321212343332224431444414124424223111121313133342234233421233433324322142114121211411432131312334324444124412433334414431423432231244333412232143411422343233114133412131411341121422311211212334432311323311322144324223221313111421112114131242121234124132243443421313432443313434413222133134323233224132323321412211123322112413222144431131331134312424414331333122242221132241443333141323413332433421212232421342142342142222123311342131121112321132133433214324142222432331212334113234224134242333334433214122113441441422312322112413112144321322124341213111314421322234323413233311213232412414321223412343313412343231423221112244444113121444331131342241312432334311333132143441224214212131323311412141212331221111312324421112124423412421312441434143323211422212122324314212333223324134333112244242424412211331124142332000000100000000000000000000000000000042331432113414334312324444223141244311213441133342243221332444233432242132121341141422244134422114133424443244411333323214424331132143133214231112131122113431441443342333222242432231442242111321443223223212322341341323344242213214322432233211221242322433113313313214332312142441112422324434222322143212432344122323233321241334122243143331344224222213433222412422342431123312231412342422223212323223411223414312133334324132442423321133333213132411343243314242133312334333432412111221214344234241133111214213333432312334324234113343322423421244111132344313211312323312244234333343414443423414424343133344232134143134413413223334414231323432334222331243311143421222223314411221123431422143133331234432243433344331321222313334343341324323334311121421221434314311113121311424334434332441214341411212343111212223411243124223132214333334143213313143342113431121321342432114433333131123413422414232312223214414122114441433322233323333141221213233412114333124321431424433313432432143111324332134341123242222321233124112332333223412114321314312442121344313143423332233124124112433443232322112334333213222412331334444441314421413221421224312331324323124341132333231413121324422213222231131231433421342434242443243234412122423111114323421312232111231332423342423422324411124144313443433242121234221323423433322211413241343334313331314341331141222222311333322322331122323323111122141242221421433222244121443244313323223124343414432322341214224123333333442324112233324312322332122244132324122112223141331344331241343334312341411322331331241211331231441100000000010000000000000000012244123134213341213212422431144132121411441122111132432431141341334141234142121322344441432243342123000000000000000000000000000000000000000000000000000000000100000001221322333134344214333112243434211124332231331412244242314113341322223331144343124233322311332223242422232112321111133334144224312221414444312321313332233121422321431224321222432222232332334212311442232233211332332313131212111212211233113241441312214323332332233322311122123341211143414221121321242333331233142222332233333121414134332414224113242422124311143121231212121322422213411242443233234332314234231214233211133314321313344332214231332224131423123242223132133214331343441333124212432232124333224424422233323143124232224112341124434112234243433333243223134312142341232221433134441212323234232334213131421421324441441233234213444114123333334224222331222223233223132334434122321231122233434243434334323432323342132223312122142322434324232142233122132222131441443443221121312133141323242241432321131331112242423442433342413334341424223114221331323444231131221213222311344213122312211214214222211333221332324444424411233131433331433111422331212321433221311331333434134231143441132223232412431211214313314224234244421344234322342124124141141122241323343422312333122241143241212112341211114123432431442313243342334313124233232222431311222431112244342432424133332332122414321422000000000000000000000000000000000000000010000332132442344243444421414343444142144234231313233101000000002211414114112231423200000000000010000142134333342344142211423243134443441244132134313313434144144423422314113123221334321342341214113443321422343434311141123423134212223231413313411214131143434144142422334332322422132121122411443314221334231213234223224124211214332111234442212213441242214244343114131444121224223134434223134122233312443433242432113132114324124311413233422433344441214421234223133332141422211334224121232241412421313333133311232113121413123124122332332111432314114122112233332111432343221421124311412341142211342244434113443332314322421113334223344414413141243222443324133114113233443142312433134244214432324332334434112311141324232242422412244431434122431222323321113421222141333412234323133331333323114131412212113413422132424342342212231132314231223344223122334313343123222444322333132232111441123143234421344123423212421234344443142334212211123322231143223333224233233244232233313141434121233432444123233243221112131433333144143314243212411442422223413433323 31311333111143323142211224444211221123442223212142121322342134423323121422212323123142342112221342243231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322344322122412432133242223342314334411332431243223321212113242143313223334323112121123141434134144431131412431121343112331123233233241312121444431342223444111431124111233232432244212123442122134131431432341444322443334221231131231443131231242434414231322111233143112133114343421233222411241312113224214142122434242331423332124122323144434342234113332313332242131232133433111432421123234133441442221313331244313223233431313423442211321442314113112222224221324341314312444213121214323133242141312143213241232442242313342442241442222312143111434444143132322143334231421122341132134333224144133232241424441313114313313234422344112241411411211234411122324343411314112122434234133341344441331343333232441432132231144211122134122331123433333432423113422221233424331412142431412442332331444344311424113331432421141343323231131322312123123121433132241323212142113322232342112223113132344224433314331221314224411443111433443122321313323422223233231331244311421424211313443111333221343322232333322222443242232342341421222312332113211333322433144434211333341413222422422323311313311232423122313321333132244344122423421243222411123223222312443442131334342143141133122331431411412141233321422342314312323124343224233111432434433413144323123324443113133142121224414312142424242144144424212413432232121213241332232221322234422221324342113432341332224211444434142443221311121333133342231232221433413124322142114121211411432131312334324444324412233334414431423432431242333412244311411242342233114133412131411341123322311311212332432133322111241124422433221313111421112114131242121234124132243443421313432443313434413222133134323233224132323321412211123322112413222144431131331134312424314331333122242221132241443333141323413332433241222232322344322342322222323331342132121112321134133243214224122242212311214334133234224134244423112233214222211344143224114222132411114324333322124131231133432241343434321213213341233134232443123222112344113412323212223433311222242211342221342333321331144122311143323313341123411421244333231131434321432312221333134232421112124423414421112444212311141433124434432322314414313423324112311112223342424212211331344124144100000000000000000000000000000000000042311432321431433122324241422121114134231244332122243423332422131432242132421321343422344114422134133424443444411433323333444313332122113314231112332131333433241443142313222242432233442242311323441221223213324323411333314322222233124234233411221242322433111313412214332314342443132422324434222322143212332124122323234322241334132443143331344224222212433222412422342431123112231412342422223212323223411223414312133334322134444231323213131213332433143443324212133112334323332433313221214344234241232111214213333412312334424234211343344244223431332314344333143342141234422412433421214443423414324323113342232132142122243314223332411213322431332222313421434421341424221314411221123411422143133331234232243433344331321222311334343241324323334311121421221434314311113123311434334434332441214341411212443111234223411243124323132214334334143213313143342113431121321342432114433333131123413422414232312243214414122114441433322233323333141221213233412114333124321433221231113432222133432343134314321123224232141333344112332131323231332333314132122121344313121443112233324342112432223232222332334333211222412333132244443114441413221421214312331124323124341132333231413121324222211224131332431213221343432442443243234412342222131312321222132412333213114341122243224242332344312131423213422113333223324232223323231221243123312232113312333333321442222313313343122331122323343111122121244223423323242334341241232112322323313331232432342123232132141111331221134312233324312322132132224132324122112423241331344331241323334213121211322131333321431333211223100000000000001000000000000012244123212411341413212422223122134321213323344331334231241321341314341232142121344324441231443141321000000000000000000000000000000000000100000000000000000000000000001222341333134333214333112444432211121113233322432442442334231333432423321144143324213122314214133222433432112321143433114144224312221414443312323333334413143143321233224321422232232232332334212311242431231231332332314133212313131111233333241443313214323312334413342311423123323411324431424121121242133333213142324332233343121414114332412223311211224122313143321231214341323423433311221443233224134334232211434233212333314211131342332232431232224133243323242423132131214413341421333124234232232124313422222422231321143124232224132341332434212232241433333243223133432344343232233433134441234323234232332213131421221123443231133234213244114123433334224222331242221233223132334434122321221122223434243234134321432322342112223412124142322444323232142233222132224131411443443221121312133141323242441432341331313311242423442231342413134341342143312221331323444241131221213222311344213122312211214214222211333221332324444424411233131433331433111422331212321433221311331333434134231143441132223232412431211214313314224234244421344234322342124124141141122241323343422312333122241143241212112342211114123432431442313243342334313124233232222431311222431112244342432424121124112141412311222000000000000000000000000000001000000000000000332132123344243444421434323444322142434231133213110000000002411314144412231423200000000000000100141134333342144142211423241134443441244132134313311434144144421334132213144221134341323111411111221121113121432333243142212312432241442232133333432313324112324443244113113143122313344343433233132243112411231222142224141223431314334212222222233413222214342341114231244321224223134434223112343414144221233122232123334314411324333213413124234313223432243314223133332321422211334224121232241412421313113133311112143121413123124124332332213432334214321114323312131432141221422321131444223344213144132433113221122334324421443334213341434213143243422443312133134111414443141312431332224334432334332334434112311141122234242422412244431424332213322343343122421222121333412434323133331331212314333314112133313432312422424132412413132314213413342412124112311333243242212322333132232131343121143212243123123221221421434124423142332231212323221431213243333224211233344232233313341434141233431444143241331422312131441331444141344243212433242422241133233323 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222223424424232133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444324221431231331443131231242434214231122111233141122133114343412231222444243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333233244311223231431313423442211321442314113112222224221123341314312444213121212343133222141422143213342432444242321242422243342232312143311111244123132122323124234431122341132134113224144333232223324441113114333311232422344112241212311232434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412132431112422312331234344311343113331434423141343123231131314112123144321133112223243112342111342232344331124213313332414431314131241132224411143111211244122111313343441221231221313444311421224213313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131343311232423124311323123314442144441223121423124133143221422314123244231133112411143331342333431341412341432323424142324112141322141224431311114212413113122131241342441113141122134122114112334124144142322424432431212212331233221332214323122312242423322221321214343132224433244314124424233111123113233422214133443213231324344422134121243411432331312334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323112342144322233221123111421112112131142141214124132223443421313432423333434411242131142311221322432341141214211123322114413222144431131331134314444314331333122241223132243444333144323431332433421212212342142322342142222341131124331312332442132131431214324142224412331414334133234244134242333334433214122113441431442312344311343342344333324324341211133332241343414141213211341211232414414321422414123321333121231441221112244424213121444131111242241312432314311133132313441424214212111323311412141212331221111312324421112124431312124312441432141323433124434431342132232113241324134333324224344431433431113142324344000000000010000000000000000000000000042311442321431423121324441423123214114433234332142441241334322121432432132121341141122343114424114133424443244411333343234422331332123133214231113132121113431441443312333232242432231442242111323443223223212322321341323344242213414342444311211221242322433111313413214332314322443132422324432222322143212312144122323234322443134122423143331344222222212433222412422342431123112231412342422223212323223411223414312113321124312222231343211333133132413143244314444131312331322412412111221214324234223133313414213433232312334422234111141322423421244111132344313211312323312244234333343214443423414424343133344232134143134413413223334414231323432334222331243311143421222223314411221123431422143133331234432243433344331321222313334343241324323334311121421221434314311113121311424334434332441214341411212343111212223411243124223132214333334143213313143342113431121321342432114433334131121413422211432312143432222324124443431324314111321141343211433214332333344143231424433323214434143132343312133141333142422323233124112334333223412134321112312442121122131321224334321123142332213223232332312334331213222432313122444441313421231443241422344234324411142123313313241441344442422113424133111211433421333432444221223321232122423111114323421312232111231332423342423422324412124144313441433242121234421423423433322211411221343334313331334341331141222222311333322322331122223121133342321244223423323242334341241232112322323313331232432342123232132141113331221134321413122332124132132224132324122133441241313122311421121334313121223122143413223414313231221300000000000000000000010000012341123114231341213212422223142134321411343142331312412241344341332141232142121344342442432243121121000000000000000000000000000000000000000000000000001000000000000002231342311134144214333112243434211124332231331412244242314113341322223331144113124233342411314222244433432412331111133314144224314221414444312241313332233121423123243422123424234432412332332432313412232413413312112333333312333131111223113241441312214323332332233324331122143343211324431421121121242133333213142324331233343144214134332312223311311224122313143321231214321323443433311221443233224134334232211434233212333314211131344332232431232224133243323242223132131214413343421333114234232232124313422222422231221143144232224132341334434212232243433314421442314312142341232221433134441212323234232332213331421221323443231133234213244114121433334224422331222223233243132134434122321221122223414243434134321432323342132223312122142322244423232142233222132242131441423243323323413333121323242231432321331311132342441242231112413134341444242114222313121124341333243233222311344213142112211414414212241133231334124424421442211323232331231131214143444133411123331311131414134231143441132221212412241431234331334224234244421344234322324124122213341122343323344322112333222421323424421421122423344141414233432334211121212332334114221321133333222243212421324414224421132331121432413222000000001000000000000000000000000000000000000332132442144243412421432242324142342434231133213100000010002211332142112113223200000001000000000242134333312113124411311121332341212242311132333311134144143223334132213144221134341323111411111221121113121432333243142212312432241442232133333432313324112324443244113113143122313344343433233132243112411231222142224141223431314334212222222233413222214344341114231244321224223134433221134143234342221233222242123334114411324333213413124234313223432243314233133333321422211334224121232241412421313333133311112143121413123124124332332213432334214321114323312131432141221422321131442223322213344132433113221122334344421443334113344434241343411422241124113114313234241122312433134244214434132312112212424233321342434122244334432431324324213344343321113421222141333412234323133331333323114131412212113413422132424342342212231132314231223344223322334313343123222412322333132232131343121143212243123123221221421434322443142334212211123322231143223333224233233244212442131321442421233412322143433243221132321333231444143413241212413242322223133433323 31311341113341141322113214224243221133442423222134121432142114422123121422212323123142344332233314243231111214343331214343232434222423124223432133421211311231133112311242132133444321332114323141313123211211414334444214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444334221431231331443131231242434214231122111233141122133114343412231222414243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333231244233411143233241242222133121242314332231222242344314333114134112131323424422131144312412321443222232442242313342442241422432312133111434444143132322143334241423122341132132131224122133232221422241112114333311232422344112241212311232434431124124141234333114122332234113111144231331333132232443432124111322233322134124331223232343432223111222243223422221412142431412442332331434332111343131131412321141343323233131312112123144322133132223243214142131343232342112223113112334224433314331241132224433143111211244122111313343441221231223313234111423444211313441114333431343322232232342222443242232332323421444312312111211333122433144432214313341434222142422323131343311232423124311323123314442144441223121423124133143221422314123244231133112411143331342333431441412341432323424142324112141322141224431311114212413113122131241342441113141122134122414112334124144142322424432431212212331233221332214323142312242423322221321212341132224433244314124424233111123113233422214133441213231324344422134121243411432331312334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323132342144322233221123111421112112331142141214124132223443421313432423333434411242131142311221322432341141214211123322114413222144431131331134314444314331333122241223132243444333144323413134433224212412342142322342141222123311342131121112321122133433214224122242212311214334133234224134244423112233214222211344143224114222132411114324333322124131231133432241343434321213213341233134232443123222112344113412323231441221112244444233121444331131342241312431314311133132343441424214212133223311234341433312111333334234242322312423412421331324434143323213434212131344132232113241324114333324224344431433431111122122332000000000000010000000000000000000000042311432123211334312324441423121214131233244332342441241332422131432242132421321343422344114422134133424443444411433323334444313332122133314231112332131333433241443142313222242432233442242311323441221223213324323443323312241213214322434233211221244322433111213313214332312342443112422324434222122143212332344122323234322241334134443343331344222222213433222412422342431123112231412342224223212323223411123414312133334322134444231323213131211332433143443324212123122334123332433313223214344232241133111214213333412312334424234211343344244223431332314344333143342141234422412433421234443423414324323113342232132142122243314423332411213322431332222313421434421341434221112411221123411422341331131231414121242324312124224413134221221314323112223321221413434334311113121311424332434332441214341411232343113212221211242124223132212334334143313313143342113431121321342434114433334131121313424221434312243214414122114441431324314111321143243211433214332333344143431424433323214434143132343312133141333142422323233124112334333223412134321112312442121122131321224334321123142332213223232332312334331213222432313122444441314421413221421224312331124323124341132333231413121324222211244131332431433421333432444221223321232122423111114323421312232111231332423342423422324412124144313441433242121234421423423433322211411221343334313331334341331141222222311333322322331122223121133342321442221423423142334341423242113313322323343432432323341234224323333331221322312233324312322132132224132324122112423241331344331241343334333143223142143413321411313433241300000000000100000000000000031244323132213323211431422431142132123411441122111314432431141343334141232142121344344441431443142343000000000000000000000000000000000010000000000000000000000000000001221322333134144214323332233234411124132211331412244242334113341322223333144113124233322341332223242233214112331111133314144224314221414444312321333332233121422321431224321222432222232332334212311442232413413312332414143312331131114233113241411312214343332322213222314142123141211343414224123121142133333213142324332233343124434134132314244313242422124311121141221214141322422211313442444434223332312232231213213132133314321313144332434231332222133221323242213132131214413343421313124232232232124333224222422231321143124212234132341334434232232243433314421242134312142341232231433134441212323234232332213331421221323443231133234213244114121433334224422331222223233243132134434123321221122223414243434334323432322342112223412124142322244323232142233222132224131411443443221121312133141323242441432341331313311324223212411344413112123444222114222313141122343313241331144442122431143113213412414214242121433114112224221441211323232331231331214143444331431123213211111214113113121224332421434412231411234331314222234244423344234322124122224113321322243323344422112333112421323424421421122423344141414233432334211121212432334114221321133433442241133241342332224421124112141232313222000000000000001000000000000000000000000000000332132442342241342221414323324122112434231133233100001000002211312112114233423200100000000000000242334333314143124413323141332341212242311132313231134142144423422314113123221334321342341214113443321422343434311141123423134212223231413313411214131143434144142222334332322424132121122411443314221334233231222142412341223234132111434222214413441224234322341114231244321224223134433241132123414144221413242232313134114324124311413233442433344441234421234231141333321444411114222141232243412421333333133311111143121413123124124332332213432334214322114223332111432143221421124311444223344213344132434133223332314324441113334223344414413141243222443324133114133233441142112433334244314414132312112212424233321342434121244334432431324324213342343321113221242441331244413242331331321212314313312212111423422132422342342212431112214233222142412124112311333243242244322332132232111441123143234421344123223212421232122423142332231212323321431213241333222211233344212233313341434141233431444123241331422312131441331444121344243212431442422223413433323 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312244423324332321322412432133442223342314334411332433223223321212113244143313443132121112342323141434422144231134412431143343312332123231233241332441443411342241242113131124111331232434422214123442122134131431432341444342443334221231231231443131231242434412231322111233141112133114343421233222441241312113224214142122434242331423324122221223344232322234113332313132242333232233433111432421323334111412242223333231244233411143233241242222133121242314332231222242344314333114134112131323424422131144312412321443222232442242313342442241442432312133111434444143132322143334241423122341132132131224122133232221422241112114331313232422344112141432411211234411122344343411314112122434234133341344443331343332232441412132233344231122134122331123233331232423113422241233444331412142431412442332331434332111343131131412321141343323233131312112123144322133132223243214142131343232342112223113112334224433314331241132224433143111211244122111313343441221231223313234111423444211313441114333431343322232232322212343242232332323421222112332113211333322433144434214333341413222122222323331313311232423122313121323314422344121223421442242413143221422114421444131314112113241313122341411411412121233111422342121332321144343224213313432432433423144323123344413333143143121224431314342424242314144424212413432232133231221322132211342234444221324342113432141334424231434434122443221312421333133342434213421233433324122142114121411411132131312334122344324212233334414411423212433422333412232143334422413441432311313314223413441333124231231214232311333311322144324233221121111421112114311142121412124132223433421313412442313434411222131142321221312432321141212211123322112413222144431131331134312424314331333122242221132241443333141323413114423224212212342142322344142222123311342131121112321132133433214224122242212311214334133234224134244423112233214222211344143224114222132411114324333322124131231133432241343434321213213341413212232444133223412343313412123231441221112244444233121444331131342241312431314311133132343441424214212131231131434321432312221333334234242323112431322144332441432141323433124414432322314212313223314332333122224344231413411131124124332000000000000000000000000001000000000042333432113411434312342231232141242114231244312322411241134342233424232132121323141422344114422134133424443444411433323234444311332122133214231112332131313431241443142333222242432233442242111323441221223213324323441323314242213214322434233233221242322433111333413231314332321223334224144214444334331112332344122323434322241334132443143331344222222213433222412422342431123112231412342422223212323423411223414312131134322134444231323213131213332433113443324212133112334323332433313441214144234241132111214213333432312342324434111313124244221431332314342331143342141234422412411423414423423414424341133344222134133134443413223334414231323432334222331243311143421222223314411421123411422143133331234232243433344331341222311334343241324323334311121421221434314311113143311434334434332441214141411212443111234223411243124223132214334334143213313143142113431121321342434114433333131123413422414232312243214414122114441433322233323333141221213233412114333124321431221231113432222133432343134314321123224232141333344112332131323231332333314132122121344313123423332233124124112433443232322112334333213222412331334444441314421413221421224312331324323124341132333231413121324422213222231131231413421242434224221223321232122423111114323421312232111231332423342423422324411124144313441433242121234421423423433322211411241343214212113312133333321442322313132223143313144222321333322141424223423323242334341241232112322323313331232432342123232132141111331221134322234324312322132132224132124122112423224331324331223123334333143223142143413321411313433241300000000000100000000000000031244323114213341211412224223342114341411443142333314412243341341332141414334324144342441431443142343000000000000000000000000000000000000000000000001000000000000000001221322333134134234333112443432211321113431131412442442334113341322223333144143124233322341332223242233214412331111133314144224314221414444312321333132413141143123243422123424234432412331134233313441232413211332332313131212111212211233113241441312214323332332233322311122123341211143414221121321242333331233142224332213333124414234132412223311211224122313143321231214321323443433311221443233224134334232211434233212333314211131344332232431232224133243323242223132131214413343421333114234232232124313424222422231221143144232224132341334434212232243433314421442314312142341232221433134441212323234232332213331421221323443231133234213244114121433334224422331222223233243112134434122321221122223414243434134321432322342132223412124142322244323232142233222132224131411443443221121312133141323242441432341331313311324223212411312413132343342143312222313141122343313241331144442122431143112213412414214242121433114112224221441211323232331231131214143444331431123213211111214113113121224332421434412231411234331314322234244423244434322124322122213341122343323344324312333122241143241212112341211114123432433442313243342334313124233232222431333442241113241342332424421124112141412311222000000000000000000000000000100000000000000000332133422144243444421414323324322112432431133213300000000012211332142112113223101000000000000000242134333312143122211411141312343212242311132333231434144144423434312113144141112323223341214113443321413341434311141123423134212223231413313311214131143434144122222334332322422132121122411443314221334233231222142412341223234132111434222212413441224214244343214131442313412441212234223112343414144221413242232313134114324124311413233442433344441234421234231341333321444411114222141232243412421333131131131232113121413121124124332131111231314114142132233332111432143221421124311444223344213144132434133223332314324441113334223344414413141243222443324133134113233441142314433134244214414132411112212424233321342444122244334432431324324213342343321112421222141333412434323133331331212314333314112133313432312422424132412413132313213423342412124132311333243242444322333132232131341121143234243123123223211421232124423142332231212323321431213241333222211231344212442131321442421213412322143433243221132321333231444143444241413213242422223133233113 31311333111143323142211224444211221123442223212142121322342134423323121422212323123142342112221342243121414234321323412123233434222423424223432133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124434342223444443434342332213422142424214323442122134131431432341444342443334221231231231443131231242434412231122111233141122133114343412231222414243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333233244311223231431313423442211321442314113112222224221123341314312444213121212343133222141422141213342232444242321242422243342232312143311111444123132122323124234431122341132134133224144333232223324441113114333333432442142114221212311211244431124124141234333114122332234113111144231331333132232243432124111322233322134124331223232343432223111222243223422222414142231112442332421234344331323113131432421121343321311131312112123124321423132223243212342111342212344131124213313332214431112131221314224413143111413443122321313323422223233231333234111423444211313441114333421343322214233322422413224232132321221222112432113211332342233144414214333321213242124422323311343331232423122313321333112244344122423421243222413123223222312443442131334342143141333122331431413414141233121422342321334321144343224213331432432433413144323123324443133143143121124431314342424242114144424212413432232133233223332232323342312242421322241321212343332224431444414124424223111121313133342234233421233433124322142114121211431412124114231342344312232223132424231141412433424133412244311311422343233114133412131411341121422311211211332432113323111241142422223221121131123334134331112223214124134223241241213332443313444431222133132223433222132323321234214223313132213222344431131211114122422312111333132242241131221423314344341413332433241212232322342322342322242343331342121121112321132133433214324142244412331214334131234444334242333334433214122113441431442312344311313342342433122142343411311312243143434321213213341233134232443123222112344113412323231423221112244444113121444331131342241312432334311333132143441224214212131323311412141212331221111312324421112124423412421312441434143323211422212122324314212333223324134333112244242424412211331124142332001000000000000000000000000000000000042331432113414334312344244223141244111213441133342243221332444233432242132121341141422244134422114133424443244411333323214424331132143133214231112131122113431441443342333222242432231441242111321443223223212322341341323344242213214342444233233221242322433111333413231314332321223334224144214444334331231314144122343234322241334132441124441224242214322233222412422334313323143113222124442443424114243411243114312113121124312222231343211333133132413143244314444131312331322432412111221214324234221133113414213333432312342324434111313124244221431332314342331143342141234422412411423414423423414424341133344222134143134443413223334414231323432334222331243311143421222223314411421123431422143133331234232243433344331341222311334343241324323334311121421221434314311113143311434334434332441214141411212443111234223411243124223132214334334143213313143142113431121321342434114433334131321411222221434312223214414122112421431324314111321141343211433214332333344143233221231113432222133432343134314321123224232141333344112332131323231332333314132122121344313123423332233124124112233443232322112334333213222412331334444441313421231443241422344234344411142123313313241441344442422113424133111211433421333432444221223321232122423111114323421312232111231332423342423422324411124144313441433242121234421423423433322211411241343214212113312133333321442322313132223143313144222321333322141242221421433224234121443234313323323323141232432122321232132323333333221134312234324312322132132222332342122332423241333322311421121334313121223122143413323431331231221300000001000000000000000000012244343132233323211431222431142132123411441122111314432431141343334141214334121344344441431443142343000000000000000000000000000000000010000000000000000000000000000001221322331134144214323332233234411124132211331412244242314113341322223333144113124233322341332223242233214412331111433314144224314221414444312321333132413141143123243422123424234222232331334212311442212231213132334414143314313131111233113241441312214323132332211322431122122343411343414234141321242333333213142324332233343121411234332312223311311224122313143321231214321323443433311221443233224134334232211434233212333314211131344332232431232224133243323242223132131214413343421333114234232232124313224424422231323143124232234112341124434112234243433333243223134312142341232231433134441212323234232332213331421221323443231133234213444114123333334224222331222223233223132334434122321231122233434243434334323232323342132223312122142322444323232142233222132222331441443423221323413333143323242241432341331311132242423442231342413134341424222114221131321144231131221213222311344213122312211214214222211333221332324444424411233131433331433111422331212321433221311331333434134231143441132223232414431211214111334224234244421344234322324124122213341122343323344324112333222421323424421421122423344141432433442313243342334313124233232221431311222431112244342432424121124112141232313242000000000000000000000000001000000000000000000432112442144243342243334223442324112434231131413300000000102211434144112213223101000000000000000242134333314343122211411141332341212112331312333231443324314423422314113123221334321343111214113243121422341434111141123423134212223231413313333432313324112324442422134332322442132121122411443314421334231213234223224124211214332111234422222233413222414344341114233244321224223212233221132122233312243433242432113134114411324133213413124234313223432243314223133332321422211334224121232241412421313333133311111143121413123124124332332213432334214322114223312111432323321221134332142223322213344132433113221122334344421443334113344434241343411422241124113111111414443141314431332224234432334331334434112331121342434122444334432431324322211342341321112421222141333214413242321114121222112131432234333412134114242424132212413334223433223342413124132313333123124244322333132232131341121143234243123123421211421434324423142332231212323321431213241333222211233344212442131321442421213412322143433243221132321333231444143413241212413242322223133433323 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222223424424232111411241311211311314311443132133124323344431443133344123211211414334244214322244322132212432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322443334221431231331443131231242434214231122111233141122133114343412231222414243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333231244233411143233241242222133121242314332231222242344314333114134112131323424422131144312412321443222232442242313342442241422432312133111434444143132322143334241423122341132132131224122133232221422241112114331313232422344112141432411211234411122344343411314112122434234133341344443331343333232441412132233344231122134122331123233331232423113422241233444332424142231112442332331232344311424113331132421341343323231131322312123123121433132243243112342111342232344131124213313332214431314131221314424411143111433443122321313323422223233231331244311421424211313443111333221343322232333322222443242232342341421222312332113211333322433144434211333341413222422422323311343311232423122313321333132244344122423421243222411123223222312443442131334342143141133122331431411412141232321422342324312321324341224433311132432411413322131241144443114443242321224414112342421122142142432234413432232131233221332232221342234422221344342113432341332222211444434142443221312421333133342431213421233433324122142114121211411432331312314322344324212233334413431443432231244333412232143334422413441432311313314223413441333124231231214432311133311322144324233221121111421112114311142121412124132223433421313432442313434211222233132223433222134123323232234243123332232214344431123211114112442332111333333242221122241443313124121413134433224212412342142322342141222123311342131121112321122133433214224122242212311214334133234224134244423112233214222211344143224114222132411114324333322124131231133432241343434321213213341233134232443123222112344113412323231441221112244444233121444331131342241312431314311133132343441424214212133223311434341432312111333334234242322312431312124331321432141323433124434432342132232113241324114333324224344431412211131124322342000000000000010000000000000000000000042311432123211334312322441422121114134231244332122243423332422131432242132421321343422344114422134133424443444411433323334444313332122133314231112332131333433241443142313222242432233442242311323441221223213324321341323344242213214342444233233221242322433111333413231314332321223334224144214444334331231314144122343234322241334132441124441224242214322233222412422334313323143113222124442443424114243332243111134333334322134444231323213131211332133143443324212323122334323332133313223214344234241113141214213333432312334324234113343322423421244111132344313211312323312244234333343414443423414424343133344232134143134413413223334414231323432334222331243311143421222223334413243231411424143113331214432243433344331321222313334343341324323334311121421221434314311133123311434314434332441214341411212443111212223411243124223134214333334143213313143342113431121321342432114433333131123413422414232312243214414122114441433322233323333141221213233412114333124321431424433323214432143132343312133141333142422323233124112334333223412134321112312442121122131321224334321123142332213223232332312334331213222432313124444441314441413221421214312331124323124341132333231413121324222211244131332431413221243432442443243234412342222131312321222132412333213114341122243224242332344312131423213422113333223324232223323231221243123312232113312333333321442222313313343122331122323341111122121244223423323242334341241232112322323313331232432342123232132141111331221134312233324312322132132224132324122112423241331344331241323334213121211322131333321431313211223100000000000001000000000000012344123212411341413212422223122134321213323344331334231241324121314341432142121344324441231443141121000000000000000000100000000000000000000000000000000000000000000001231122313134144214333112243434211124332231331412244222314113141322243131144142124233342311332223242422232112323111132334144224314221414434332341313332233121423123243422123424234432412332332432413412232413413312332414143312331131114233113241411312214343332322213222334142123141211343414224123121142133333213142324332233343124434134132414224113242422124311143121231212121322422213411242443233234332314234231214233211133314321313344332214431232224133243323242223132131214413343421333114234232232124313422222422231221143144232224132341334434212232243433314421442314312142331232221433134441212323234232332213331421221323443231133234213444114123333334224222331222223233223132334434122321231122233434243434334323232323342132223312122142322244323232142233222132222111441443242221121313123121123142244434121111331112242423442211312413134341424222114221131321144231131221213222311344213122312211214214222211333221332324444424411233131433331433111422331212321433221311331333434134231143441132223232414431211214111314322234244423244434332124322122213341122343323344324312333122241143241212112341211114123432433442313243342334313124233232221431311222431112244342432424121124112141232313242000000000000000000000000001000000000000000000432112442144243342243334223442124112434231133233100000100002431412112114233423200010000000000000242334333314143122211411141332341212112331312333231443324314423434312113144141112323223341214113443321413341434311141123423134212223231413313311214131143434144122222334332322422132121122411443314221334233231222142412341223234132111434222212413441224214244343214131442313412441212234223134343214344243433242432113132114324124311413233422433344441214421234223133332341422211334224121232241412421313333133311212113121413121124124334332111232314114122132233332111432143221241124312412223322213344132433113221122334344421443334123344414413143411422241112333111111414443141314431332224234432334332334434112311141122234242422412244431424332213322343343122221242441331244413242331331321212314313312212111423422132422342342212431112214233222142412124132111333243242414322333132232131311121143234243123123223211421232124423142332231212323321431213241333222211233344212442131321442421213412322143433243221132321333231444143413243212431442422223413433323 31311333111143323142211224224243221133442423222134121422342114423123121222212323123142344312233344213231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322344322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123112332123231233241332441443411342241242113131124111331232434422214323442122134131431432341444342443334221231231231443131231242434412231322111233141112133114343421233222441241312113224214142122434242331423324122221223344232342234114112113144233333432133433131133221323334111412242223333231244233411143233241242222133121242314332231222242344314333114134112131323424422131144312412321441222223422222313342442241422232334131113111244443132122323124234231122341232134133224144143232221324441113114333333432422342112241212313211244431124124141234333114122332234113111144231331333132232443432124111322233322134124331223232343432223111222243223422222424142231112442332331232344311424113331132421341343323231131322312123123121433132243243112342111342232344131124213313332214431314131221314424411143111433443122321313323422223233231331244311421424211313443111333221343322232333322222443242232342341421222312332113211333322433144434211333341413222422422323311343311232423122313321333132244344122423421243222411123223222312443442131334342143141133122331431411412141232321422342324312321324341224433311132432411413322131241144443113443242321224414112342421122142142432234413432232131233221332232221342234422221344342113432341332222211444434142443221312421333133322431213421233433324122142114121211411432331312314322344324212233334413431443432231244333412232143334422413441432311313314223413441333124231231214432311133311322144324233221121111421112114311142121412124132223433421313432442313434211222233132223433222134123323232234243123332232214344431123211114112442332111333333242221122241443313124121413134433224212412342142322342141222123311342131121112421122133433214224122242212311214334133234224134244423112233214222211344143224114222132411114324333322124131231133432241343434321213213341233134232443123222112344113412323231441221112244444233121444331131342241312431314311133132343441424214212133223311434341432312111333334234221322122421412424332441212311121433124434432322132232113241324134333324224344231412211331124322344000000000001000000000000000000000000042311432321431433122324241232141242114231244332322441241334322121432232132421321343422344114422134133424443444411433323334444313332122133314231112332131333433241443142313222242432233442242311323441221223213324323443323312241213214322434233431221242122433111311413214332314342443132422324434222322143212334144122323234322241334132243143331344222222212433222412422342431143112231412342422223212323223411223414312133334322134444231323213131211332133143443324212323122334323332133313223214344234241113141214213333432312334424244111343322244223431332314144333143342141234422412433421214444243314344123312222432132142124243314223332411213322431332222413421434421341222223334231223131411222141331131231414121242324312124224413134221221314323112223321221413434334311113121311424332434332441214321411212343111212223411243124223132314333334143213313143342113431121321342432114433333131123413422414232312223214414122114441433324314111321143243211433214332333344143433221233313432222132432343134314321123222232141333344112332131343231332333314132122121344313123423332233124124112433243332222332334333213222432333132444443313421231443241422344234344411142123113313241441344442422213224131331231213221343432444221223321232122423111114323421312232111231332423342423422324411124144313441433242121234421423423433322211411221343334313331334341331141222222311333322322331122223121133342321422241423322222334141443242123113223123343434432322341214224323333333422334311213132334142132332222332342342312223141331344331241343334312341411324331331223414313231221310000000000000000000000000012244123114231141213212444223142134321411443142331314432241324121134343234142321344124411432243142323000000000001000000000000000000000000000000000000000000000000000001231122313134144214333112243434211124332231331412244222314113141322243131144142124233342311332223242422232112323111133334144224314221414434332341313332233121423123243422123424234432412332332432313412232413413312332414143312331131114233113241411312214343332322213222314142123141211343414224123121142133333213142324332233343124414133332312223311311224122313143321231214321323443433311221443233224134334232211434233212333314211131344332232431232224133243323242223132131214413343421333114234232232124313422222422231221143144232224132341334434212232243433314421442314312142341232221433134441212323234232332213331421221323443231133234213444114123333334224222331222223233223132334434122321231122233434243434334323232323342132223312122142322444323232142233222132222111441443443221121332133141323242441432341331313311324223212411312413132343342143312222313141122343333243233222311344213142132211414414212241133231334324424421441211323232331231131214143444331431123213211111214113213121224332421434412231413214311314322234244221334212332324124144141141122241323343424312333122243143441421421122423344141434233432334111121214332122134222232143433222243212421324414224421132331321432413222000000000000000000001000000000000000000000000332132442144243342443414323442324112432431333231300000001004434412142432213223101000000000000000242334333312143122211411141332341212112331312333231443324314423422314113123221332321342341214113443321422341434311141123423134212223231413313311214131143434144142222334332322424132121122411443314221334233231222142412341223234132111434222214413441224234244323234121442313412441212234223112123233312443433242432113132114324124311413233422433344441214421234223333332141422211334224121232241412421313333133311112143121413123124124332332213432334214321114323312131432141221422321131444223344213144132434133223332314324441113334223344414413143411422241124113414111414443141312431332224234432332312112212424233321342434121244334432431324324213342343321112221242441331244413242331331321212314313312212111423422132422342342212431112214233222142412124112311333243242244322332132232111441123143234421344123223212421234322443142334212211123322231143223333224233233244232233313341434141213431444123241331422312131441331444121344243212431242422223413433323 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231111214343331214343232434224223424223432133423213311231133112311242132133444321332114323331213123213211414334444214322244322132233333334242142342314334411332431223223321212113222141311423332323314121123411414124144213311312413123123132111342213442423132421124431342223444443434342332213422142424314123442124131131431432341424322423334221231231231443131231242434414231322111233141112133114343421233222414243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333233244311223231431313423442211321442314113112222224221123341314312444213121212343133222141422143213342432444242321242422243342232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112241212311232434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412132431112422312331234344311343113331434423141343123231131314112123144321133112223243112342111342232344331124213313332414431314131241132224411143111211244122111313343441221231221313444311421224213313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131313311232423124311323123314442144441223121423124133143221422314123244231133112411143331342333431341412341432323424142324112141322141224431311114212413113122131241342441113141122134122114112334124144142322424432431212212331233221332214323122312242423322221321214343132224433244314124424233111123113233442214133441213231324344422134121243411432331312334322344324212233334414431443432431242333412244311411242342233114133412131411341123322311311212332432133322111241124422433221121111421112114311142121412124132223433421313432442313434211222233132223433322134123323232234243123332232214344431123211114112442314331333122242421132241443333141321413332433241212232321342322342322222321131124331312332442132131431214322142322412331214334131234444134242333334433214122113441431442312344311313342342433122142343411311312243143434321213213341413212232444133223412343313412123231223433311222242213342424142133342333312122311341323132341121424211242133223311434341432312111333334234242322312431312141312444434143323213434212122324132232113241324134333324224344434413411331144124132000000000000000000000000000010000000042333132123211434312342441423123244114231244312342211241112342233424432132113123141441344114222332341224321224211411223234444311314322133242233322312121111211434441144132221431333233422123313423321433231233122123441333314322222233122434233431221242322433111311413214332314342443132422324434222322143212332144122323234322243334132243143331344222222212433222412422342431143112231412342422223212323223411223414312133334322134444231323213131213332433143443324212133112334323332433313221214344234241232111244113333232312334424234111141322423421244111132344113211312343312244234333343414244241414424343133344232134143134443413223334414231323432334222331243311143421222223334413243231411422141331131231414121242324312124224413134221221314323112223321221413434334311113121311424332434332441214321411232343111212223411243124223132314333334143213313143342113431121321342432114433334131143413422214232112123432222324124441431324233323333141221213233412114333124321431221231113432222132432343134314321123222232141333344112332131323231332333314132122121344313123423332233124124112433243334222332314333213422412333132444241314421413221421224312331324323124341132333231413121324422213222231131231433421242434224221223321232324433333132323222334412333213114341122241224242332342312131223213421113333223324222221123231221221343334313331334341331141222222311333322322331122223121133342321422241423322222334141443242123113223123343434432322341214224323333333422334311213132334142132332222332342342312223141331344331241343334312341411324331331223414313231221310000000000000000000000000012244123114231141213212444223142134321411443142331314432241324121134343234142321344124411432243142323000000000000000000000000000000000000000000000010000000000000000001231122313134144214333112243434211124332231331412244222314113141322243131144142124233342311332223242422232112323111132334144224314221414434332341313332233121423123243422123424234432412332332432413412232413413312332414143312331131114233113241411312214343332322213222314142123141211343414224123121142133333213142324332233343124434234132412223311211224122313143321231214341323423433341221443233224134334232211434233212333314211131342332232431232224133243323242423132131214413341421333124234232232124313422222422231321143124232224132341332434212232241433333243223133432344343232233433132441234323234232334213131421421324441441233234213444114123333332224222331222223233223132334434122321231122233434243434334323232323342132223312122142322244323232142233222132222111441443242221121313123121123142244434121111331112242423442413112413134341424222114222313141122343333243233222311344213142132211414414212241133231334324424421441211323232331231131214143444331431123213211111214113213121224332421434412231413214311314224234244421344234322324124122213341122343323344322132333222421323424421421122423344141434213431314213321214332122134222232131331222441112244342432424133332332122414321422000000000000000010000000000000000000000000000332132442344241444421434323442324112434231133233100001000002411412112114233423200010000000000000242334333312343122211411141332341212112331312333231443324314423434312113144141112323223341214113443321413341434311141123423134212223231413313311214131143434144122222334332322422132121122411443314221334233231222142412341223234132111434222212413441224214244343214231242313412441212234223134343234342221233122242123344314411324133213413124234313223432243314223133332141422211334224121232241412421313333133311232113121413123124122332332111432314114122112233332111432343221421124311412223322213344132433113221122334344421443334113344434241343411422241124113131111414443141312431332224334432332312112212424233321342434121244334432431324324213342343321112221242441331244413242331331321212314313312212111423422132422342342212431112214233222142412124112311333243242244322333132232111441123143234421344123423212421234342443142334212211123322231143223333224233233244232233313341434421233431444123433243422312131441331444121344241413213242422223413433323 31311333111143323142211223442411241123142421222144121322342114423123121422212323123142344332233314243231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444334221431231331443131231242434214231122111233141122133114343412231222441243312133224214122122434441331223334122221223344232322234113332313132242333232133431111132421123234133441442221313331244313223233431313423442211321442314113112222224221324341314312444213121214323133242141412141213241232442242313342442241442222312143111434444143132322143334231421122341132134133224144333232223324441113114333333432442142114221212311211244431124124141234333114122332234113111144231331333132232243432124111322233322134124331223232343432223111222243223422222424342233112441331331234344311424113311432431143343321311133312132241123311421232223243112343111342232344331124213313332414431314131221314224433441111413424122321313323442243233231211232131323444411333143134133421343121232333322222443242232342341421222312332113211333322433144434211333341413222422422323311343311232423122313321333132244344122423421243222411123223222312443442131334342143111133122331431411412141232321422342324312321324341224433311132432411413322131241144443113443242321224411112342421122142142432234413432232131233221332232221342234422221344342113432341332222211444434142443221312421333133342431213421233433324122142114121211411432331312314322344324212233334413431443432231244333412232143434422413441432311313314223413441333124231231214432311323111342144322233221123111421112114131142123214124132223241241213332443313434411222131142321221322132323321232214223313132213222344431131211114122422312111333132242241131221423314344341413332433241222212342142322342142222123311342131121112321122133433414324142244412331214234133234224134242333312413433122113444141442312344311313342342433122142343411311312243143434321213213341413212232444133223412343113412123231441221112244444213121444131131342241312432334311133132343441424214212131331313434321432312221333334234221322122421412424332441212311121433124434432322132232113241324134333324224344231412211331124322344000000000001000000000000000000000000042311432321431433122324241232141242114231244332322441241312342233424432332113123141441344114222332341224321224211411223234444311314322133242233322312121113431231413142333322242432241422223313423321433231233122123441333314322222233124234231211443132344212441313413214332314342443132422324434222322143212332344122323234322241332334443343331344222422213433222412422342431123112231412342224223212323243411243114312113321124312222231343211333133132413143244314444131312331322432412111221214324234221133113414213333432312342324434111313124244221431332314342331143342141234422412411423414444243314344123312222432132142124243314223332411213322431332222313421434421341222223334411223131411222141133131234432243433342131321222413314221241314341332323321421411432312111313123333433134232312224234343433312443113212423233323242221232234334331142313333341322334413333311342432114233334131321411222221434312223214414122112421431322213123333331221213211414132333322123431424433323214434143132343312133141333142422323233124112334333223412134321112312442121122131321224334321123142332213223232332312334331213222432313122444441314441413221424224312331324323124341132333443213124324422241224131332431233421333432242443243234412122423111114323421312232111231332423342423422324411124144313443433242121234221323423433322211411241343334313331314341331141222222311333322322331122323321133322143442221423423122334341423242113313322323343432432323341234224323333331221122312213132334142132332222332342144332443141333122333421121312333121411322331333223431313231221300001000000000000000000000012344144114231341213212424223342134341411443142333314412243324341332343214334324344324441431443141323000000000001000000000000000000000000000000000000000000000000000001231122313134144214333112243434211124332231331412244222314113141322243131144142124233342311332223242422232112323111133334144224314221414434332321313332233121423123243422123424234432412332332432313412232413413312332414143312331131114233113241411312214343332322213222334142123141211343414224123121142133333213142324332233343124434134132414224113242422124311143121231212121322422213411242443233234332314234231214233211133314321313344332212231332224131423123242223132133214331343441333124212432232124333224424422233323143124232224112341124434112234243433333243223134312142341232221433134441212323234232334213131421421324441441233234213444114123333332224222331222223233223132334434122321231122233434243434134321432322342112223412124142322444323232142233222132224131411421243243123413133121123242241434121131331112242423442413342413112123344222114222313141122343313241331144442122431143112213412414214242121433114112224221441211323232331231331214143444331431123213211111214113113121224332421434412231411234331314322234244221334212332324124144141141122241323343422312333122243143441421421122423344141434233432334111121214332122134222232143433222243212421324414224421132331121432413422000000000000000000001000000000000000000000000332132442144243444421434323444122112434231133213100100000002211414114112211223200000000000100000142334333312143124411311121332343212112311312133231134144144423422314113123221334321342341214113443321422343434311141123423134212223231413313311214131143434144122222334332322424132121122411443314221334233231222142412341223234132111434222214413441424234244323234121442313412441212234223112343414144221413242232313134114324124311413233422433344441214421234223333332321422211334224121232241412421313333133311111143121413123124124332332213432334214322114223332111432143221421124311442223344233342234414313223322314324421143334223344414413143411422241112333114133233441142112433334244314414132312112212424233321342434121244334432431324324213342343321112221242441331244413242331331321212314313312212111423422132422342342212431112214233222142412124132111333243242414322333132232131311121143234243123123223211421234324443142334212211123322231143223333224233233244212233313341434141233431444123241331422312321333331444141313323212431442422223413433323 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222423124223432133421241311231133112331242132133444321132114323141313123211211414334244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444334221431231331443131231242434214231122111233141122133114343412231222414243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333231244233411143233241242222133121242314332231222242344314333114134112131323424422131144312412321443342432444242321242422243342232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112241212311232434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412132431112422312331234344311343113331434423141343123231131314112123144321133112223243112342111342232344331124213313332414431314131241132224411143111211244122111313343441221231221313444311421224213313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131343311232423124311323123314442144441223121423124133143221422314123244231133112411143331342333431441412341432323424142324112141322141224431311114212413113122131241342441113141122134122114112334124144142322424432431212212331233221332214323122312242423322221321214343132224433244314124424233111123113233442214133441213231324344422134121243411432331312334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231231214432311133311322144324233221121111421112114311142121412124132223433421313432442313434211222233132223433222134123323232234243123332232214344431123211114112442332111333333242221122241443313124121413114423224212212342142322344142222123311342131121112321132133433214324142222432331212334113234224134242333334433214122113441441422312322112413112144321322124341213111314421322234323413233311213232412414321223432343313412343231423221112244444113121444331131342241312432334311333132143441224214212131323311412141212331221111312324421112124423412421312441434143323211422212122324314212333223324134333112444242424412211331124142332001000000000000000000000000000000000042331432113414334312344244223141244111213441133342243221332444233432242132121341141422244134422114133424443244411333323214424331132143133214231112131122113431441443342333222242432231441242111321443223223212322341341323344242213214342444233233221242322433111333413231314332321223334224144214444334331231314144122343234322241334132441124441224242214322233222412422334313323143113222124442443424114243332243111134333134322134444231323213131211332133143443324212323122334323332133313223214344234241113141214213333432312334424244111343322244223431332314144333143342141234422412433421214444243314344123312222432132142124243314223332411213322431332222413421434421341222223334231223131412222141331131231414121242324312124224413134221221314323112223321221413434334311113121311424332434332441214321411212343111212223411243124223132314333334143213313143342113431121321342432114433334131143413422214232112123432222324124441431322233323333141221213233412114333124321433221231113432222133432343134314321123224232141333344112332131323231332333314132122121344313123423332233124124112233443232322112334333213222412331334444441314441413221421214312331124323124341132333231413121324222211244131332431433421333434444221223321232122423111114323421312232111231332423342423422324412124144313441433242121234421423423433322211411221343334313331334341331141222222311333322322331122223121133342321422241423322222334141443242123113223123343434432322341214224323333333422334311213132334142132332222332342142332443241333122333421121312333121411322331333223431313231221100000100000000000000000000012244144114231341213212424431142132123411441122111132432431141341334141434144321342344441432241341323000001000000000000000000000000000000000000000000000000000000000001221322331134134214333112433234211124132233121432442442334211333322223331144143324213122314234133222433432112321113433114144224314221414444312221333132413141143123243422123424234232412331134233313442232413213132334414143312331131114233113241411312214343332322213222314142123141211343414224123121142133333213142324332233343124414134132314244313242422124311121141221214141322422211313442444434223332312232231213213132133314321313144332434231332222133221323242213132131214413343421313124232232232124333224222422231321143124212234132341334434212232243433314421242134312142341232221433114441212323234232334213131421421333443233133234213244114121433334224222331222223233223332334434122321221122223434243434334323432323342132223312124142322444323232142233222132224131411443443221121312133141323242441432341331313132242423442231344413112123444222114222313141122343313241331144442122431143112213412414214242121433112324444424411233131433331433111422331212321433221311331333434134231143441132223232414431211214111334322234244423244434322124322122213341122343323344324312333122241143241212112341211114123432433442313243342334313124233232222431333442241113241342332424421124112141412311222000000000000000000000000000100000000000000000332132442144243444421414323324322112434231133213300000000012211332142112113223101000000000000000242134333312143122211411141312343212242311132333231434144144423422314113123221334321342341214113443321422343434311141123423134212223231413313411214131143434144142422334332322422132121122411443314221334231213234223224124211214332111234442212213441242214244343114131444121224223234434223132123233312443433242432113132114324124311413233422433344441234421234231341333321444411114222141232243412421333333133313232113121413141124144332332121232312112122132233332111434143223221124312112223344233322234433113221122334344421443334213314434213143243422443312133414113414443141314431332242231432334432334434112331121342434122444334432431324322211342341321112421222141333214413242321114121222112131432234333412134114242424132212413334223433223342413124132313333123124244322333132232131341121143232243123123221211421434124423142332231212323321431213241333222211233344212442131321442421233412322143433243221132321333231444143413241213213242422223133233123 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312244423324332321322412432133242223342314334411332431243223321212113242143313223334323112121123141434134144431131412431121343112331123233233241312121444431342223444111431124111233232432244212123442122134131431432341444322443334221231231231443131231242434414231322111233143112133114343421233222441243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333233244311223231431313423442211321442314113112222224221123341314312444213121212343133222141422141213342432444242321242422243342232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112241212311232434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432423111222243223422231412132431112422312331234344311343113331434423141343123231431314112123144321133112223243112342111342232344331124213313332414431314131241132224411143111211244122111313343441221231221313444311421224213313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131343311232423124311323123314442144441223121423124133143221422314123244231133112411143331342333431341412341432323424142324112141322141224431311114212413113122131241342441114141122134122114112334124144142322424432431212212331233221332214323142312242423322221321214343132224433244314124424233111123113233442214133441213231324344422134121243411432331312334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323112342144322233221123111421112112331142141214124132223443421313432423333434411242131142311221322432341141214211123322114413222144431131331134314444314331333122241223132243444333144323413134433224212412342142322342141222123311342131121112421122133433214324142222432331212334113234224134242333334433214122113441441422312222112413112144321322124341213111314421322234323413233311213232412414321223432343313412343231423221112244444113121444331131342241312432334311333132143441224214212131323311412141212331221111312324421112124423412421312441434143323211422212122324314212333223324134333112444242424412211331124142332001000000000000000000000000000000000042331432113414334312344244223141244111213441133342243221332444233432242132121341141422244134422114133424443244411333323214424331132143133214231112131122113431441443342333222242432231441242111321443223223212322341341323344242213214342444233233221242322433111333413231314332321223334224144214444334331231314144122343234322241334132441124441224242214322233222412422334313323143113222124442443424114243332243111134333334322134444231323213131211332133143443324212323122334323332133313223214344234241113141214213333432312334424244111343322244223431332314144333143342141234422412433421214444243314344123312222432132142124243314223332411213322431332222413421434421341222223334231223131411222141311131231414121242324312124224413134221221314323112223321221413434334311113121311424332434332441214321411212343111212223411242124223132314333334143213313143342113431121321342432114433334131123413422214232312143432222324124421431324233123333331221433211414132333322123433221231113432222133432343134314321123224232141333344112332131323231332333314132122121344313123423332233124124112233443232322112334333213222412331334444441314441413221421214312331122323124341132333231413121324222211244111332431233421342434242443443234412342223131312341242132412333213114341122243224242332344312131223213422323333233344232223323311211241321334313333114341321341424234313132223122331122323321133322121244223423323242334341241232112322323313331232432342123232132141111333221134312233324312322132132224132324122112423241331344331241323334213121211322131333321431313211223100000000000001000000000000012344123212411341413212422223122134321213323344331334231241321341314341432142321344324441231443141323000000000001000000000000000000000000000000000000000000000000000001231122313134144214333112243434211124332231331412244222314113141322243131144142124233142311332223242422232112323111132334144224314221414434332341313332233121423123243422123424234432412332332432313412232413413312332414143312331131114233113241411312214343332322213222334142123141211343414224123121142133333213142324332233343124434134132312223311311224122313143321231214321323443433311221443233224134334232211434233212333314211131344332232431232224133243323242223132131214413343421333114234232232124313422222422231221143144232224132341334434212232243433314421442314312142341232221433134441212323234232332213331421221323443231133234213444114123333334224222331222223233223132334434122321231122233434243434334323232323342132223312122142322244323232142233222132222111441443242221121313123121123142244434121111331112242423442233312413134341424222114221131321144231131221213222311344213122312211214214222211333221334112224221441211323232331231131214143444331431123213211111214113113121224332421434412231411234331334224234244421344234322324124122213341122343323344324112333222421323424421421122423344141432433442313243342334313124233232221431311222431112244342432424121124112141232313242000000000000000000000000001000000000000000000432112442144243342243334223442324112432431331413300000000102211434144112213223101000000000000000242134333312143122211411141332341212112331312333231443324314423422314113123221332321342341214113443321422341434311141123423134212223231413313333432313324112324442422134332322442132121122411443314421334231213234223224124211214332111234422222233213222214344341114231244321224223134434223132123233312443433242432113132114324124311413233422433344441234421234231341333321444411114222141232243412421333313133311212113121413121124124334332111232314114122132233332111432143221241124312412223322213344132433113221122334344421443334113344434241343411422241124113111113214443141312431332242231232324332334434112311141324232242422412244431424122431222121321312221224141331244413242331331321212314313312212111423422132422342342212431112214233222142412124132111333243242414322333132232131311121143234243123143423211421234322443142334212211123322231143223333224233233244212233313341434141233431444123241331422312131441331444141313323212431442422223413433323 31311341113341141322213214224243221133442423222134121434142114423133121243332323132442342314421144143222414432321423212143413434222423424223432133421211311231133112311242132133444321332114323141313123211223414332444214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123112332123231233241332441443411342241242113131124111331232434422214323442124131131431432341442322443334231232231331443131231242434214231122111233141122133114343422231222414243311333224212122122434241331233334122221223344232322234113332313132242333232133433111432421123234133442442221313331244313223233431313423442211321442314113112222224221324341314312414213121214322131144312412321441222223422222313342442241422232334131113111444443132122323124234231122341232134133224144143232221324441113114333333432422342112241212313411234414322324341211133114141322234333313144231331333132232443432124111322233144134124331213232343432223111222243223422231412132431112422312331234344311343113331434423141343123231131314112123144321133112223243112342111342232344331124213313332414431314131241132224411143111211244122111313343441221231221313444311421224213313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131313311232423124311323123314442144441223121423124133143221422314123244231133112411143331342333431341412341432323424142324112141322141224431311114212413113122131241342441113141122134122114112334124144142322424432431212212331233221332214323122312242423322221321214343132224433244314124424233111123113233442214133441213231324344422134121243411432331312334322344324212233334414431443414411244314232444311411242342233114133412131411341123322311311212332432133322111241124422433221121111421112114311142121412124132223433421313432442313434211222233132223433222134123323212211123322112413222144431131331134312424414331333122242221132241443333141323413332433421212232421342142142142222123311342131121112421132133433214324142224212311214334133434224134244423112233214222211344143224114222132411114324333322124131231133432241343434321213213341233134232443123222114344113412323231441221112244444233121444331131342241312431314311133132313441424214212111323311412141212331221111312324421112124431312124312441432141323433124434431342132232113241324134333324224344431433411113142324344000000000100000000000000000000000000042311442321431423121324441423123214114433234332142441241334322121432432132121341141122343114424114133424443244411333343234422331332123133214231113132121113431441443312333232242432231442242111323443223223212322321341323344242213414342444311211221242322433111213313214332312342443112422324434222122143212332344122323234322241334134443343331344222222213433222412422342431123112231412342224223212323223411123414312133334322134444231323213131211332433143443324212123122334123332433313223234344232241133111214213333412312334424232211343344244223431332314344333143342141234422412433421234243423414324323113342232132142122243314423332411213322431332222313421434421341434221112411221123411422341331131231414121242324312124224413134221221314323112223321221413434334331113121311424332434332441214341411212343111212223411242124223142314333334143213313143342113431121321342432114433334131143413422214232112143432222324124441431344314111321143243211433214332313344143411424433313432432143111324332134341123242222321233124112332333223412114321314312442121344313141443112233324342112432223232222332334333211222412333132244443314441413221421214312331124323124341132333231413121324222211224131332431413221243432442443243234412342222131312321222132412333213114341122241224242332342312131223213421113333223324222221123231221221321334313133114341321341424234313132223143313142223321133322141442221423423142334341423242113313322323343432432323341234224323333331221322312233324312322132132224132324122112423241331344331241343334312141421322133413241431331231221100000000000000000001000000012244123134213341213212422431144132121411441122111132432431141341334141234142121342344441432243341121000000000000000000000000100000000000000000000000000000000000000002231342313134144214333112444412211121113233322432442442334231333432423321142143324213122314214133222433432112321143433114344442222234434444312341333132413141143123243422123424234432412332332432313412232413413312332414143312331131114233113241411312214343332322213222314142123141211343414224123121142133333213142324332233343124434134132412223311211224122313143321231214341323423433311221443233224134334232211434233212333314211131342332214231332224131423123242223132133214331343441333124212432232124333224424422231323143124232234112341124434112234243433333243223134312142341232231433134441214333231232332213131441241323443231213234213244314123433334224422331222223233243132134434122321221122223414243434134321432322342132223412124142322244323232142233222132224131411421243243321333133143323242241432341331313312242423442231312413134341424222114221131321144231131221213222311344213122312211214214222211333221332324444424411233131433331433111422331212321433221311333333434134231143441132223232414431211214131314322234244421344234322324124124141141122241323343422112333222421323424221421122423344141414233432334211121214332122134222232143433222243212421324414224421132331121432413422000000000000000000001000000000000000000000000332132442342123444443434323442324112434221133233100001000002411412112114233423200010000000000000242334333314143122211411141332341212112331312333231443324314423422314113123221332321342341214113443321422341434311141123423134212223231413313311214131143434144122222334332322424132121122411443314221334233231222142412341223234132111434222214413441224234244323234121442313412441212234223112343414144221413242232313134114324124311413233442433344441234421234231141333321444411114222141232243412421333333133311111143121413123124124332332213432334214322114223332111432143221421124311442223344213144132434133223332314324441113334223344414413141243222443324133131111414443141312431332224234432334332334434112311141122234242422412244431424332213322343343122421222121333412434323133331331212314333314112133313432312422424132412413132314213413342412124112311333243242244322333132232111441123143234421344123423212421234342443142334212211123322231143223333224233233244232233313341434141233431444123241331422312131441331444141313323212431442422223413433323 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222423124223432133421241311231133112311443132133142323144431443133344123211211414334244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213443241332421443411342241242113131124111331232434422214323442122134131431432341444342443334221231231231443131231242434412231322111233141112133114343421233222441241312113224214142122434242331423324122221223344232342234114112113144233333432133433131133221323334111412242223333231244233411143233241242222133121242314332231222242344314333114134112131323424423133242141412141213342432444242321242422243342232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112241212311232434431124124141234333114122332234113111144241111143132232423432124111322233122134122331223232343432423111424223223424231412132431112422312331234344311343113331434423141343123231131314112123144321133112223243112342111342232344331124213313332414431314131241132224411143111211244122111313343441221231221313444311421224213313441114333423343121232333322222443242232342341421222312332113211333322433144434211333341413222422422323311343311232423122313321333132244344122423421243222411123223222312443442131334342143141133122341411411412121233111422342121332321144343224213313432432433423144323123344413333143143121224431314342424242314144424212333432232133231221322132211342234444221324342113432141334424231434434122443221312421133133342434213421233433324122142114121411411132134312334122344314212233334414411423212433424333412232143334422413441432311313314223413441333124231231214432311133311322144324233221121111421112114111142121412124132223433421313432442313434211222233132223433222134123323232234243123332232214344431123211114112442332111333333242221122341443313124121413114423224212212342142322344142222123311342131121112321132133433214224122242412331414334133234244134242333334433214122113441431442312344311313342344333324324341211133332241343414141213211341211232414414321422414123321333121231441221112244424213121444131111242241312432314311133132343441424214212133223311234341433312111333334234242322312423412421331324434143323213434212131344132232113241324114333324224344431433411111122322342000000000000010000000000000000000000042311432123211334312322441422121114134231244332122243423332422131432242132421321343422344114422134133424443444411433323334444313332122133314231112332131333433241443142313222242432233442242311323441221223213324323443321312241213214322434233233221242322433111333413231314332321223334224144214444334331231314144122343234322241334132441124441224242214322233222412422334313323143113222124442443424114243332243111134333334322134444231323213131211332133143443324212323122334323332133313223214344234241113141214213333432312334424244111343322244223431332314144333143342141234422412433421214444243314344123312222432132142124243314223332411213322431332222413421434421341222223334231223131411222141331131231414121242324312124224413134221221314323112223321221413434334311113121311424332434332441214321411232343111212223411243124223132214333334143213313143342113431121321342432114433334131321411222221434312223214414122112421431322213123331331221213211414132333322123431221231113432222132432343134314321123222232141333344112332131323231332333314132122121344313123423332233124124112433243334222332314333213422412333132444241313421231443241422344234344411142123113313241441344442422213224131331231233421342434242443443234412342223131312341242132412333213114341122243224242332344312131223213422323333233344232223323311211241321334313333114341321341424234313132223142131122323321133322141444223423323242334141221242113313323123343432132322321234224323333333221324111213122334122142332222332342142332441241313122333221123334333121411322131333243231331231441100000000000000000010000000012244123114231141213212424223344134341411443142333314412243341121134341232142121344324441231443141321000000000000000000000000000000000000000000000000001000000000000002231342311134144214333112444432211124132211322412442442334231333432423321144113341213122314214133222433432112321113433114144242312234414444312321333332233121422321431224321222432222232332334212311442232413413312112333333312333131111223113241441312214323332332233324331122143341211324431421121121242133333213142324331233343144214234332312223311311224122313143321231214321323443433311221443233224134334232211434233212333314211131344332232431232224133243323242223132131214413343421333114234232232124313422222422231221143144232224132331334434212232243433314421442314312142341232221433132441212323234232332213331421221323443231133234213444114123333334224222331222223233223132334434122321231122233434243434334323232323342132223312122142322444323232142233222132222111441443242221121313123121123142244434121111331111324223212211112413134341424222114222313141122343313241331144442122431143113213412414212242121433114112224421441211323232341211131214143444331431123213211111214134231143441132221212412241431234331314322234244221334212332324124144141141122241323343422312333122243143441421421122423344141434233432334111121212332334114221321133433442241212421324414244421132331121432413222000000000000100000000000000000000000000000000332132442144243344441412342344344342434231333233100010000002211412112114233423200010000000000000242334333312343122211411141332341212112331312333231443324314423422314113123221334321342341214113443321422343434311141123423134212223231413313411214131143434144142222334332322424132121122411443314221334233231222142412341223234132111434222214413441224234244323234121442313412441232434223134122233312443433242432113132114324124311413233422433344441214421234231341333321444411114222141232243412421333333133331232113121413121124124332131111231314114142132233332111432323321241134312112341142211342244434113443332314322421113334223344414413143411422241112333131133233441142112433334244314414132312112212424233321342434121244334432431324324213342343321112221242441331244413242331331321212314313312212111423422132422342342212431112214233222142412124132111333243242414322333132232131311121143234243123143423211421234324423342432232232134221433211241333422211233344212232131321434421233412422143433243222312131441331444141313323212411442422223413433323 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424344213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444324221431231331443131231242434214231122111233141122133114343412231222444243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333233244311223231431313423442211321442314113112222224221123341314312444213121212343133222141422141213342432444242321242422243342232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112241212311232434431124124141234333114122332232113111144231331333132232443432124111322233144134124331213232343432423111222243223422231412132431112422312331234344311343113331434423141343123231431314112123144321133112223243112342111342232344331124213313332414431314131241132224411143111211244122111313343441221231221313444311421224213313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131313311232423124311323123314442144441223121423124133143221422314123244231133112411143331342333431341412341432323424142324112141322141224431311114212413113122131241342441114141122134122414112334124144142322424432431212212331233221332214323122312242423322221321214343132224433244314124424233111123113233422214133441213231324344422134121243411432331312334322344324212233334414431443414411244314232444311434242342233114133412131411341123322311311212332432133322111241124422433221313111441112114331242121234124132243443421313432443313434413422133134323233224132323321412211123322112413222144431131331134312424414331333122242221132241443333141323413134433224212412342142322342141222123311342131121112421122133433214224122242212311214334133234224134244423112233214222211344143224114222132411114344321322124341213111314421322234323413233311213232412414321223432343313412343231423221112244444113121444331131342241312432334311333132143441224214212131323311412141212331221111312324421112124423412421312441434143323211422212122324314212333223124134333112444242424412211331124142332001000000000000000000000000000000000042331432113414334312344244223141244111213441133342243221332444233432242132121341141422244134422114133424443244411333323214424331132143133214231112131122113431441443342333222242432231441242111321443223223212322341341323312241213214322432233211221244322433111313413214332314342443132422324432222322143212332144122323234322443134122423143331344222222212433222412422342431123112231412342422223212323223411223414312113121124312222231343211333133132413143244314444131312331322412412111221214324234223133313414213433232312334422234111141322423421244111132344313211312323312244234333343414244241414424343133344232134143134443413223334414231323432334222331243311143421222223334413243231412422141331131231414121242324312124224413134221221314323112223321221413434334311113121311424332434332441214321411212343111212223411243124223132314333334143213313143342113431121321342432114433334131143413422214232112123432222324124441431324233323333141221213233412114333124321431221231113432222132432343134314321123222232141333344112332131323231332333314132122121344313123423332233124124112433243334222332314333213422412333132444241314421413221421224312331324323124341132333231413121324422213222231131231433421242434224221223321232122423111114323421312232111231332423342423422324411124144313443433242121234221323423433322211411241343334313331314341331141222222311333322322331122223121133342321422241423322222334141443242123113223123343434432322341214224323333333422334311213132334142132332222332342342312223141331344331241343334312341411324331331223414313231221310000000000000000000000000012244123132233323211431422431142132123411441122111314432431141343334141234142121344324441431443142321000000000000000000000000000000000000000000000000000000100000000002231342113134134214333112444432211124132211322412442442334231333432423321144113341213122314214133222433432112321113433114144242312234414444312321333332233121422321431224321222432222232332334212311442232413413312112333333312333131111223113241441312214323332332233324311122143341211324431421121121242133333213142324331233343144214234332312223311311224122313143321231214321323443433311221443233224134334232211434233212333314211131344332232431232224133243323242223132131214413343421333114234232232124313424222422231221143144232224132341334434212232243433314421442314312142341232221433134441212323234232332213111421423323443231233234213242114143423334224222331222223233223332334434122321221122223434243434134323432323342132233312122142124234324232142231122112322133443423243323323413333121323242231432321331311112342441242233112413134341444242114222313121124341333243233222311344213142112211414414212241133231334124424421442211323232331231131214143444133411123331311131414134231143441132221212412241431234331114222234244423344234122124122224113321322243323344422112333112421323424421421122423344141414233432334211121212332334114221321133333222243212421324414224421132331121432413424000000001000000000000000000000000000000000000332132442342123444443432242342124112434233333233100001000002411412112114233423200010000000000000242334333312113122211411141332341212112331312333231443324314423422314113123221334321342341214113443321422343434311141123423134212223231413313411214131143434144142222334332322424132121122411443314221334233231222142412341223234132111434222214413441224234244323234121442313412441212234223112123233312443433242432113132114324124311413233422433344441214421234223133332341422211334224121232241412421313333133311112143121413123124124332332213432334214321114323312131432141221422321131444223344213144132434133223332314324441113334223344414413143411422241124113414111414443141312431332224334432332312112212424233321342434121244334432431324324213342343321112221242441331244413242331331321212314313312212111423422132422342342212431112214233222142412124132111333243242414322333132232131311121143234243123123223211421232124423142332231212323321431213241333222211233344212442131321442421213412322143241331422312131441331444143413323212431442422223413433323 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444334221431231331443131231242434214231122111233141122133114343412231222414243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333231244233411143233241242222133121242314332231222242344314333114134112131323424422131144312412321441222223422222313342442241422232334131113111444443132122323124234231122341232334133224144143232221324441113114333333432422342112241212313211244431124124141234333114122332234113111144231331333132232443432124111322233322134124331223232343432223111222243223422222424142231112442332331232344311424113331132421341343323231131322312123123121433132243243112342111342232344131124213313332214431314131221314424411143111433443122321313323422223233231331244311421424211313443111333221343322232333322222443242232342341421222312332113211333322433144434211333341434222142422323311343311232423122313321333132244344122423421243222411123223222312443442131334342143141133122331431411412141232321422342324312321324341224433311132432411413322131241144443113443242321224414112342421122142142432234413432232131233221332232221342234422221344342113432341332222211444434142443221312421333133322431213421233433324122142114121211411432131312334324444324412233334414431423432431242333412244311411242342233114133412131411341123322311311212332432133322111241124422433221121111421112114311142121412124132223433421313432442313434211222233132223433222134123323232211123322112413222144431131331134312424414331333122242221132241443333141323413134433224212412342142322342141222123311342131121112321122133433214224122242212311214334133234224134244423112233214222211344143224114222132411114344321322124341213111314421322234323413233311213232412414321223432343313412343231423221112244444113121444331131342241312432334311333132143441224214212131323311412141212331221111312324421112124423412421312441434143323211422212122324314212333223124134333112444242424412211331124142332001000000000000000000000000000000000042331432113414334312344244223141244111213441133342243221332444233432242132121341141422244134422114133424443244411333323214424331132143133214231112131122113431441443342333222242432231441242111321443223223212322341341323312241213214322432233211221244322433111313413214332314342443132422324432222322143212332144122323234322443134122423143331344222222212433222412422342431123112231412342422223212323223411223414312113321124312222231343211333133132413143244314444131312331322412412111221214324234223133313414213433232312334422234111141322423421244111132344313211312323312244234333343414244241414424343133344232134143134443413223334414231323432334222331243311143421222223334413243231411422141331131231414121242324312124224413134221221314323112223321221413434334311113121311424332434332441214321411212343111212223411243124223132314333334143213313143342113431121321342432114433334131143413422214232112143432222324124441431324233323333141221213233412114333124321431221231113432222132432343134314321123222232141333344112332131323231332333314132122121344313123423332233124124112433243334222332314333213422412333132444241314421413221421224312331324323124141132333231413121324422213222231131231413421242434224221223321232324433333132323222334412333213114341122241224242332342312131223213421113333223324222221123231221221343334313331334341331141222222311333322322331122323321133322143424223423323242334341241232112322323313331232432342123232132141111331221134322234324312322132132224132124122112423224331324331223123334333143223142143413321411313433241300000000000100000000000000031244323114231141213212444223144134321411443142331314432241324121134341232142121344124411432243142323000000000000000000000000000000000000000000000010000000000000000001231122313134144214333112243434211124332231331412244222314113141322243131144142124233142311332223242422232112323111132334144224314221414434332341313332233121423123243422123424234432412332332432413412232413413312332414143312331131114233113241411312214343332322213222314142123141211343414224123121142133333213142324332233343124434134132412223311211224122313143321231214341323423433341221443233224134334232211434233212333314211131342332232431232224133243323242423132131214413341421333124234232232124313422222422231321143124232224132341332434212232241433333243223133432344343232233433132441234323234232334213131421421324441441233234213444114123333334224222331222223233223132334434122321231122233434243434334323232323342132223312122142322244323232142233222132222111441443242221121313123121123142244434121111331112242423442231312413134341424222114221131321144231131221213222311344213122312211214214222211333221332324444424411233131433331433111422331212321433221311331333434134231143441132223232414431211214111314322234244421344234122324124124141141122241323343442112313122421323424421421122423344141414233432334111121214332122134222232143433222243212421324414224121132331121432413222000000000000000000001000000000000000000000000332132442144243344441414323424122112434221133233100001000002211412112114233423200000010000000000242134333312113124411311121332341212242311132333311134144144423422314113123221334321342341214113443321422343434311141123423134212223231413313411214131143434144142222334332322424132121122411443314221334233231222142412341223234132111434222214413441424234244323234121442313412441212234223112343414144221413242232313134114324124311413233442433344441234421234231341333321444411114222141232243413421332333133311111143121413123124124332332213432334214322114223332111432143221421124311442223322213344132433113221122334344421443334113344434241343411422241124113111111414443141314431332224234432334332334434112311141122234242422412244431424332213322343343122421222121333412434323133331331212314333314112133313432312422424132412413132314213413342412124112311333243242244322333132232111441123143234421344123223212421234344443142334212211123322231143223333224233233244232233313341434141233431444123241331422312131441331444141313323212431442422223413433323 31311341113341141322213214224243221133442423222134121322342114423123121422212323123142344332233344243231141214343331214343233434222223424424232113411241311111313314111443132133142323144431443133344123211223414332444423324332321322412432133242223342314334411332431243223321212113242143313223334323112121123141434134144431131412431121343112331123233233241332421443411342241242113131124111231232434422214323442122131131431432341442322443334231232231231443131231242434414231322111233143112133114343421233222441241312313224214142122434242331423332122222223124232342231133332313144232333232133433113432421123232131412242223333231224233411143233241242222133121242314312231222242344314333114134112131323424423131244112314321443221232442242313342342241342232212143141134444141132122341321434423122341132134133224144133232221324441113114333333432422342112241212311211244431124124141234333114222332234113111144231333332132232443432124111322233122132324321221232343432223141222241333344331412144431412442332331444332111343133331412321141343323231131312112123124321423132223243212342111342212344131124213313332214431112143321314242413413111413444122321123343441223231231313234111423444211314441114333421343322232212322222443242132332321421222312332113211333322433144434214333341413222122432323331311311232423122313121323314422344121231421243222413123223222312443442131334342143141333122331431411414141233121422322121332321144343224213331432432433423144323123344443333143143121224134314342424242114144424212413432232133233223332232323342332242221324342123212143332224431444414124424223111121313133342214133421213233344344442134121243411132134312334322344314212233334414431443412413424333412244311411422413441432311313311223413441333324231212332432113323111241344422223221123111421112114331142121214124132223443421313432443313434411222111142321221312432321141234114223323132213214344431131231312112142312111333132242241131221423314344321413114423224212212342142322342142222123311342131121112421122133433214324142222412331214234133234224134242333334433433124113444141442312322112413112124333322124131231133432241343434321213213341233134232443123222112344113412323212223433311222242211342221342333321331144122311143323313341123411421244333231131434321432312223333134232421112124423414421112444432141323433124434432142314212313223324132313112223332424213211331144324344000000000000000000000001000000000000042311434321431423121224241223141242311213441132342243221332444233432432132113123141441344114222332341224321224211411223234444311314322133242233322312121111231434441144132221431333233422123313423321433231233122123441133314322222233124244331211221242322433113313313214332312342441112422324434222322143212432344122323233321241334122441124443344242214322411422234344434333323143113222124442443424114243332242111312133334322134444231323213131211332433143443324212323122334323332133313223214344234241113141214213333432312334424244111343322244223431332314144333143342141234422412433421214444243334344123312222432132142124243314223332411213322431332222413421434421341222223334231223131411222141331131231414121242324312124224413134221221314323112223321221413434334311113121311424332434332441214321411212343111212223411242124223132314333334143213313143342113431121321342432114433333131123413422411434312221214414122114441431324314111321143243211433214332333344143431221231313432422133432343134314324123222232141343344112332133223231332333314132122123344313141423132233144342112433223242222332334333211222412133132444441114441413221421214312331324323324341132333231413121324442213224131131213213421342432242443221234412342223111114323421312232111231332423342423422324411124144313443433242121234221323423433322211411241343334313331314341331141222222311333322322131122323321133322143442221423423122334341423242113313322323343432432323341234224323333331221122312213132334142132332222332342142332443141333122333421121312333121411322331333223431313231221100000100000000000000000000012244144114231341213212424223342134341411443142333314412243341341332343214334324322342441432243342123000000100000000000000000000000000000000000000000000000000000000001221322331134134214334312444432231341113231131212244242334113341322223331144113124233322341332223242233214112321111133334144224314221234434332321333132413121422321431224321222432222232332334212311442232413413312112333333312333131111223113241441312114323332232233324311122123341211324431421121121242133333213142324332233343144414233332414324313242422334311143123233234143342422413311442443233224332314242231414431212133114321313344312234231332224131423121242221132131244413343221333124234234212124313422222422231321143124212234114341324114212242443133314421442134312142341232231233134441234323234232332213131421221323443231133234213244114123433234224222331242221233223132334434122321221122223434243234134323232323342132223312322132322244323232312233231312322133443421243243323413334143321242241432341331313312222423442233342413112123444142114241131321144231131221213222311344213122313211214214222211333221332324444424411233131433331433111422331212321433221311331333434134231143441132223232412431211214111311342123424423342234322324342124141121312223241344322111311124421321424421421122423342141414233432334111121214333122134222232143431222243212421324414224421132331121432413224000000000000100000000000000000000000000000000332132442144243344441412342344344342434223333233100001000002411412112114233413200000001000000000242134133312313124411311121332341242242311132333311134144144423422332213144221134341322141434111243141113141432331241142213312432241442233313331232113343434144423244113113143122313344343433233132243112411231222142224141223431314334212222222233413222214344341114231244321224223134433221132123414144221413242232313134114324124311413233442433344441234421234231141333321444411114222141232243413421333333133311111143121413123124124332332213432334214322114223332111432143221421124311442341142211342244434113443332314322421113334223344414413141243222443324133134313234241122312433134244214432324332334434112311141324232242422412244431424122431222121321112431244441411214413242321114121222112111432234333412134114242424132212413334223433223342413124132341333123124244322333133212131441123143234421144123223212441234322443142334212211123322231143223333224233233244212233313341434141233431444123241331422312131441331444121344241413213242422223413433323 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222223424424232113411241311111313314111443132133142323144431443133344123211223414332444214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444334221431231331443131231242434214231122111233141122133114343412231222414243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333233244311223231431313423442211321442314113112222224221123341314312444213121212343133222141422141213342432444242321242422243342232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112241212311232434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412132431112422312331234344311343113331434423141343123231131314112123144321133112223243112342111342232344331124213313332414431314131241132224411143111211244122111313343441221231221313444311421224213313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131343311232423124311323123314442144441223121423124133143221422314123244231133112411143331342333431341412341432323424142324112141322141224431311114212413113122131241342441113141122134122114112334124144142322424432431212212331233221332214323122312242423322221321214343132224433244314124424233111123113233442214133441213231324344422134121243411432331312334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323112342144322233221123111421112114131142141214124132223443421313432423333434411242131142311221322432341141214211123322114413222144431131331134314444314331333122241223132243444333144323413134433224212412342142322344142222123311342131121112321132133433214224122242212311214334133234224134244423112233214222211344143224114222132411114324333322124131211133432241343434321213213341233132232443123222112344113412323231441221112244444233121444331131342241312431314311133132343441424214212133223311434341432312111333334234242322312431312124331321432141323433124434432342132232113241324112313124223334424212211131124122342000000000000010000000000000000000000042311432123211334312344441422121114134231244132122243423332422131432242132421321343422344114422134133424443444411433323334444313332122133314231112332131333433241443142313222242432233442242311323441221223213324321341323344242213214342444233233221242322433111333413231314332321223334224144214444334331231314144122343234322241334132441124441224242214322233222412422334313323143113222124442443424114243332243111134333134322134444231323213131211332133143443324212133122334323332433313221214344234241132111214121343232312334422234111141322423421244111132344313211312323312244234333343414244241332323323333322231314342324241334214132444233333411112424333243431441343222223334413223231411422143133331214432243433344331321222313334343241314323334311121421221434314311113123311434314434332441214341411212443111212223411243124223132214333334143213113143342113431121321342432114433334131123411222224232312223214414122112421431424314111321141243211433214332333344143431424433313432432143111324332134341123242222321233124112332333223412114321314312442121344313141443112233324342112432223232222332334333211222412333132244443314441413221421214312331124323124341132333231413121324222211224131332431233421333432242443243234412122423111114323421312232111231332423342423422324411124144313443433242121234221323423433322211411241343334313331314341331141222222311333322322331122323323111122121242221421433222244121443234313323223124343414432322341214224323333333442334112233324312322332122244132324122112223141331344331241343334312341411322331331241211331231441100000000010000000000000000012244123134213341213212422431144132121411441122111132432431141341334141214334121344344441431443142343000000000000000000000000000000000010000000000000000000000000000001221322333134144214323332233234411124132211331412244242314113341322223333144113124233322341332223242233214112331111133314144224314221414444312321333132413141143123243422123424234432412332332432413412232413413312332414143312331131114233113241411312214343332222213222334142123141211343414224123121142133333213142324332233343124434134132414224113242422124311143121231212121322422213411242443233234332314234231214233211133314321313344332214231332224131423123242223132133214331343441333124212432232124333224424422233323143124232224112341124434112234243433214421442314312342341232221433134441212323234232332213331421221323443231133234213244114121433334224422331222223233243132134414122321221122223414243434134321432322342132223412122142322444323232142233222132222111441443242221121313333121123242241434121131313311324223212233344413112123444222114222313141124341333243233244441122231143112413412422412242123433114114224421441233323433331233111214133444331411123331311131414134231143441132241212412241431234331334322234244421344234122324124124141141122241323343442112313122421323424421421122423344141414233432334111121214332122134222232143433222243212421324414224421132331121432413424000000000001000000000000000000000000000000000332132442342143444443432242324342342434231113233100010000002211312112112213213210000000000000000242134143112143124411311121332343212112311312133231443324314423434314113323221334321342341214113443321422341434311141123423134212223231413313411214131143434144142222334332322424132121122411443314221334233231222142412341223234132111434222214413441224234244323234121442313412441212234223112343414144221413242232313134114324124311413233442413344441234421234231141333321444411114222141232243412421313333133311212113121413321124124334332111232314114122132233332111432143221241124312412341142211342244434113423332314324421113334223344434211341243222443324133114113214443141312431332242231234334312112212424233321342444122244334432431324324213342343321112221224141333244413242131331331222114131412212113413422132424342342212431132214233222142412114134313333223124244322332132232131341123143234421144123223211421234324423142332232212123221431211241333222211233344212233311321434421213412322143431243221112121333343434141344241212213242422223133233113 31311341113341141322213214224243221133442423222134121434142114423133121243332323132442342314421144143222414432321423212143413434222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421443411142441242113141124111331232434422214323442124131231433432341442322444334231232231331443134231242424214231122111233141122133114343412231222444243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333233244311223231431313423442211321442314113112222224221123341314312444213121212342131144312412321441222223422222313342442241422232334131113111444443132122323124234231122341232134133224144143232221324441113114333333432422342112241212313232434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422331412132431112422312331234344311343113331434423141343123231131314112123144321133112223243112342111342232344331124213313332414431314131241132224411143111211244122111313343441221231221313444311421224213313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131313311232423124311323123314442144441223121423124133143221422314123244231133112411143331342333431441412341432323424142324112141322141224431311114212413113122131241342441113141122134122114112334124144142322424434431212212331233221332214323122312242423322221321214343132224433244314124424233111123113233442214133443213231324344422134121243411432331312334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323132342144322233221123111421112112331142141214124132223443421313432423333434411242131142311221322432341141214211123322114413222144431131331134314444314331333122241223132243444333144323431332433421212212342142322342142222341131124331312332442132131431214324142224412331414334133234244134242333334433214122113441431442312344311313342344333324324341211133332241343414141213211341211232414414321422414123321333121231441221112244424213121444131111242241312432314311133132113441224214212111323311412141212331221111312324421112124423412421312444434143323213434212122324314212333223324134333112444242424412211331124142332001000000000000000000000000000000000042331432113414334312324244223141244111213441133342243221332444233432242132121341141422244134422114133424443244411333323214424331132143133214231112131122113431441443342333222242432231441242111321443223223212322341341323312241213214322432233211221244322433111213313214332312342423132422144214422332133231314124122323234322243134122441123431342242214322233222412422334313323143113222124442443424114243332243111134333334322134444231323213131211332133143443324212323122334323332133313223214344234241113141214213333432312334424244111343322244223431332314144333143342141234422412433421414423423414424341133344222134143134443413223334414231323432334222331243311143421222223314411421123411422141331131231414121242324312124224413134221221314323112223321221413434334311113121311424332434332441214321411212343111212223411242124223132314333334143213313143342113431121321342432114433334131123413422214232312143432222324124421431324233123333331241433211414132333322123433221231113432222133432343134314321123224232141333344112332131323231332333314132122121344313123423332233124124112233443232322112334333213222412331334444441314441413221421214312331324323124341132333231413121324422213224131131231233421342434242443443234412342222131312341442132412333213114341122243224242332344312131223213422323333233344232223323213211241323334313331314341331141222222311333322322331122323323111122321442221423423142334341423242113313322323343432432323341234224323333331221122312234324312322132132224132124122112423224331324331223123334333143223142143413321411313433241300000000000100000000000000031244323132211341213211422431144132121411441122111314432431141343334143214334324144324311231443141123000010000000000000000000000000000000000000000000000000000000000001221342311134144214333112444432211121113233322432442442334231333432423321144143324213122314214133222433432112321111133334324442222234414434332241333332233121122341233244331442242232231131334212311442232413411312112333333312333131111223113241441312214323332332233324331122143341211324431421121121242133333213142324331233343144214134332414224113242422124311143121231212121322422213411242443233234332314234231214233211133314321313344332212231332224131223123242223132133214331343441333124212432232124333224424422233323143124232224112341124434112234243433333243223134312142341232221433134441212323234232334213131421421324441441233234213244114121433334224422331222223233243132134434122321221122223414243434134321432322342112223412124142322244323232142233222132224131411443443221121312133141323242441432341331313311324223212411312413132343342143312221331323444231131221213222311344213122313211214214222211333221332324444424411233131433331433111422331212321433221311331333434134231143441132223232412431211214313334322234244221334212332324124144141141122241323343422312333122243143441421421122423344141414233432334111121214332122134222232143433222243212421324414224433332332122414321422001000000000000000000000000000000000000000000311112442144143342243334223424122112412431333213300000010002411332142112113223200000001000000000242134133312313124421311121332341242242311132333311134144144423422314113123221334321342341214113443321422343434311141123423134212223231413313311214131143434144142222334332322424132121122411443314221334233231222142412341223234132111434222214413441224234244323234121442313412441212234223132143414144221233122242123334314411344333213413124233344441234421232433341312322424423332212324331431112221313331131113232113121413141124144332332121232312112122132232332111434143223221124312112223322213344132433113221122334324441113334223344414413143411422241124113434113233441142112433334244314414132312112212424233321342434121244334432431324324213342343321112221242441331244413242331331321212314313312212111423422132422342342212431112214233222142412124132111333243242414322333132232131311121143234243123143423211421234344443142334212211123322231143223333224233233244232233313341434141233431444123241331422312131441331444141313323212431442422223133223323 31311333111143323142211224444211221123442223212142121322342134423323121422212323123142342112221342243121414234321323412123233434222423424223432133421211311231133112311242132133444321332114323141313123211211414334244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444334221431231331443131231242434214231122111233141122133114343412231222414243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333231244233411143233241242222133121242314332231222242344314333114134112131323424423133222141422141213342432444242321242422243342232312143311111244123132122323124234431122341132134113224144333232223324441113114333311232422344112241212311232434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412132431112422312331234344311343113331434423141343123231131314112123144321133112223243112342111342232344331124213313332414431314131241132224411143111211244122111313343441221231221313444311421224213313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131343311232423124311323123314442144441223121423124133143221422314123244231133112411143331342333431341412341432323424142324112141322141224431311114212413113122131241342441113141122134122114112334124144142322424432431212212331233221332214323142312242423322221321214343132224433244314124424233111123113233442214133441213231324344422134121243411432331312334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323112342144322233221123111421112114131142141214124132223443421313432423333434411242131142311221322432341141214211123322114413222144431131331134314444314331333122241223132243444333144321413134433224212412342142322342141222123311342131121112321122133433214224122242212311214334133234224134244423112233214222211344143224114222132411114344321322324341213111314421322234323413233311213232412414321223432343313412343231423221112244444113121444331131342241312432334311333132343441424214212131323311212143213331221111312324421112124423412421312441434143323211422212121344132232113241324134333324224344431433431113142324344000000000010000000000000000000000000042311442321431423121324441423123214114433234332142441241334322121432432132121341141122343114424114133424443244411333343234422331332123133214231113132121113431441443312333232242432231442242111323443223223212322321341323344242213414342444331211221242322433111313413214332314342443132422324432222322143212332144122323234322443134122423143331344222222222433222412422334313321143113222124442443424114243332243111134333334322134444231323213131211332133143443324212323122334323332133313223214344234241113141214213333432312334324234113343322423421244111132344313211312323312244234333343414443423414424343133344232134143134413413223334414231323432334222331243311143421222223314411221123431422143133331234432243433344331321222313334343241324323334311121421221434314311113121311424334434332441214341411232343111212223411242124223132214333334143213313143342113431121321342432114233334131143413422214232112143432222324124441431324314111321141343211433214332333344143231424433323214434143132343312133141333142422323233124112334333223412134321112312442121122131321224334321123142332213223232332312334331213222432313122444441314441413221421214312331124323124341132333231413121324222211244131332431413421242432224221223321232122423111114323421312232111231332423342423422324411124144313441433242121234421423423433322211411221343334313331334341331141222222311333322322331122223121133342143424223423323242334341241232112322323313331232432342123232132141111331221134322213132334142132332222332342142332443241333122333421121312333121411322331333223431313231221300001000000000000000000000012244144114233323211432424223342134343411443142333314412243341341332343214334324344324441431443141323000000000000000000000001000000000000000000000000000000000000000001231342331334134434323332433234411124132211322432244222314113141322243331144113124233322341332223242233214112321143433114324442222221434234334321313332233121122341233244331442242234231131134233313442232413213132334414143312331131114233113241411312214323332322213222314142123341213343414221123121142133333213142324332233343121414234332414224343242422124311243321231414341322422211313221243233224334334232211434233212333314211131344332232431232224133243323242223132131214413343421333124232232232124313422222422231221143124232224132341334434212232243433314421242134312142341232231433134441214323234232332213131421221323443231133232213244314123433334224222331422223213223334334414122221421222222434241434314323232323442134223312122142322244323232144233222132222131441443443221121312133141313242241432341331313312242423442233342411134341424222114221331323444231131221213222311344213122312211214214222211333221332324444424411233131433331433111422331212321433221311331333434134231143441132223232412431211214313334224234244421344234322324124122213341122343323344322112333222421323424421421122423344141414233432334211121212432334114221321133433442241133241342332224421124112141232313222000000000000000100000000000000000000000000000312112442144241342221414323342324112414231333231300000000104431412142432231223110000000000000000241134141112144122221423241134343441242132134333313434144144421422314113123221334321342341214113443321422341434311141123423134212223231413313411214131143434144122222334332322424132121122411443314221334233231222142412341223234132111434222214413441224234244323234121442313412441212234223112343414144221413242232313134114324124311413233422433344441214421234223133332341422211334224121232241412421313333133311212113121413121124124334332111232314114122132233332111432143221241124312412341142211342244434113443332314322421113334223344414413143411422241112333111113214443141312431332242231212334432334434112331121342434122444334432431324322211342341321112421222121333412434323133331331212314333314112133313432312422424132412413132314213413342412124132111333243242414322332132232131311121143234243123143223211421234324423342432232232134221433211241333422211233344212232131321434421213412322143433243222312131441331444141313323212431442422223413433323 31311341113341141322113214224243221133442423222134121434142114423133121243332323132442342314421144143222414432321423212143413434222223424424232133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444334221431231331443131231242434214231122111233141122133114343412231222441241312113224214142122434242331423324122221223344232322234113332313132242333232233433111432421323334111412242223333233244311223231431313423442211321442314113112222224221123341314312444213121212343133222141422141213342432444242321242422243342232312143311111244123132122323124234431122341132134133224122133232221422241112114331313232422344112141432411211234411122344343411314112122434234133341344443331343332232441412132233344231122134122331123233331232423113422241233444331412142431412442332331434332111343131131412321141343323233131312112123144322133132223243214142131343232342112223113112334224433314331241132224433143111211244122111313343441221233231331244311421424211313443111333221343322232333322222443242232342341421222312332113211333322433144434211333341413222422422323311343311232423122313321333132244344122423421243222411123223222312443442133334342143141133122331431411412121233111422342121332321144343224213313432432433423144323123344413333143143121224431314342424242314144424212413432232133231221322132211342234444221324342113432141334424231434434122443221312421333133342434213421233433324122142114121411411132134312334122344314212233334414411423212433424333412232143311442343233114133412131411341121422311211212334432311323311322144324223221313111421112114131242121234124132243443421313432423333434411242131134323233224132323321412211123322112413222144431131331134312424332111333333242221122241443313124121413332433421212232421342142342142222123311342131121112321132133433214324142222432331212334113234224134242333334433214122113441441422312322112413112144321322124341213111314421322234323413233311213232412414321223432343313412323231423221112244444113121444331131322241312432334311333132143441224214212131323311412141212331221111312324421112124423412421312441434143323211422212122324314212333223324134333112444242424412211331124142332001000000000000000000000000000000000042331432113414334312344244223141244111213441133342243221332444233432242132121341141422244134422114133424443244411333323214424331132143133214231112131122113431441443342333222242432231441242111321443223223212322341341323344242213214342444233233221242322433111333413331314332321223334224144214444334331231314144122323234322241334132243143331344222222212433222412422342431143112231412342422223212323223411223414312113321124312222231343211333133132413143244314444131312331322432412111221234324234221233113414213333432312334324234113343322423421244111132344313211312323312244234333343414443423414424343133344232134143134413413223134414231123432334222331243311143421222223314411221123431422143133331234432243433344331321222313334343241324323334311121421221434314311113121311424334434332441214341411232343111212223411242124223132214333334143213313143342113431121321342432114233334131321313424221434312223214414122114441431324314111321143243211433214332333344143231424433313432432143111324332134341123242222321233124112332333223412114321314312442121344313141443112233324342112432223232222332332333213222412331334444441314421413221421224312331324323124341132333231413121324422213222231131231433421242434242443221234432324433333132323222334412333213114341122241224242332342312131223213421113333223324222221123231221221321334313333114341321341424234313132223143313142223321133322143442241423322222334143443242123313223124343434432322341214224323333333422324321413122334124142132222332342122333441141313122311421121334313121223122143413223434313231221300000000000000000000010000012341123114231341213212422223142134321411343142331312412241344141332341232142321342344442432243121123000000000000000000000000000000000010000000000000000000000000000001221322333134144214323332233234411124132211331412244242334113341322223333144113124233322341332223242233214112331111133314144224314221414444312321333332233121422321431224321222432222232332334212311442232413413312332414143312331131114233113241411312214343332322213222314142123141211343414224123121142133333213142324332233343124434134132412223311211224122313143321231214341323423433341221443233224134334232211434233212333314211131342332232411232224133243323242423132131214413341421333124234232232124313422222422233323143124232224112341124434132234243433233243223134312142341232221433134441212323234232332213331421221323443231133234213244114121433334224222331222223233223332334433122321221122223434243434333323432323342132223314122142322244333232144233222132222131441443443221121313133121123223241432341331111132242423442433342413334343324223114421131321144331131221213222311344213142112211414414212241133231334324424421442211323232341211331214143444331431123213211111214133213121224332421232412231413234313334322234244221334212332324124144141141122241323343422312333122243143441421421122423344141414233432334111121214332122134222232143433222243212421324414224433332332122414321422001000000000000000000000000000000000000000000311112442144243444421414323342324142434231333213100100000002411414114112211223200000000000100000142334333312143124411311121332343242112311312133231134144144423434312113144141112323223341214113443321413341434311141123423134212223231413313311214131143434144122222334332322422132121122411443314221334233231222142412341223234132111434222212413441224214244343214131442313412441212234223134143214344221433242232113134114324124311413233422433344441234421234233133333321422211334224121232241412421313333133311112143121413123124124332332213432334214321114323312131432141221422321131442223322213344132433113221122334344421443334113344434241343411422241124113111133233441142112433334244314414132312112212424233321342434121244334432431324324213342343321112221242441331244413242331331321212314313312212111423422132422342342212431112214233222142412124132111333243242414322333132232131311121143234243123143423211421234324443142334212211123322231143223333224233223244232233313341434141233431444123241331422312131441331444141313323212411442422223413433323 31311333111143323142211224224243221133442423222134121422342114423123121243332323132442344312233344213231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123112332123231233241332441443411342241242113131124111331232434422214323442122134131431432341444342443334221231231231443131231242434412231322111233141112133114343421233222414243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333231244233411143233241242222133121242314332231222242344314333114134112131323424422131144312412321443222232442242313342442241422432312133111434444143132322143334241423122341132132131224144333232223324441113114333311232422344112241212311232434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432423111222243223422231412132431112422312331234344311343113331434423141343123231431314112123144321133112223243112342111342232344331124213313332414431314131241132224411143111211244122111313343441221231221313444311421224213313441114333423343321232232342222443242232332323421444312312111211333122433144432214313341434222142422323131343311232423124311323123314442144441223121423124133143221422314123244231133112411143331342333431341412341432323424142324112141322141224431311114212413113122131241342441113141122134122114112334124144142322424432431212212331233221332214323122312242423322221321214343132224433244314124424233111123113233422214133441213231324344422134121243411432331312334322344324212233334414431443412411242314232444311434422413441432311313314223413441333124231431214422311323112342144322233221123111421112112131142141214124132223443221313432443313434413222133142311221322432341141214211123322114413222144431131331134314444314331333122241223132243444333144323413134433224212412342142322342141222123311342131121112421122133433214324142222432331212334113234224134242333334433214122113441441422312322112413112144321322124341213111314421322234323413233311213232412414321223432343313412343231423221112244444113121444331131342241312432334311333132143441224214212131323311412141212331221111312324421112124423412421312441434143323211422212122324314212333223324134333114444242424412211331124142332001000000000000000000000000000000000042331432113414334312344244223141244111213441133342243221332444233432242132121341141422244134422114133424443244411333323214424331132143133214231112131122113431441443342333222242432231441242111321443223223212322341341323344242213214342444233211221242322433113313313214332312342441112422324434222322143212432344122323233321241332122441124443344242214322411422234344434333323143113222124442443424114243332242111134333321344312222231143211333113131413143244314444131312331322412412111221214324234223133313414213433232312334422234111141322423421244111132344313211312323312244234333343414443423414424343133344232134143134413413223334414231323432334222331243311143321222223314411221123431422143133331234432243433344331321222313334343241324323334311121421221434314311113121311424334434332441214341411232343111212223411242124223132214333334143213313143342113431121321342432114233334131143413422214232112123432222324124441431324314111321141343211433214332333344143433221231113432222332432343134314321123242222323233124112234333223412134421114312442121344313141443112233324342114432221232222334134333211222413333122444441314441413221424224312331324323124341132333443213124324422241224131332431233421333432444221223321232122423111114323421312232111231332423342423422324411124144313441433242121234421423423433322211411221343334313331334341331141222222311333322322331122223121133342321422241423322222334141443242123113223123343434432322341214224323333333422334311213132334142132332222332342344312223141331344331241343334312341411324331331221414313231241310000000000000000000000000012344123114231141213212444223142134321411443142331314432241324121134341232142121344124411432243142323000000000001000000000000000000000000000000000000000000000000000001231122313134144214333112243434211124332231331412244222314113141322243131144142124233342311332223242422232112323111132334144224314221414434332341313332233121423123243422123424234432412332332432413412232413213312112333333312333131111223113241441312214323332332233324311122143341211324431421121121242133333213142324331233343144214234332414224113242422124311143121231212121322422213411242443233234332314234231214233211133314321313344332212231332224131223123242223132133214331343441333124212432232124333224424422231321143124232224112341124434132234243433333243223134312142341232221433114441212323234232332213331421221323443231133234213244114121433334224422331222223233223332334433122321224122223434243434333323432323342132223312122142124234324232142233122132222131441421243243123433133121123242241434121131331132242423442411344413112123444222114222313141122343313241331144442122431143112213412414214242121433114112224221441231323232331231131214143444331431123213211111212113113121224332421434412231411234331314224234244421344234322324124122213341122343323344322132333222421323424421421122423344141434213431314213321214332122134222232131331222441112244342432424133332332122414321222000000000000000100000000000000000000000000000312112442144241444421414322442324142434231333213110000000002211414144412231423200000000001000000142134333312144122211423241134343441242131134332311434144144423422314113123221332321342341214113443321422341434311141123423134212223231413313333432313324112344142422134332322442132121122411443314421334231213234223224124211214332111234422222233413222414344341114233244321224223212233221132122233312243433242432113134114411324133213413124234313223432243314223333332321422211334224121232241412421313333133311112143121413123124124332332213432334214321114323312131432141221422321131442223322213344132433113221122334344421443334113344434241343411422241124113131133233441142112433334244314414132312112212424233321342434121244334432431324324213342343321112421222121333412434323133331331212314333314112133313432312422424132412413132314213413342412114112311333243242244322333132232111441123143234421344123423212421234344443142334212211123322231143223333224233233244232233313341434141213431444123241331422312131441331444121344243212431242422223413433323 31311341113321141322213214224243221133442433222134121434142114423123121243332323132443344332233314241231111214343331234343233434222223424424232113411241311111313314111443132133142323144431443133344123211223414332444423324332321322412432133242223342314334411332431243223321212113242143313223334323112121123141434134144431131412431121343112331123233233241332421443411342241242113131124111231232434422214323442122131131431432341442322443334231232231231443131231242434414231322111233143112133114343421233222441241312313224214142122434242331423332122222223124232342231133332313144232333232133433113432421123334111412242223333233244311223231431313423442211321442314113112222224221123341314312444213121212343133222141422141213342232444242321242422243342232312143311111444123132122323124234431122341132134133224144333232223324441113114333333432442142114221212311211244431124124141234333114122332234113111144231331333132232243432124111322233322134124331223232343432223111222243223422232414142231112442332421234344331323113131432421121343321311131312112123124321423132223243212342111342212344131124213313332214431112131221314224413143111413443122321313323422223233231333234111423444211313441114333421343322214233322422413224232132321221222112432113211332342233144414214333321213242124422323311343331232423122313321333112244344122423421243222413123223222312443442131334342143141333122331431413414141233121422342321334321144343224213331432432433413144323123324443133143143121124431314342424242114144424212413432232133233223332232323342312242421322241321212343332224431444414124424223111121313133322234233421233233124322142114121211431412124114231342344312232223132424231141412433424133412244311311422343233114133412131411341121422311211212332432113323111241142422223221123131123334134331112223214124134223241241213332443313444431222133132223433222132323321234214223313132213222344431131211114122422312111333132242241131221423314344341413332433241212232322342322342322242343331342121121112321132133433214324142244412331214334131234444134242333334433214122113441431442312344311313342342433122142343411311312243143434321213213341413212232444133223412343313412123231441221112244444233121444331131342241312431314311133132343441424214212131231131434321432312221333334234242323112431322144332441432141323433124414432324314212313223324132313112223332424213211331144324344000000000000000000000001000000000000042311434321431423121224241223141242311213441132342243221334444233432432132113123141441344114222332341224323224211411223234444311314322133242233322312121111231434441144132221431333233422123313423321433231233122123441133314322222233124234331211221242322433113313313214332312342441112422324434222322143212432344122323233321241334122441124443344242214322411422234344434333323143113222124442443424114243332242111312133334322134444231323213131211332433143443324212133112334323332433313221214344234241132111214121343232312334422234111141322423421244111132344313211312323312244234333343414244241332323323333322231314342324241434214132444233333411112424333243431441443222223334413223231411422143133331214432241433344331321222313334343241314323334311121421221434314311113123311434314434332441214341411212443111212223411243124223132214333334143213113143342113431121321342432114433334131123411222214232312223214414122112421431424314111321141243211433214332333344143431221231313432422133432343134314324123222232141343344112332133223231332333314132122123344313141423132233144342112433223242222332334333211222412133132444441114441413221421214312331324323324341132333231413121324442213224131131213213421342432242443221234412342223111114323421312232111231332423342423422324411124144313443433242121233221323423433322211411241343334313331314341331141222222311333322322331122323323111122121242221421433222244121443234313323223124343414432322341214224323333333442334112233324312322332122244132324122112223141331344331241343334312341411322331331241211331231441100000000010000000000000000012244123134213341213212222431144132121411441122111132432431141341334141432344121322342441432243342123000000100000000000000000000000000000000000000000000000000000000001221322331134134214334312444432231341113231131212244242334113341322223331144113124233322341332223242233214112321111133334144224314221234434132341333132413121422321431224321222442222232332334212311442232413413312112333333312333131111223113241441312114323332232233324331122123341211324431421121121242133333213142324332233343144414233332414324313242422334311143123233234143342422413311442443233224332314242231414431212133114321313344312234231332224131423121242221132131244413343221333124234234212124313422222422231321143124232234112341324114212242443133314421442134312142341232231233134441234323234232332213131421221323443231133234213244114123433234224222331242221233223132334434122321221122223434243234134323232323342132223312322132322244323232312233231312322133443421243243323413334143321242241432341331313312222423442233342413112123444142114241131321144231131221213222311344213122313211214214222211333221332324444424411233131433331433111422331212321433221311331333434134231143441132223232412431211214111311342123424423342234322324342124141121312223241344322111311124421321424421421122423342141414233432334111121212332134114221321133333442241113241342332424421124112141232321222000000000000000000000000000000000000000001000332132442344143344421434342344344342434231113233100010000002211312112112213213210000000000000000242134143112143124411311121332343212112311312133231443324314423434312133144123112123223112434413243321413341432331241142213312432243442233313331232113343434144423244133332322442132121122411443314421334231213234223224124211214332111234422212211441242214344343114231244321224223134233223132143414144221413242232313134114324124311413233442433344441234421234231341333321444411114222141232243412421333333133331232113121413121124124332131111231314114142132233332111432323321241134312112223344213142234414313223322314324421143334223344414413143411422241112333111111414443141314431332224234432334332334434112311141122234242422412244431424332213322343343122421222121333412434323133331331212314333314112133313432312222424132412413132314213413342412124112311333243242244322333132232111441123143234421344123423212421234342443142334212211123322231143223333224233233244232233313341434421233431444123433243422312131441331444121344241413213242422223413433323 31311333111143323142211224444211221123442223212142121322342134423323121422212323123142342112221342243121414234321323412123233434222423424223432133421211311231133112311242132233124323344434443133344123211211414334244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444334221431231331443131231242434214231122111233141122133114343412231222414243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323232131412242223333231224233411143233241242222133121242314312231222242344314333114134112131323424423131244112314321443221232442242313342342241342232212143141134444141132122341321434423122341132134133224144133232221324441113114333333432422342112241212311211244431124124141234333114222332234113111144231333332132232443432124111322233122132324321221232343432223141222241333344331412144431412442332331444332111343133331412321141343323231131312112123124321423132223243212342111342212344131124213313332214431112143321314242413413111413444122321123343441223231231313234111423444211314441114333421343322232212322222443242132332321421222312332113211333322433144434214333341413222122432323331311311232423122313121323314422344121231421243222413123223222312443442131334342143141333122331431411414141233121422322121332321144343224213331432432433423144323123344443333143143121224134314342424242114144424212413432232133233223332232323342332242221324342123212143332224431444414124424223111121313133342214133421213233344344442134121213411132131312334322344324212233334414431443412413424333412244311434422413441432311313311223413441333324231212332432113323111241344422223221123111421112114131142121214124132223443421313432443313434411222111142321221312432321141234114223323132213214344431131231312112142312111333132242241131221423314344321413114423224212212342142322342142222123311342131121112421122133433214324142222412331214234133234224134242333334433433124113344141442312322112413112124333322124131231133432241343434321213213341233134232443123222112344113412323212223433311222242211342221342333321331144122311143323313341123411421244333231131434321432312223333134232421112124423414421112444432141323433124434432142314212313223314332333112224344231413411131124124332000000000000000000000000001000000000042333432123411434121242231232141242114231244312322411241134342233424232132121323141422344114422134133424443444411433323234444311332122133214231112332131313431241443142333222242432233442142111323441221223213324323441323314242213214322434233233221242322433111333413231314332321223334224144214444334331112332344122323434322241334132443143331344222222213433222412422342431123112231412342422223212323423411223414312131334324134444231323213131213332433113443324212133112334323332433313441214144234241132111214213333432312342324434111313124244221431332314342331143342141234422412411423414423423434424341133344222134133134443413223334414231323432334222331243311143421222223314411421123411422143133331234232243433344331341222311334343241324323334311121421221434314311113143311434334434332441214141411212443111234223411242124223132214334334143213313143142113431121321342432114433333131123413422414232312223214414122114441433322233323333141221213233412114333124321433221231113432222133432343134314321123224232141333344112332131323231332333314132122121344313123423332233124124112233443232322112334333213222412331334444441314441413221421214312331122323124341132333231413121324222211244111332431213221343432442443243234412342222131312321222132412333213114341122243224242332344312131423213422113333223324232223323233221443123312232113312333121341424224313132223143313142223121133342141442421223423222334141241232112322323313331232432342123232132141113331221134321413122332124132132224132324122112423141333122331223123334213141411322133413323411313211221300000000000000000100000000012244123134213341211412224223342134341411443142333314412243341341332341234344321342344441432241341121000000000000000000000000000000000000000000000000000010000000000002231342313134144214333112243434211124332231331412244222314113341322223331144143124233342411314222244433432112331111133314144224314221414444312321213312233121122321233244331442242234231132332432313412232413413312332414143312331131114233333341443313214323312234413342311423123323411324431421121121242133333213142324332433343121411234332412223311311224122313143321231214321323443433311221443233224134334232211434233212333314211131344332232431232224133243323242223132131214413343421333114234232232124313422222422231221143144232224132341334434212232243433314421442314312142341232221433132441212323234232332213331421221323441441233234213444114123333334414222331222223233223332334434122321221122223434223434334423432323342132223312142142132234324242142233222132222131441441242221121313123121123142244434121111331112242423442233342413334343424223114421131321144331131221213222311344213142112211414414212241133231334324424421442211323232341211131214143444331431123213211111214133213121224332421232412231413234311114222234244423344234322124322224113321322243323344422112333112421323424421421122423344141314233432334211121214333122134222232143431222243212421324414224421132331121432413222000000000000100000000000000000000000000000000332132442144243444421432342344142144234231333233100100000002411414114112211213200000000000100000142134133314143124411311121312343212112311312133231443324314423434314113323221334321342341214113443321422341434311141123423134212223231413313411214131143434144142222334332322424132121122411443314221334233231222142412341223234132111434222214413441224234244323234121442313412441212234223112343414144221413242232313134114324124311413233442413244441234421234231141333321444411114222141232243412421313333133311212113121413321124124334332111232314114122132233332111432143221241124312412341142211342244434113423332314324421113334223344434211341243222443324133134113214443141312431332242231234334312112212424233321342444122244334432431324324213342343321112221224141333244413242131331331222114131412212113413422132424342342212431132214233222142412114134313333123124244322332132232131341123143234421144123223211421234324423142332232212123221431211241333222211233344212233311321434421233412322143431243221112121333343434141344241212213242422223133233113 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222223424424232111411241311211311314311443132133124323344431443133344123211211414334244423324332321322412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444324221431231331443131231242434214231122111233141122133114343412231222444243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333233244311223231431313423442211321442314113112222224221123341314312444213121212343133222141422143213342432444242321242422243342232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112141432411211234411122344343411314112122434234133341344443331343332232441412132233344231122134122331123233331232423113422241233444331412142431412442332331434344311343113331434423141343123231431314112123144321133112223243112342111342232344331124213313332414431314131241132224411143111211244122111313343441221233231331244311421424211313443111333221343322232333322222443242232342341421222312332113211333322433144434211333341413222422422323311343311232423122313321333132244344122423421442222411123223222312443442131334342143141133122331431411412141232321422342324312321324341224433311132432411413322131241144443113443242321224414112342421122142142432234413432232131233221332232221342234422221344342113432341332222211444434142443221312421333133342431213423233433324122142114121211411432331312314322344324212233334413431443432231244333412232143334422413441432311313314223413441333124231231214432311133311322144324223221313111421112114331242121234124132243443421313432443313434413222133134323233224132323321412211123322112413222144431131331134312424414331333122242221132241443333141323413332433241212232321342322342322222321131124331312332442132131431214322142322412331214234133234224134242333312413433122113444141442312344311313342342433122142343411311312243143434321213213341413212232444133223412343113412123231441221112244444213121444131131342241312432334311133132343441424214212131331313434321432312221333334234221322122421412424332441212311121433124434432322132232113241324134333324224344431412211331124322344000000000001000000000000000000000000042311432321431433122322241232141242114231244332322441241334322121432232132421321343422344114422134133424443444411433323334444313332122133314231112332131333433241443142313222242432233442242311323441221223213324323443323312241213214322434233431221242122433111311413214332314342443132422324434222322143212334144122323234322241334132243143331344222222212433222412422342431143112231412342422223212323223411223414312133334322134444231323213131211332133143244314444131312331322412412111221214324234223133313414213433232312334422234111141322423421244111132344313211312323312244234333343214443423414424343133344232134143134413413223334414231323432334222331243311143421222223314411221123431422143133331234432243433344331321222313334343241324323334311121421221434314311113121311424334434332441214341411212343111212223411243124223132214333334143213313143342113431121321342432114433334131123413422214232312143432222324124421431324233123333331221433211414132333322123431424433323214432143132343312133141333142422323233124112334333223412134321112312442121122131321224334321123142332213223232332312334331213222432313122444441313421231443241422344234344411142123113333231413121324222211244131332431413221343432442443243234412342222131312321222132412333213114341122243224242332344312131423213422113333223324232223323233221443123312232113312333121341424224313132223143313142223121133342141442421223423222334141241232112322323313331232432342123232132141113331221134321413122332124132132224132324122112423241333122331223123334213141411322133413323411313211221300000000000000000100000000012244123212411341413212422223122134321213323344331334231241321341314341432142321344324441231443141321000000000000000000000000000000000000000000000000000000000000000011221322333134134234333112443432211321112231331412244222314113141322243131144142124233342311332223242422232112323111132334144224314221414434332341313332233121423123243422123424234432412332332432413412232413413312332414143312331131114233333341443313214323312334413342311423123323411324431421121121242133333213142324332433343121411234332412223311311224122313143321231214321323443433311221443233224134334232211434233212333314211131344332232431232224133243323242223132131214413343421333114234232232124313422222422231221143144232224132341334434212232243433314421442314312142341232221433112441212323234232332213331421221323441441233234213444114123333334414222331222223233223332334434122321221122223434223434334423432323342132223312142142132234324242142233222132222131441443443221121313133121123223241432341331111132242423442413342413334341424223114421131321144231131221213222311344213122312211214214222211333221332324444424411233131433331433111422331212321433221311331333434134231143441132223232414431211214111314322234244423244434322124322122213341122343323344324312333122241143241212112341211114123432433442313243342334313124233232221431311222431112244342432424121124112141232313242000000000000000000000000001000000000000000000432112442144243342243334223442322144234231313233100100000002211414144112211223200000000000100000142334333312143124411311141332341212112331312333231443324314423422314113123221334321343111214113243121422341434111141123423134212223231413313333432313324112324442422134332322442132121122411443314421334231213234223224124211214332111234422222233413222414344341114231244321224223134433221134143234342221233222242123334114411324333213413124234313223432243314233133333321422211334224121232241412421313333133311111143121413123124124332332213432334214322114223332111432323321241134312112223322213344132433113221122334344421443334113344434241343411422241124113114311414443141312431332224234432334332334434112311141122234242422412244431424332213322343343122421222121333414434323133331331212314333314112133313432312422424132412413132314213413342412124112311333243242244322333133212131441123143234421144123223212441232122423142332231212323321431213241333222211233344212442131321442421213412322143433243221132321333231444143413241213213242422223133233113 31311333111143323142211224444211221123442223212142121322342134423323121422212323123142342112221342243121414234321323412123233434222423424223432133421211311231133112311242132133444321332114323141313123211211414334244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444334221431231331443131231242434214231122111233141122133114343412231222414243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333233244311223231431313423442211321442314113112222224221123341314312444213121212343133222141422141213342432444242321242422243342232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112241212311232434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432423111222243223422231412132431112422312331234332111343131131412321141343323233131312112123144322133132223243214142131343232342112223113112334224433314331241132224433143111211244122111313343441221231223313234111423444211313441114333431343322232232322212343242232332323421222112332113211333322433144434214333341413222122222323331343311232423122313121323314422344121223421442242413143221422114421444131314112113241313122341411411412121233111422342121332321144343224213313432432433423144323123344413333143143121224431314342424242314144424212413432232133231221322132211342234444221324342113432141334424231434434122443221312421333133342434213421233433324122142114121411411132134312334122344314212233334414411423212433424333412232143334422413441432311313314223413441333124231231214432311133311322144324233221121111421112114311142121412124132223433421313432442313434211222233132223433222134123323232234243123332232214344431123211114112442332111333333242221122241443313124121413332433241212232321342322342322222321131124331312332442132131431214322142322412331214234133234224134242333312413433122113444141442312344311313342342433122142343411311312243143434321213213341413212232444133223412343113412123231441221112244444213121444131131342241312432334311133132343441424214212131331313434321432312221313334234221322122421412424332441212311121433124434431322132232113241324134333324224344231412211331124322344000000000001000000000000000000000000042311432321431433122324241232141242114231244332322441241334322121432232132121341141422344114422114133424443242411333343234424331332123133214231112132121113431441443342333222242432231442242111323443221223213324323443323312241213214322434233211221244322433111313413214332314342443132422324432222322143212332144122323234322443134122423143331344222222212433222412422342431123112231412342422223212323223411223414312113321124312222231343211333133132413143443324212323122334323332133313223214344234241113141214213333432312334324234113343322423421244111132344313211312323312244234333343414443423414424343133344232134143134413413223334414231323432334222331243311143421222223334413243231411422141311131231414121242324312124224413134221221314323112223321221413434334311113121311424332434332441214321411212343111212223411242124223132314333334143213313143342113431121321342432114433234131321313424221434312223214414122114441431322233323333141221213233412114333124321433221231113432222332432343134314321123242222323233124112334333223412134421114312442121344313141443112233324342114432221232222334134333213222413333334444441314441413221421214312331124323124341132313241441344442422213224131331231213221343432442443243234412342222131312321222132412333213114341122243224242332344312131423213422113333223324232223323211221243123312232113312333333321442222313313343122331122323341111122121244223423323242334341241232112322323313331232432342123232132141111331221134312233324312322132132224132324122112423241331344331241323334213121211322131333321431313211223100000000000001000000000000012244123134213341211412224223342134341411443142333314412243324341332341434144321342344441432241341121000000000000000000000000000000000000000000000000000010000000000002231342311134144214333112243434211124332231331412244222314113341322223331144143124233342411314222244433432112331111133314144224314221414444312321213312233121122321233244331442242234231132332432313412232413413312332414143312331131114233113241411312214343332322213222314142123141211343414224123121142133333213142324332233343124434134132414224113242422124311143121231212121322422213411242443233234332314234231214233211133314321313344332212231332224131223123242223132133214331343441333124212432232124333224424422233323143124232224112341124434112234243433333243223134312142341232221433134441212323234232334213131421421324441441233234213244114121433334224422331222223233243132134414122321221122223414243434134321432322342112223412124142322244333232144233222132222131441443242221121313123121123142244434121111331112242423442233342413334343424223114421131321144331131221213222311344213142112211414414212241133231334324424421442211323232341211131214143444331431123213211111214133213121224332421232412231413234311114222234244423344234322124322224113321322243323344424112333112421323424421421122423344141314233432334211121212332134114221321133333442241113241342332424421124112141232321222000000000000000000000000000000000000000001000432132442144243342421314243442124112432431331413300000000102211434144112213223101000000000000000242134333312143124411311121332343212112311312133231443324314423434312133144123112123223112434413243321413341432331241142213312432243442233313331232113343434144423244133332322442132121122411443314421334231213234223224124211214332111234422212211441242214344343114233244321224223212234223112343414144221413242232313134114324124311413233442433344441234421234231141333321444411114222141232243412421333333133331232113121413121124124332131111231314114142132233332111432143221421124311442223322213344132433113221122334344421443334113344434241343411422241124113111113234241122312433134244214434132312112212424233321342434122244334432431324324213344343321112431244441411212433242131331333213114131432234333412134114242424132212413334214233223342413124132341333123124244322333132232111441123143234421344123423212421234344443142334212211123322231143223333224233233244232233313341434141233431444123241331422312131441331444141313323212431442422223413433323 31311341113341141322113214224243221133442423222134121434142114423133121243332323132442342314421144143222414432321423212143413434222223424424232133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444324221431231331443131231242434214231122111233141122133114343412231222414243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333231244233411143233241242222133121242314332231222242344314333114134112131323424422131144312412321441222223422222313342442241422232334131113111244443132122323124234231122341232134133224144143232221324441113114333333432422342112241212313211244431124124141234333114122332234113111144231331333132232443432124111322233322134124331223232343432223111222243223422222424142231112442332331232344311424113331132421341343323231131322312123123121433132243243214142131343232342112223113112334224433314331241132224433143111211244122111313343441221231223313234111423444211313441114333431343322232233322222443242232342341421222312332113211333322433144434211333341413222422422323311343311232423122313321333132244344122423421243222411123223222312443442131334342143141133122331431411412141232321422342324312321324341224433311132432411413322131241144443113443242321224414112342421122142142432234413432232131233221332232221342234422221344342113432341332222211444434142443221312421333133342431213421233433324122142114121211411432331312314322344324212233334413431443414411244314232444311434422413441432311313314223413441333124231431214422311323112342144322233221123111421112112131142141214124132223443421313432423333434411242131142311221322132323321232214223313132213222344431131211114122422312111333132242241131221423314344341413332433241222212342142322342142222123311342131121112321122133433414324142244412331214334131234444134242333334433214122113441431442312344311313342342433122142343411311312243143434321213213341413212232444133223412343113412123231441221112244444213121444131131342241312432334311133132343441424214212131331313434321432312221333334234221322122421412424332441212311121433124434432322132232113241324134333324224344434413411331144124132000000000000000000000000000010000000042333132123211434312342441423123244114231244312342211241112342233424432132113123141441344114222332341224321224211411243234444311314322133242233322312121113431441443342333222242432231442242111323443223223212322321341323344242213214322434233211221244322433111313413214332314342443132422324432222322143212332144122323234322443134122423143331344222222212433222412422342431123112231412342422223212323223411223414312113321124312222231343211333133132413143244314444131312331322412412111221214324234223133313414213433232312334422234111141322423421244111132344313211312323312244234333343414244241414424343133344232134143134443413223334414231323432334222331243331143343424223314411221123411222143133331214432243433344331321222313334343241324321334311121441221434314311113123311434314434332441214341411212443113212223211243124223132214334334143313313143342114411323223342212114233333131123433422214232322143432222324124441231324314111321141243211433214332332344143431424433323214432143132343312133141333142222323233124112334333223412134321112312442121122131321224334321123142332213223232222332332333413224432333122414441334441413221421214312331324323324341132333231413121324442213224131131213233221343432242443443234414342232331312321222132412333213114341122241224242332342312131223213421113333223324222221123231221221343334313331334341331141222222311333322323113142223321111122143422421223423222334141241232113322323313331232432322321234224323333331221134312213132334142132332222332342342312223141331344331241343334312341411324331331223414313231221310000000000000000000000000012344123114211341213212424223344134341411443142333314412243324341332343214334324344324311211443142321000000000000000000000000000000000000000000000000000000000000100001231342311134144214333112444432211121113233322432442442334231333432423321144143324213122314214133222433432112321143433114344442222231414234334321333332233121422123243422121424234232412331134233313441232413213312332414143312331131114233113241411312214343332322213222314142123141211343414224123121142133333213142324332233343124434234132412223311211224122313143321231214341323423433341221443233224134334232211434233212333314211131342332232431232224133243323242423132131214413341421333124234232232124313422222422231333143124232234112341324434112234243433333243223134332142341232231433114441234323234232332213131421421324441441233234213444114123333334224222331222223233223132334434122321231122233434243434334323432323342132223312322142322244333232144233222132222131441443443221121313133121123223241432341331111132242423442413342413334343342143312222313141122343333243233222311344213142132211414414212241133231334324424421441211323232133231131214143444131411123331311131414133213343221322421232232231413411311311322234244421344234122324124124141141122241323343442112313122421323424421421122423344141414233432334111121214332122134222232143433222243212421324414224433332332122414321422001000000000000000000000000000000000000000000311112442144143342243334223442124112414231133231300000000104431412142432231223110000000000000000241134141112144122221423241134343441242132134333313434144144423434312132144123112323323111214113243121422341434311141123423134212223231413313311214131143434144142422134332322442132121122411443314421334231213234223224124211214332111234222222233413222414344341114233244321224223134433221212123414144221233122232123334314324124311413233442433344441234421234231341333321444411114222141232243413421333333133311232113121413123124122332332111432314114122112233332111432343221421124311412341142213142234434133221122334324421443314111341334413143411422241112333134313234241122312433134244214434132312112212424233321342434122244334432431324324213344343321112431244441411214433242131331333223114131432234333412134114242424132212413334214233223342413124132111333243242414322332132232131311121143334243123143223211421234322443142334212211123322231143223333224233233244232233313341434141213431444123241331422312321333231444143413241213213242422223133233113 31311341113321141322213214224243221133442433222134121434142114423123121243332323132443344332233314241231111214343331234343233434222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444334221431231331443131231242434214231122111233141122133114343412231222444243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333231244233411143233241242222133121242314332231222242344314333114134112131323424422111144312412321441222223422222313342442241422232334131113111444443132122323124234231122341232134133224144143232221324441113114333333432422342112241212313211244431124124141234333114122332234113111144231331333132232443432124111322233322134124331223232343432223111222243223422222424142231112442332331232344311424113331132421341343323231131322312123123121433132243243112342111342232344131124213313332214431314131221314424411143111433443122321313323422223233231331244311421424211313443111333221343322232333322222443242232342341421222312332113211333322433144434211333341434222142422323311343311232423122313321333132244344122423421243222411123223222312443442131334342143141133122331431411412141232321422342324312321324341224433311132432411413322131241144443114443242321224414112342421122142142432234413432232131233221332232221342234422221344342113432341332222211444434142443221312421333133342431213421233433324122142114121211411432131312334324444324412233334414431423432431242333412244311411242342233114133412131411341123322311311212332432133322111241124422433221121111421112114311142121412124132223433421313432442313434211222233132223433222134123323232234243123332232214344431123211114112442314331333122242421132241443333141321413332433241212232321342322342322222321131124331312332442132131431214322142322412331214234133234224134242333312413433122113444141442312344311313342342433122142343411311312243143434321213213341413212232444133223412343313412123231223433311222242213342424142133342333312122311341323132341121424211242133223311434341432312111333334234242322312431312141312444434143323213434212122324132232113241324134333324224344231412211331124322344000000000001000000000000000000000000042311432321431433122322241232141242114231244332322441241334322121432232132121341141422344114422114133424443242411333343234424331332123133214231112132121111211434441144132221431333233422123313423321433231233122123441333314322222233122434233211221242322433111311413214332314342443132422324434222322143212332144122323234322241334132243143331344222222212433222412422342431143112231412342422223212323223411223414312133334322134444231323213131213332433143443324212133112334323332433313221214344234241232111244113333232312334424234111141322423421244111132344113211312343312244234333343414443423314344123312222432134142124243314223332444233323411112222333243311143421222223334413243231411422141331131231414121242324312124224413134221221314323112223321221413434334311113121311424332434332441214321411212343111212223411242124223132314333334143213313143342113431121321342432114433334131143413422214232112123432222324124441431324233323333141221213233412114333124321431221231113432222132432343134314321123222232141333344112332131323231332333314132122121344313123423332233124124112433243334332312312331413422412333132444241314421413221421224312331324323124141132333231413121324422213222231131231413421242434224221223321232324433333132323222334412333213114341122243224242332344312131223213422113333223324232223323233211423123312232113312333121344424224313132223122331122223121133342321422241423322222334141443242123113223123343434432322341214224323333333422334311234324312324132132222332342124332423241333322333241123334333121223142143413223431313231221100010000000000000000000000012244144114231141213212444223142134321411443142331314432241324121134343234142321344124411432243142323000000000000000000000000000000000000000000000010000000000000000001231122313134144214333112243434211124332231331412244222314113141322243131144142124233142311332223242422232112323111132334144224314221414434332341313332233121423123243422123424234432412332332432413412232413413133334414143312331131114233113241411312214323332322213222334142123341211343414221123121142131333213142324332233343124414134132414324313242422334311143123233234143342422413311442443233224332314242231414431212133114321313344312234231332224131423123242221132131244413343221333124234234212124333224424422231321143124232224132341332434212232241433333243223133432344343232233433132441234323234232334213131421221123443231133232213244314123433334224222331222223233223332334434142321221122223434243434334323232323342132223312122142322244323232142233222132222111441443242221121313123121123142244434121111331112242423442231312413134341424222114221131321144231131221213222311344213122312211214214222211333221332324444424411233131433331433111422331212321433221311331333434134231143441132223232414431211214111334342123424423342234322324342124141121312223243344322112313124221321424421421122423344141414233432334111121214332122134222232143433222243212421324414224421132331121432413222000000000000000000001000000000000000000000000332132442144243342443434323442324112412431333233100001000002431412112114233423200010000000000000242334133312143122211411141332341212112331312333231443324314423422314113123221334321342341214113443324422343434311141123423134212223231413313411214131143434144123244113113143122313344343433233132243112411231222142224141223431314334212222222233441224214244141114231244321224223134434223132123233312443433242432113132114324124311413233422433344441234421234231341333321444411114222141232243413421333313133331232113121413121124124332131111231314114142132233332111432323321241134312112341142211322234433113221122334344421443334213314434213143243422443312133411113414443141312433334244311432334432334434112331121342434122444334432431324322211342341321112421222141333214413242321114121222112131432234333412134114242424132212413334223433223342413124132313333123124244322333132232131341121143232243123123221211421434124423142332231212323321431213241333222211233344212442131321442421213412322143241331422312131441331444143413323212431442422223413433323 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322344322132233332334244223142314334411332431223223131212113242143313443132123112321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444334221431231331443131231242434214231122111233141122133114343412231222414243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323234111412442223333231244233411143233241242222133121242314332231222242344314333114134112131323424422131144312412321443342432444242321242422243342232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112241212311232434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412132431112422312331234344311343113331434423141343123231131314112123144321133112223243112342111342232344331124213313332414431314131241132224411143111211244122111313343441221231221313444311421224213313443114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131343311232423124311323123314442144441223121423124133143221422314123244231133112411143331342333431341412341432323424142324312321324341224433311132432411413322131241144443113443242321224414112342421122142142432234413432232131233221332232221322234422221344342113432341332222211444434142443221311421333133342431213421233433324122142114121211411432131312334324444324412233334414431423432431242333412244311411242342233114133412131411341123322311311212332432133322111241124422433221121111421112114311142121412124132223433421313432442313434211222233132223433222134123323232234243123332232214344431123211114112442332111333333241223132243444333144323413134433224212412342142322342141222123311342131121112321122133433214224122242212311214334133234224134244423112233214222211344143224114222132411114324333322124131231133432241343434321213213341233134232443123222112344113412323231441221112244444233121444331131342241312431314311133132343441424214212133223311434341432312111333334234242322312431312124331321432141323433124434432342132232113241324114333324224344431412211131124122342000000000000010000000000000000000000042311432123211334312322441422121114134231244332122243423334322121432242132121121343422324114422132343424443424231413323334444313332122231314431112332131331211444441144113222242412433442242311323441221223213324323443323312241213214322432233233221242322433111333413231314332321223334224144214444334331231314144122343234322241334132441124441224242214322233222412422334313323143113222124442443424114243332243111134333334322134444231323213131211332133143443324212323122334323332133313223214344234241113141214213333432312334424244111343322244223431332314144333143342141234422412433421214444243314344123312222432132142124243314223332411213322431332222413421434421341222223334231223131411224143133331214432243433344331321222313334343341324323334311121421221434314311133123311434314434332441214341411212443111212223411243124223134314333334143213313143342113431121321342432114433233131123413422414232312243214414122114441433322233323333141221213233412114333124321431424433323214432143132343312133141333142422323233124112334333223412134321112312442121122131323423332233124124112233443232322112334333213222412331334444441314441413221421214312331122323124341132333231413121324222211244131332431433421242434224221223321232122423111114323421312232111231332423342423422324411124144313443433242121234221323423433322211411241343334313331314341331141222222311333322322331122323321133322143424223423323242334341241232112322323313331232432342123232132141111331221134322234324312322132132224132124122112423224331324331223123334333143223142143413321411313433241300000000000100000000000000031244323132233323211431222431142132123411441122111314432431141343334141432344121344342441431443142343000000000000000000000000000000000010000000000000000000000000000001221322331134144214323332233234411124132211331412244242314113341322223333144113124233322341332223242233214412331111133314144224314221414444312241313332233121123123243422123424234432412331134233313441232413213132334414143314333131111233113241441312214323132332211322431122122343411343414234141321242333333213142324332233343121414114332312223311311224122313143321231214321323443433311221443233224134334232211434233212333314211131344332232231232224133243323242223132131214413343421333114234232232124313424222422231221143144232224132341334434212232243433314421442314312142141232221433134441212323234232332213331421221323443231133234213244114121433334224222331222223233223332334433122321221122223434243434333323432323342132223312122142124434324232142233122132222131441421243243123413133121123242241434121131331112242423442413342413112123344222114222313141122343313241331144442122431143112213412414214242121433114112224221441211323232331231331214143444331431123213211111214113113121224332421434412231411234331314224234244421344234322324124122213341122343323344322132333222421323424421421122423344141434213431314213321214332122134222232131331222441112244342432424133332332122414321422000000000000000010000000000000000000000000000332132442344241444421434323442124112434231133233100001000002411412112114233423200010000000000000242334333312143122211411141312343212242311132333231434144144423422314113123221334321342341214113443321422343434311141123423134212223231413313411214131143434144122422134332322442132121122411443314421334231213234223224124211214332111234222412233441224214244341114231244121224223134434223132143414144221233122242123334314411344333213413124233344441234421232433333333321422211334224121232241412421313333133311212113121413121124124334332111232314114122132233332111432143221241124312112223322213344132433113221122334344421443334113344434241343411422241124113134313234241122312433134244214434132312112212424233321342434122244334432431324324213344343321113421222141333412234323133331333323114131412212113413422132424342342212231132314231223344223322334313343123222412322333132232131343121143212243123123221221421432124423142332231212323321431213241333222211233344212442131321442421213412322143433243221132321333231444143413241213213242422223133233113 31311333111143323142211224224243221133442423222134121422342114423123121222212323123142344312233344213231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132342123141434424144231334412431123343112332123233233441332421443411142441242113141124111331232434422214323442124131231433432341442322444334231232231331443134231242424214231122111233141122133114343411133441214423312133422114422322432242331423334322221223144232342231133332313144232333232133431311432421123334111412242223333231244233411143233241242222133121242314332231222242344314333114134112131323424422131144312412321443222232442242313342442241422432312133311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112241212311232434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432423111222243223422231412132431112422312331234344311343113331434423141343123231131314112123144321133112223243112342111342232344331124213313332414431314131241132224413443111433443122321313323422223233231331244311421424211313443114333221343322214233322422413224232132321221222112412113211332142233144434211333341413222422422323311313311232423122313321333132244344122423421242222411123223222312443442131334342143141333122331431411412141232321422342324112141322141224431311114212413113122131241342441113141122134122114112334124144142322424432431212212331233221332214323122312242423322221321214343132224433244314124424233111123113233422214133441213231324344422134121243411432331312334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323112342144322233221123111421112112131142141214124132223443421313432423333434411242131142311221322432341141214211123322114413222144431131331134314444314331333122242221122241443313124121413332433241212232321342322342322222321131124331312332442132131431214322142322412331214234133234224134242333312413433122113444141442312344311313342342433122142343411311312243143434321213213341413212232444133223412343113412123231441221112244444213121444131131342241312432334311133132343441424214212131331313434321432312221333334234221322122421412424332441212311121433124434432322132232113241324134333324224344231412211331124322344000000000001000000000000000000000000042311432321431433122322441423121214131233244332342441241332422131432242132421321141422344114222134131242321244411431222234244311314322133242233312312121113433241443142332221232333233442223113443321423323313142123441323114242213214322434233211221244322433111313413214332314342443132422324432222322143212332144122323234322443134122423143331344222222212433222412422342431123112231412342422223212323223411223414312113321124312222231343211333133132413143244314444131312331322412412111221214324234223133313414213333432312342324434111313124244221431332314342331143342141234422412411423414423423414424341133344222134143134443413223334414231323432334222331243311143421222223314411421123411422143133331234232243433344331341222311334343241324323334311121421221434314311113143311434334434332441214141411212443111234223411243124223132214334334143213313143142113431121321342434114433333131123413422414232312243214414122114441433322233323333141221213233412114333124321433221231113432222133432343134314321123224232141333344112332131323231332333314132122121344313121224334321123142332213223232332312334331213222432313122444441314441413221421214312331124323124341132333231413121324222211244111332431213221343432442443243234412342222131312321222132412333213114341122243224242332344312131423213422113333223324232223322233221443123312232113312333121341424224313132223143313142223121133342141442421223423222334141241232112322323313331232432342123232132141113331221134321413122332124132132224132324122112423241333122331223123334213141411322133413323411313211221300000000000000000100000000012244123134213341211412224223342134341411443142333314412243341341332341234344321342344441432241341121000000000000000000000000000000000000000000000000000010000000000002231342313134144214333112243434211124332231331412244222314113341322223331144143124233342411314222244433432112331111133314144224314221414444312321213312233121122321233244331442242234231132332432313412232413413312332414143312331131114233333341443313214323312334413342311423123323411324431421121121242133333213142324332433343121411234332412223311311224122313143321231214321323443433311221443233224134334232211434233212333314211131344332232431232224133243323242223132131214413343421333114234232232124313422222422231221143144232224132341334434212232243433314421442314312142341232221433134441212323234232332213331421221323443231133234213244114121433334224422331222223233243132134434122321221122223414243434134321432322342132223412124142322244323232142233222132222111441443443221121313133121123242241434121131313311324223212213344413112123444222114222313141124341333243233244441122231143112413412422412242123433114114224421441233323433331233111214133444331411123331311131414134231143441132241212412241431234333314322234244421344234122324124124141141122241323343422112313122421323424421421122423344141414233432334111121214332122134222232143433222243212421324414224421132331121432413422000000000000000000001000000000000000000000000332132442144243444421434323444122112434231133213100100000002211414114112211223200000000000100000142334333312143124411311121312343242112311312133231134144144423434312113144141112323223341214113443321413341434311141123423134212223231413313311214131143434144122222334332322422132121122411443314221334233231222142412341223234132111434222212413441224214244343214131442313412441212234223134343214344221433242232113134114324124311413233422433344441234421234233341312322424423332212324331431112221313333133331212113121413121124124332332111232314114122132233332111432143221241124312412223322213344132433113221122334344421443334113344434241343411422241124113131111414443141312431332224234432334332334434112311141122234242422412244431424332213322343343122421222121333412434323133331331212324333314112133313432312422424132412413132314213413342412124112311333243242244322333132232111441123143234421344123423212421234344443142334212211123322231143223333224233233244232233313341434141233431444123241331422312131441331444141313323212431441322223413433323 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322244322132212432133442223342314334411332433223223321212113244143313443132121112342323141434422144231134412431143343312332123231233241332441443411342241242113131124111331232434422214323442122134131431432341444342443334221231231231443131231242434214231122111233141122133114343412231222414243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333233244311223231431313423442211321442314113112222224221123341314312444213121212343133222141422143213342432444242321242422243342232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112141432411211234411122344343411314112122434234133341344431331333132232443432124111322233144134124331213232343432223111222243223422231412132431112422312331234332111343131131412321141343323233131312112123144322133132223243214142131343232342112223113112334224431314131241132224411143111211244122111313343441221233231331244311421424211313443111333221343322232333322222443242232342341421222312332113211333322433144434211333341413222422422323311313311232423122313321333132244344122423421243222411123223222312443442131334342143141133122331431411412141232321422342324312321324341224433311132432411413322131241144443113443242321224414112342421122142142432234413432212331233221332214323122312242423322221321214343132224433244314124424233111123113233422214133441213231324344422134121243411432331312334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323112342144322233221123111421112112131142141214124132223443421313432423333434411242131142311221322432341141214211123322114413222144431131331134314444314331333122241223132243444333144323413114423224212212342142322344142222123311342131121112321132133433214324142222432331212334113234224134242333334433214122113441441422312322112413112144321322124341213111314421322234321213213341233134232443123222112344113412323231441221112244444233121444331133342241312431314311133132343441424214212133223311434341432312111333334234242322312431312124331321432141323433124434432342132232113241324114333124444244424412211131124122332000000000000010000000000000000000000042311432123211334312342441422121114134231244332122243423332422131432242132421321343422344114422134133424443444411433323334444313332122133314231112332131333433241443142313222242432233442242311323441221223213324323443323312241213214322434233211221244322433111313413214332314342443132422324432222322143212332144122323234322443134122423143331344222222212433222412422342431123112231412342422223212323223411223414312113321124312222231343211333133132413143244314444131312331322412412111221214324234223133313414213433232312334422234111141322423421244111132344333211312323312244234333343214244241414424343133344232134143134443413223334414231323432334222331243311143421222223334413243231411424143133331214432243433344331321222313334343341324323334311121421221434314311133123311434314434332441214341411212443111212223411243124223134214333334143213313143342113431121321342432114433333131123413422414232312243214414122114441433322233323333141221213233412114333124321433221231113432222133432343134314321123224232141333344112332131323231332333314132122121344313123423332233124124112233443232322112334333213222412331334444441314441413221421214312331122323124341132333231413121324422213222231131231413421242434224221223321232122423111114323421312232111231332423342423422324411124144313441433242121234421423423433322211411241343214212113312133333321442322313132223143313144222321333322141424223423323242334341241232112322323313331232432342123232132141111331221134322234324312322132132224132324122112423241331344331241323334213121211322131333321431313211223100000000000001000000000000012244123132233323211431422431144132123411441122111314432431141343334141234142121342344441432243342121000000000000000000000000000000000000000000000000000000000000001001231322333134134414333112444432211121113233321412442442334231333432423321144143324213124314214133222433432112321143433114344442222234414434332241313332233121122341233244331442242222232332334212311442212231211332332313131212111212211233113241441312214323332332233322331122123341211143414221121321242333331233142224332213333124414134132414224113242422124311143121231212121322422213411242443233234332314234231214233211133314321313344332212231332224131423123242223132133214331343441333124212432232124333224424422233323143124232224112341124434112234243433333243223134312142341232221433134441212323234232334213131421421324441441233234213244114121433334224422331222223233243132134434122321221122223414243434134321432322342112223412124142322244333232144233222132222131441443242221121313123121123142244434121111331112242423442233312413134341424222114221131321144231131221213222311344213122312211214214222211333221332324444424411233131433331433111422331212321433221311331333434134231143441132223232414431211214111334322234244421344234122324124124141141122241323343442112313122421323424421421122423344141414233432334111121214332122134222232143433222243212421324414224121132331121432413224000000000000000000001000000000000000000000000332132442144243444421414323442322144234233113233100001000002411412112114233423200010000000000000242334333312143122211411141332341212112331312333231443324314423422314113123221334321342341214113443324422343434311141123423134212223231413313411214131143434144123244113113143122313344343433233132243112411231222142224141223431314334212222222233441224214244141114231244321224223134434223132123233312443433242432113132114324124311413233422433344441232421234231133332141422211334224121232241412421313333133311232113121413123124122332332111432314114122112233332111432343221421124311442223322213344132433113221122334344421443334113344434241343411422241124113131111414443141312431332224334432334332334434112311141122234242422412244431424332213322343343122421222121333412434323133331331212314333314112133313432312422424132412413132313213413342412124112311333243242244322333132232111441123143234421344123423212421234342443142334212211123322231143223333224233233244232233313341434141233431444123241331422312131441331444141313323212411442422223413433323 31311333111143323142211224224243221133442423222134121422342114423123121222212323123142344312233344213231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322344322132233332334244223142314334411332431223223131212113242143313443132123112342123141434424144231134412431123343112332123233233241332421443411142441242113141124111331232434422214323442124131231433432341442322444334231232231331443134231242424214231122111233141122133114343412231222444243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333233244311223231431313423442211321442314113112222224221123341314312444213121212343133222141422141213342432444242321242422243342232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112241212311232434431124124141234333114122332234113111144243331343333232441412132233344231122134122331123233333232423113422241233444331412142431412442332331434344311343113331434423141343123231131314112123144321133112223243112342111342232344331124213313332414433314331241132224433143111211244122111313343441221231223313234111423444211313441114333431343322232232322212343242232332323421222112332113211333322433144434214333341413222122222323331313311232423122313121323314422344121223421442242413143221422114421444131314112113241313122341411411412341432323424142324112141322141224431311114212413113122131241342441113141122134122114112334124144142322424432431212232131233221332232221342234422221344342113432341332222211444434142443221312421333133342431213421233433324122142114121211411432331312314322344324212233334413431443432231244333412232143334422413441432311313314223413441333124231231214432311133311322144324233221121111421112114311142121412124132223433421313432442313434211222233132223433222134123323232234243123332232214344431123211114112442332111333333242221122241443313124121413134433224212412342142322342141222123311342131121112421122133433214224122242212311214334133234224134244423112233214222211344143224114222132411114324333322124131231133432241343434323413233311213232412414321223432343313412343231423221112244444113121444331131342241312432334311333132143441224214212131323311412121212331221111312324421112124423412421312441434143323211422212122324314212333223324134333112444242424412211331124142332001000000000000000000000000000000000042331432113414334312342244223141244111213441133342243221332444233432242132121341141422244134422114133424443244411333323214424331132143133214231112131122113431441443342333222242432231441242111321443223223212322341341323344242213214342444233211221244322433111313413214332314342443132422324432222322143212332144122323234322443134122423143331344222222212433222412422342431123112231412342422223212323223411223414312113321124312222231343211333133132413143244314444131312331322412412111221214324234223133313414213433232312334422234111141322423421244111132344313211312323312244234333343414244241414424343133344232134143134443413223334414231323432334222331243311143421222223334413243231411424143113331214432243433344331321222313334343341324323334311121421221434314311133123311434314434332441214341411212443111212223411243124223134214333334143213313143342113431121321342432114433233131123413422414232312243214414122114441433322233323333141221213233412114333124321433221231113432222133432343134314321123224232141333344112332131323231332333314132122121344313123423332233124124112233443232322112334333213222412331334444441314421413221421224312331324323124341132333231413121324222211244111332431233421333432242443243234412122423111114323421312232111231332423342423422324411124144313441433242121234421423423433322211411241343214212113312133333321442322313132223143313144222321333322141444223423323242334341241232112322323313331232432342123232132141111331221134322234324312322132132224132124122112423224331324331223123334333143223142143413321411313433241300000000000100000000000000031244323212411341413212422223122134321213323344331334231241321341314341232142121344324441231443141321000000000000000000000000000000000000000000000001000000000000000001221322333134134234333112443432211321113433131412442442334231333432423321142143324213124314214133222433432112321143433114344442222234414434332241313332233121122341233244331442242234231132332432313412232413413312332414143312311131114233333341443313214323312334413342311423123323411324431421121121242133333213142324332433343121411234332312223311311224122313143321231214321323443433311221443233224134334232211434233212333314211131344332232431232224133243323242423132131214413341421333124234232232124313422222422231321143124232224132341332434212232241433333243223133432344343232233433134441234323234232334213131421421324441441233234213444114123333334224222331222223233223132334434122321231122233434243434334323232323342132223312122142322244323232142233222132222111441443242221121312133141323242441432341331313311242423442231342413134341342143312221331323444231131221213222311344213122312211214214222211333221332324444424411233131433331433111422331212321433221311331333434134231143441132223232412431211214313314224234244421344234321324124124141141122241323343422112113122421323424421421122423344141314233432334211121212432334114221321133431222243212421324414224133332332122414321222000000000000000000000000000000000000000010000332132442344123444421414343442124112434231333233101000000002211414114112231423200000000000010000142134333342144142211423243134443441244132134313313434144144423422314113123221334321342341214113443321422343434311141123423134212223231413313411214131143434144142422334332322422132121122411443314221334231213234223224124211214332111234442212213441242214244343114131444121224223134434223134122233312443433242432113132114324124311413233422433344441214421234223141333321444411114222141232243413421333313133331232113121413121124124332131111231314114142132233332111432323321241134312112341142211322234433113221122334344421443334213314434213143243422443312133414113414443141314431332244231432334432334434112331121342434122444334432431324322211342341321112421222141333214413242321114121222112131432234333412134114242424132212413334223433223342413124132313333123124244322333132232131341121143232243123123221211421434122423142332231212323321431213241333222211233344212442131321442421233412322143433243221132321333231444143413241213213242422223413433323 31311341113341141322113214224243221133442423222134121434142114423133121243332323132442342314421144143222414432321423212143413434222423424223432133421211311231133112311242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444334221431231331443131231242434214231122111233141122133114343412231222444243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333233244311223231431313423442211321442314113112222224221123341314312444213121212343133222141422141213342432444242321242422243342232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112241212311232434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422222424142231112442332331232344311424113331132421341343323231131322312123123121433132243243112342111342232344131124213313332214431314131221314424411143111433443122321313323422223233231331244311421424211313443111333221343322232332342222443242232342341421222312332113211333322433144434211333341413222422422323311343311232423122313321333132244344122423421243222411123223222312443442131334342143141133122331431411412141232321422342324312321324341224433311132432411413322131241144443114443242321224414112342421122142142432234413432232131233221332232221322234422221344342113432341332222211444434142443221312421333133342431213421233433324122142114121211411432331312314322344324212233334413431443412413424333412232143334422413441432311313314223413441333124231231214232311333311322144324233221121111421112114111142121412124132223433421313412442313434411222131142321221312432321141232234243123332232214144431131331134312424314331333122242221132241443333141323413332433241222232322344322342322222323331342132121112321134133243214324142222432331212334113234224134242333334433214122113441441422312322112413112144321322124341213111314421322234323413233311213232412414321223432343313412343231423221112244444113121444331131342241312432334311333132143441224214212131323311412141212331221111312324421112124423412421312441434143323211422212122324314212333223324134333112444242424412211331124322344000000000001000000000000000000000000042311432321431433122324241232141242114231244332322441241334322121432232132121341141422344114422114133424443242411333343234424331332123133214231112132121113431441443342333222242432231442242111323443223223212322321341323344242213214322432233211221242322433111313412214332314342443132422324434222322143212332124122323234322241334132443143331344224222212433222412422342431123112231412342422223212323223411223414312113321124312222231343211333133132413143244314444131312331322412412111221214324234223133313414213433232312334422234111141322423421244111132344313211312323312244234333343414443423414424343133344232134143134413413223334414231323432334222331243311143421222223314411221123431422143133331234432243433344331321222313334343221324323334311121421223434334311113121311424332434332441214321411212343111212223411242124223132314333334143213313143342113431121321342432114433333131123413422414232312223214414122114441433322233323333141221213233412114333124321433221231113432222133432343134314321123224232141333344112332131323231332333314132122121344313123423332233124124112233443232322112334333213222412331334444441314441413221421214312331122323124341132333231413121324222211244111332431433421242432224221223321232122423111114323421312232111231332423342423422324412124144313441433242121234421423423433322211411221343334313331334341331141222222331333322322331122223121133342321442241423322222334141443242123113223123343434432322341214224323333333422334311213132334142132332222332342144332443141333122333421121312333121411322331333223411313231221110000000000000000000000000012344123114231141213212444223142134321411443142331314432241324121134341434142321344124411432243142321000000000000000000000000000000000000000000000000000000100000000002231342113134134214333112444432211124132211322412442442334231333432423321144113341213122314214133222433432112321113433114144242312234414444312321333332233121422321431224321222442232232332334212311442232413413312112333333312333131111223113241441312214323332332233324331122143341211324431421121121242133333213142324331233343144214134332312223311311224122313143321231214321323443433311221443233224134334232211434233212333314211131344332232431232224133243323242223132131214413343421333114234232232124313424222422231221143144232224132341334434212232243433314421442314312142131232221433134441212323234232332213111421423323443231233234213242114143423334224222331222223233223332334414122321221122223434243434134323432323342132233312122142124234324232142231122112322133443423243323323413333121323242231432321331311112342441242233112413134341444242114222313121124341333243233222311344213142112211414414212241133231334124424421442211323232331231131214143444133411123331311131414134231143441132221212412241431234331114224234244421344234322324124122213341122343323344322132333222421323424421421122423344141434213431314211121212332334114221321133333222243212421324414224421132331121432413422000000001000000000000000000000000000000000000332132442144243444421412242324342342434231133233100001000002211412112114233423200000010000000000242134333314113124411311121332341242242311132333311134144144423434312113144141112323223341214113443321413341434311141123423134212223231413313311214131143434144122222334332322422132121122411443314221334233231222142412341223234132111434222212413441224214244343214131442313412441212234223134343214344221433242232113134114324124311413233422433344441234421234233133333321422211334224121232241412421313333133311212113121413121124124334332111232314114122132233332111432143221241124312412223322213344132433113221122334344421443334123344414413141243222443324133114111414443141314431332224234432334332334434112311141122234242422412244431434332213322343143122421222121333412434323133331331212314333314112133313432312422424132412413132314213413342412124112311333243242244322332132232111441123143234421344123423212421234342443142334212211123322231143223333224233233244232233313341434141213431444123241331422312131441331444141313323212431442422223413433323 31311333111143323142211224224243221133442423222134121422342114423123121222212323123142344312233344213231141214343331214341233234222223424424232133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123112332123231233241332441443411342241242113131124111331232434422214323442122134131431432341444342443334221231231231443131231242434412231122111233141122133114343412231222414243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333231244233411143233241242222133121242314332231222242344314333114134112131323424422131144312412321441222223422222313342442241422232334131113111444443132122323124234231122341232134133224144143232221324441113114333333432422342112241212313411234414322324341211133114141322234333313144241111143132232423432124111322233122134122331223232343432423111424223223424231412132431112422312331234344311343113331434423141343123231131314112123144321133112223243112342111342232344331124213313332414431314131241132224411143111211244122111313343441221231221313444311421224213313441114333423343121232233322222443242232342341421222312332113211333322433144434211333341413222422422323311343311232423122313321333132244344122423421243222411123223222312443442131334342143141133122331431411412141232321422342324312321324341224433311132432411413322131241144443113443242321224414112342421122142142432234413432232131233221332232221342234422221344342113432341332222211444434142443221312421333133342431213421233433324122142114121211411432331312314322344324212233334413431443412413424333412232143334422413441432311313314223413441333124231231214232311333311322144324233221121111421112114111142121412124132223433421313412442313434411222131142321221312432321141232234243123332232214144431131331134312424314331333122242221132241443333141323413332433241222232322344322342322222323331342132121112321134133243214324142222432331212334113234224134242333334433214122113441441422312322112413112144321322124341213111314421322234323413233311213232412414321223432343313412343231423221112244444113121444331131342241312432334311333132143441224214212131323311412141212331221111312324421112124423412421312441434143323211422212122324314212333223324134333112444244424412211331124322344000000000001000000000000000000000000042311432321411433122324241232141242114231244332322441241334322121432232132121341141422344114422114133424443242411333343234424331332123133214231112132121113431441443342333222242432231442242111323443223223212322321341323344242213214322434233211221244322433111313413214332314342443132422324432222322143212332144122323234322443134122423143331344224222213433222412422342431123312231412342422223212323223411223414312133334324132442423321133333213132411343243314242133312334333432412111221214344234241133111214213333432312334424244111343322244223431332314144333143342141234422412433421214444243314344123312222432132142124243314223332411213322431332222413421434421341222223334231223131411222141131131231414121242324312124224413134221221314323112223321221411434314311113121311424334434332441214341411212343111212223411242124223132214333334143213313143342113431121321342432114433333131123413422414232312243214414122114441433322233323333141221213233412114333124321433221231113432222133432343134314321123224232141333344112332131323231332333314132122121344313123423332233124124112233443232322112334333213222412331334444441314421413221421224312331324323124341132333231413121324422213222231131231433421242434224221223321232122423111114323421312232111231332423342423422324412124144313441433242121234421423423433322211411221343334313331334341331141222222331333322322331122223121133342321422241423322222334141443242123113223123343434432322341214224323333333422334311213132334142132332222332342142332443241333122333421121312333121411322331333223431313231221110000000000000000000000000012244123114231141213212444223144134321411443142331314432241324121134341232142121344124441432243142321000000000000000000000000000000000000000000000000000000100000000002231342111134134214333112443412211124132211322412442442334231333432423321142113321213122314214133222433432112321113433114144242312234414444312321333332233121422321431224321222432222232331334212311442232413413312112333333312333131111223113241441312214323332332233324311122143341211324431421121121242133333213142324331233343144214234332312223311311224122313143321231214321323443433311221443233224134334232211434233212333314211131344332232431232224133243323242223132131214413343421333114234232232124313424222422231221143144232224132341334434212232243433314421442314312142341232221433112441212323234232332213331421221323443231133234213244114121433334224422331222223233223332334413122321221122223434243434333323432323342132223312122142124434324232142233122132222131441421243243123413133121123242241434121131331112242423442413112413112123344222114222313141122343313241331144442122431143112213412414214242121433114112224221441211323232331231331214143444331431123213211111214113113121224332421434412231411234331334222234244423344234322124122224113321322243323344422112333112421323424421421122423344141414233432334213321214312122134222232131331222441112244342432424133332332122414321422000000000000000010000000000000000000000000000332132442344241444421434323444322112434231333213100100000002411414114112211223200000000000100000142134333312143124411311121332343212112311312133231134144144423422314113123221334321342341214113443321422343434311141123423134212223231413313411214131143434144142222334332322424132121122411443314221334233231222142412341223234132111434222214413441224234244323234121442313412441212233221132123233312443433242432113132114324124311413233422433344441234421234231141333321444411114222141232243412421333313133311212113121413121124124334332111232314114122132233332111432143221241124312412341142211342244434113443332314322421113334223344414413141243222443324133111111414443141312431332224234432334332334434112311141122234242422412244431424332213322343343122421222121333412434323133331331212314333314112133313432312422424132412413132313213413342412124112311333243242244322333132232111441123143234421344123223212421234342423142332231212323321431213241333222211233344212442131321442421213412322143433243221132321333231444143413323212431442422223413433323 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322344322132233332334244223142314334411332431223223131212113242143313443132123112342123141434424144231334412431123343112332123233233441332421443411142441242113141124111331232434422214323442124131231433432341442322444334231232231331443134231242424214231122111233141122133114343411133441214423312133422114422322432242331423334322221223144232342231133332313144232333232133431311432421123234111412442223333231244233411143233241242222133121242314332231222242344314333114134112131323424422131144312412321443342432444242321242422243342232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112241212311232434431124124141234333114122332234113111144231331333132232443432124111322233322134124331223232343432223111222243223422222424142231112442332331232344311424113331132421341343323231131322312123123121433132243243112342111342232344131124213313332214431314131221314424411143111433443122321313323422223233231331244311421424211313443111333221343322232333322222443242232342341421222312332113211333322433144434211333341434222142422323311343311232423122313321333132244344122423421243222411123223222312443442131334342143141133122331431411412141232321422342324312321324341224433311132432411413322131241144443113443242321224414112342421122142142432234413432232131233221332232221342234422221344342113432341332222211444434142443221312421333133342431213421233433324122142114121211411432131312334324444324412233334414431423432431242333412244311411242342233114133412131411341123322311311212332432133322111241124422433221121111421112114111142121412124132223433421313432442313434211222233132223433222134123323232234243123332232214344431123211114112442314331333122242421132241443333141321413332433241212232321342322342322222321131124331312332442132131431214322142322412331214234133234224134242333312413433122113444141442312344311313342342433122142343411311312243143434321213213341413212232444133223412343113412123231441221112244444213121444131131342241312432334311133132343441424214212131331313434321432312221333334234221322122421412424332441212311121433124434432322132232113241324134333324224344431412211331124322344000000000001000000000000000000000000042311432321431433122322241232141242114231244332322441241334322121432232132421321343422344114422134133424443444411433323334444313332122133314231112332131333433241443142313222242432233442242311323441221223213324321341323344242213214342444233233221242322433111333413231314332321223334224144214444334331231314144122343234322241334132441124441224242214322233222412422334313323143113222124442443424114243332243111134333134322134444231323213131211332133143443324212323122334323332133313223214344234241113141214213333432312334424244111343322244223431332314144333143342141234422412433421214444243314344123312222432132142124243314223332411213322431332222413421434421341222223334231223131411222141331131231414121242324312124224413134221221314323112223321221413434334311113121311424332434332441214321411212343111212223411242124223132314333334143213313143342113431121321342432114433333131123413422414232312243214414122114441433322233323333141221213233412114333124321433221231113432222133432343134314321123242222323233124112334333223412134421114312442121344313141443112233324342114432221232222334134333213222413333334444441314441413221421214312331124323124341132333231413121324222211244131332431413221243432442443243234412342222131312321222132412333213114341122241224242332342312131223213421113333223324222221123231221221321334313133114341321341424234313132223143313142223321133322141442221423423142334341423242113313322323343432432323341234224323333331221322312233324312322132132224132324122112423241331344331241343334312141421322133413321431331231221100000000000000000001000000012244123114231141213212424223342134341411443142333314412243324121134343232142121344324441231443141321000000000000000000000000000000000000000000000000001000000000000002231342311134144214333112243434211124332231331412244242314113341322223331144113124233342411314222244433432112331111133314144224314221414444312321333132413141143123243422123442242234231132334212311242431231213132334313131214133212241233332233443333224124332334413322331122123323211324431421121121242133333213142324332233343144434134132412223311211224122313143321231214341323423433311221443233224134334232211434233212333314211131342332232431232224133243323242423132131214413341421333124234232232124313422222422231321143124232224132341332434212232241433333243223133432344343232233433134441234323234232334213131421421324441441233234213244114121433334224422331222223233243132134434122321221122223414243434134321232323342132223312122142322444323232142233222132222111441443443221121332133141323242441432341331313311324223212411312413132343342143312222313141122343333243233222311344213142132211414414212241133231334324424421441211323232331231131214143444331431123213211111214113213121224332421434412231413214311314322234244221334212332324124144141141122241323343422312333122243143441421421122423344141434233432334111121214332122134222232143433222243212421324414224421132331121432413224000000000000000000001000000000000000000000000332132442144243444421434323442124112434221133233100001000002411412112114233423200010000000000000242334333314143122211411141332341212112331312333231443324314423422314113123221332321342341214113443321422341434311141123423134212223231413313311214131143434144123244113113143122313344343433233132243112411231222142224141223431314334212222222233441224214244141114231244321224223134433221114343234342221233122242123344314411344333213413124234313223432243312433341333321424411334222121232241412421313333133331232113121413121124124332131111231314114142132233332111432323321241134312112341142211322234433113221122434344221443332113344434211143411424241124113414113233441142314433134444314414132311112212424233321342444122244334432431324324213342343321112421222141333214413242321114121222112131432234333412134114242424132212413334223433223342413124132313333123124244322333132232131341121143232243123123221211421434124423142332231212323321431213241333222211233344212442131321442421233412322143433243221132321333231444143413243212431242422223413433323 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424344213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444334221431231331443131231242434214231122111233141122133114343412231222414243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333231244233411143233241242222133121242314332231222242344314333114134112131323424422131144312412321441222223422222313342442241422232334131113111444443132122323124234231122341232334133224144143232221324441113114333333432422342112241212313211244431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432423111222243223422231412132431112422312331234344311343113331434423141343123231131314112123144321133112223243112342111342232344331124213313332414431314131241132224413443111433443122321313323422223233231331244311421424211313443114333221343322214233322422413224232132321221222112432113211332342233144434211333341413222422422323311343311232423122313321333132244344122423421242222411123223222312443442131334342143141333122331431411412141232321422342324312321324341224433311132432411413322131241144443113443242321224414112342421122142142432234413432232131233221332232221322234422221344342113432341332222211444434142443221311421333133342431213421233433324122142114121211411432131312334324444324412233334414431423432431242333412244311411242342233114133412131411341123322311311212332432133322111241124422433221121111421112114311142121412124132223433421313432442313434211222233132223433222134123323232234243123332232214344431123211114112442332111333333242221122241443313124121413332433241212232321342322342322222321131124331312332442132131431214322142322412331214234133234224134242333312413433122113444141442312344311313342342433122142343411311312243143434321213213341413212232444133223412343113412123231441221112244444213121444131131342241312432334311133132343441424214212131331313434321432312221313334234221322122421412424332441212311121433124434431322132232113241324134333324224344231412211331124322344000000000001000000000000000000000000042311432321431433122322241232141242114231244332322441241334322121432232132421321343422344114422134133424443444411433323334444313332122133314231112332131333433241443142313222242432233442242311323441221223213324323443323312241213214322434233431221242122433111311413214332314342443132422324434222322143212334144122323234322241334132243143331344222222212433222412422342431143112231412342422223212323223411223414312133134322134444231323213131211332133143443324212323122334323332133313223214344234241113141214213333432312334324234113343322423421244111132344313211312323312244234333343414443423414424343133344232134143134413413223334414231323432334222331243311143421222223334413243231412424143133331214432243433344331321222313334343341324323334311121421221434314311133123311434314434332441214341411212443111212223411242124223134214333334143213313143342113431121321342432114433333131123413422414232312243214414122114441433322233323333141221213233412114333124321431424433313432432143111324332134341123242222321233124112332333223412114321114312442121344313141443112233324342112432223232222332334333211222412333132244443114441413221421214312331124323124341132333231413121324222211224131332431213221343432442443243234412342222131312321222132412333213114341122243224242332344312131423213422113333223324232223323231221243123312232113312333333321442222313313343122331122323341111122121244223423323242334341241232112322323313331232432342123232132141111331221134312233324312322132132224132324122112423241331344331241323334213121211322131333321431333211223100000000000001000000000000012344123212411341413212422223124134321213323344331334231241321121314341434142324344324441231443141321000000000000000000000000000000000000100000000000000000000000000001222341333134333214333112444432211121113233331432244242314113341322223331144343124233322311332223242422232112321111133334144224312221414444312321333132413141143123243422123424234432412331134233313441232433231332332414143312331131111232113241441312214323132332211322411122122343411343414234141321242333333213142324332233343144214234332414224113242422124311143121231212121322422213411242443233234332314234231214233211133314321313344332212231332224131223123242223132133214331343441333124232432232124333224424422233323143124232224112341124434112234243433333243223134312142331232221433114441212323234232334213131421421324441441233234213444114123333334224222331222223233223132334434122321231122233434243434334323432322342112223412124142322444323232142233222132224131411443443221121313133121123222241432141331311132242423442431312413134341424222114221331321122343333243233222311344213142132231414414212241133231334324424421441211323232331231331214143444331431123213211111214113213121224334421434412231413214311314322234244221334212332324124144141141122241323343422312333122243143441421421122423344141414233432334111121214332122134222232143433222243212421324414224421132331121432413424000000000000000000001000000000000000000000000332132442342123444443434323442124112434231331233100001000002211412112114233423200010000000000000242334333312143122211411141332341212112331312333231443324314423422314113123221334321342341214113443321422341434311141123423134212223231413313411214131143434144122422134332322442132121122411443314421334231213234223224124211214332111234422222233413222414344341114233244321224223212233221132122233312243433242432113134114411324133213413124234313223432243314223133332321422211334224121232241412421313313133311212113121413121124124334332111232314114122332233332111432143221241124312412341142211342244434113443332314322421113334223344414413141243222443324133111111414443141314431332224234432334331334434112331121342434122444334432431324322211342341321112421222141333412434323133331331212314333314112133313432312422424132412413132313213423342412124132311333243242444322333132232131341121143234243123123423211421234344443142334212211123322231143223333224233233244232233313341434141233431444123241331422312131441331444121344243212431242422223413433323 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424344213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444324221431231331443131231242434214231122111233141122133114343412231222444243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333233244311223231431313423442211321442314113112222224221123341314312444213121212343133222141422141213342432444242321242422243342232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112241212311232434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422222424142231112442332331232344311424113331132421341343323231131322312123123121433132243243112342111342232344131124213313332214431314131221314424411143111433443122321313323422223233231331244311421424211313443111333221343322232333322222443242232342341421222312332113211333322433144434211333341434222142422323311343311232423122313321333132244344122423421243222411123223222312443442131334342143141133122331431411412141232321422342324312321324341224433311132432411413322131241144443113443242321224411112342421122142142432234413432232131233221332232221322234422221344342113432341332222211444434142443221312421333133342431213421233433324122142114121211411432331312314322344324212233334413431443432231244333412232143334422413441432311313314223413441333124231231214432311133311322144324233221121111421112114111142121412124132223433421313432442313434211222233132223433222134123323232234243123332232214344431123211114112442332111333333242221122241443313124121413134433224212412342142322342141222123311342131121112321122133433214224122242212311214334133234224134244423112233214222211344143224114222132411114324333322124131231133432241343434321213213341233134232443123222112344113412323212223433311222242211342221342333321331144122311143323313341123411421244333231131434321432312221333134232421112124423414421112444434143323213434212122324132232113241324134333324224344234413411131144124132000000000000000000000000010000000000042333132123231434312344441423123244114231244312322243423332422131432242132421321343422344114422134133424443444411433323334444313332122133314231112332131333433241443142313222242432233442242311323441221223213324321341323344242213214342444233233221242322433111333413231314332321223334224144214444334331231314144122343234322241334132441124441224242214322233222412422334313323143113222124442443424114243332243111134333334322134444231323213131211332133143443324212323122334323332133313223214344234241113141214213333432312334424244111343322244223431332314144333143342141234422412433421214444243314344123333344232134143134443413223334414231323432334222331243311143421222223334413243231412424143133331214432243433344331321222313334343341324323334311121421221434314311113121311424334434332441214341411212343111212223411242124223132234333334143213313143342113431121321342432114433333131123413422411434312223214414122114441431324314111321143243211433214332333344143433221233313432222132432343134314321123222232141333344112332131343231332333314132122121344313123423332233124124112433243332222332334333213222432333132444443313421231443241422344234344411142123113313241441344442422213224131331231233221343432442443243234412342222131312321222132412333213114341122243224242332344312131423213422113333223324232223323211221243123312232113312333333321442222313313343122331122323343111122121244223423323242334341241232112322323313331232432342123232132141111331221134312233324312322132132224132324122112423241331344331241323334213121211322131333321431313211223100000000000001000000000000012344123212411341413212422223122134321213323344331334231241324141314341232142121344324441231443141121000000000000000000100000000000000000000000000000000000000000000001231122313134144214333112243434211124332231331412244222314113341322243331144113124233342311332223242422232112321111132334144224314221414444312321333132413141123123243422123424234432412331134233313441232413213132334414143314333131111232113241441312214323132332211322431122122343411343414234141321242333333213142324332233343124434134132312223311311224122313143321231214321323443433311221443233224134334232211434233212333314211131344332232431232224133243323242223132131214413343421333114234232232124313424222422231221143144232224132341334434212232243433314421442314312142131232221433134441212323234232332213331421221323443231133234213244114121433334224422331222223233223332334433122321221122223434243434333323432323342132223312122142124234324232142233122132222131441421243243123413133121123242241434121131331112242423442233342413134341342143312222311321122343333243233222311344213142132231414414212241133231334324424421441211323232133231131214143444131411123331311131412333213343221322421232232234413414333314224234244421344234321324124124141141122241323343422112113122421323424421421122423344141314233432334211121212432334114221321133431222243212421324414224133332332122412321222000000000000000000000000000000000000000010000312132422144241444421434343444342144234231313213100100000002411414144412211223200000000000100000142134333312343124411311121332343242112311312133231134144144423422314113123221332321342341214113443321422341434311141123423134212223231413313311214131143434144142222334332322424132121122411443314221334233231222142412341223234132111434222214413441224234244323234121442313412441212234223112343414144221413242232313134114324124311413233442433344441234421234231141333321444411114222141232243412421333333133311111143121413123124124332332213432334214322114223332111432143221421124311442223344233342234414313223322314324421143334223344414413143411422241112333114111414443141312431332224234432334332334434112311141122234242422412244431424332213322343343122421222121411214413242321114121222112111432234333412134114242424132212413334223433223342413124132341333123124244322332133212131441123143234421144123423212441234344443142334212211123322231143223333224233233244232233313341434141233431444143241331422312131441331444141313323212431442422223413433323 31311341113321141322213214224243221133442433222134121434142114423123121243332323132443344332233314241231111214343331234343233434222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322244322132212432133442223342314334411332433223223321212113244143313443132121112342323141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444334221431231331443131231242434214231122111233141122133114343412231222414243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333231244233411143233241242222133121242314332231222242344314333114134112131323424422111144312412321441222223422222313342442241422232334131113111444443132122323124234231122341232134133224144143232221324441113114333333432422342112241212313211244431124124141234333114122332234113111144231331333132232443432124111322233322134124331223232343432223111222243223422222424142231112442332331232344311424113331132421341343323231131322312123123121433132243243112342111342232344131124213313332214431314131221314424411143111433443122321313323422223233231331244311421424211313443111333221343322232333322222443242232342341421222312332113211333322433144434211333341413222422422323311343311232423122313321333132244344122423421243222411123223222312443442131334342143141133122331431411412141232321422342324312321324341224433311132432411413322131241144443113443242321224414112342421122142142432234413432232131233221332232221342234422221344342113432341332222211444434142443221312421333133342431213421233433324122142114121211411432331312314322344324212233334413431443432231244333412232143334422413441432311313314223413441333124231231214432311133311322144324233221121111421112114311142121412124132223433421313432442313434211222233132223433222134123323232234243123332232214344431123211114112442332111333333242221122241443313124121413134433224212412342142322342141222123311342131121112421122133433214224122242212311214334133234224134244423112233214222211344143224114222132411114324333322124131231133432241343434321213213341233134232443123222112344113412323231441221112244444233121444331131342243312431314311133132343441424214212133223311432341432312111333334234242322312431312124331321432141323433124434432342132232113241324114333324224344434413411331124122332000000000000010000000000000000000000042311432123211334312344441422121114134231244332142211241112342233424432332113123141441344114222332341224321224211411223234444311314322133242233322312121113431231413142333322242432241422223313423321433231233122123441333314322222233124234233233221242322433111333413231314332321223334224144214444334331231314144122343234322241334132441124441224242214322233222412422334313323143113222124442443424114243332243111134333334322134444231323213131211332133143443324212323122334323332133313223214344234241113141214213333432312334424244111343322244223431332314144333143342141234422412433421214444243314344123312222432132142124243314223332411213322431332222413421434421341222223334231223131411222141331131231414121242324312124224413134221221314323112223321221413434334311113121311424332434332441214321411212343111212223411242124223132314333334143213313143342113431121321342432114433333131123413422414232312223214414122114441433322233323333141221213233412114333124321433221231113432222133432343134314321123224232141333344112332131323231332333314132122121344313123423332233124124112233443232322112334333213222412331334444441314441413221421214312331122323124341132333231413121324222211244111332431213221343432442443243234412342222131312321222132412333213114341122243224242332344312131423213422113333223324232223323231221243123312232113312333333321442222313313343122331122323343111122121244223423323242334341241232112322323313331232432342123232132141111331221134312233324312322132132224134324122112423241331344331241323334213121211322131333321431333211223100000000000001000000000000012244123212411341413212422223124134321213323344331334231241321121314341434142324344324441231443141321000000000000000000000000000000000000100000000000000000000000000001222341333134333214333112444432211121113233331432244242314113341322223331144313124233322311332223242422232112321111133334144224312221414444312321333132413141143123243422123424234432412332332432413412232413413312332414143312331131114233113241411312214343332322213222314142123141211343414224123121142133333213142324332233343144214234332314244313242422124311121141221214141322422211313442444434223332312232231213213132133314321313144332434231332222133221323242213132131214413343421313124232232232124333224222422231321143124212234132341334434212232243433314421242134312142341232221433132441212323234232334213131421421333443233133234213244114123433334224222331222223233223332334434122321221122223434243434334323432323342132223312122142122434324232142233122134222331441443423221323413333143323222241432341331311132242423442413342413112123344222114222313141122343313241331144442122431143112213412414214242121433114112224221441211323232331231331214143444331431123213211111214113113121224332421434412231411234331314224234244421344234322324124122213341122343323344322132333222421323424421421122423344141434213431314213321214332122134222232131331222441112244342432424133332332122414321422000000000000000010000000000000000000000000000332132442344241444421434323444122142434231313233101000000002211414114112231423200000000000010000142134333342144142211423243134443441244132134313313434144144423422314113123221334321342341214113443321422343434311141123423134212223231413313411214131143434144122422134332322442132121122411443314421334231213234223224124211214332111234422222233213222214344341114231244321224223134434223132343414144221413242232313134114324124311413233442433344441234421234231141333321444411114222141232243412421333333133331232113121413121124124332131111231314114142132233332111432323321241134312112341142211342244434113443332314322421113334223344414413141243222443324133111313234241122312433134244214432324332334434112311141324232242422412244431424122431222121321112431244441333412434323133331331212314333314112133313432312422424132412413132313213413342412124112311333243242244322333132232111441123143234421344123223212421234344443142334212211123322231143223333224233233244232233313341434141233431444123241331422312131441331444141313323212431442422223413433323 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222423124223432133421241311231133112331242132133142323144431443133344123211223414332444423324332321322412432133242223342314334411332431243223321212113242123313423132323132321123141434424144213311312413123123112332123231233241332441443411342241242113131124111331232434422214323442122134131431432341444342443334221231231231443131231242434412231322111233141112133114343421233222441241312113224214142122434242331423324122221323142414342234114112113144233333232233433111432421323334111412242223313331244313223233431313423442211321442314113112222224221324341314312444213121214323133222141422143213342223422222313342442241422232334131113111444443132122323124234231122341232134133224144333232223324441113114333311232422344112241212311232434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412132431112422312331234344311424113331432421141343323231131322312123123121433132241323212142113322232342112223113132344224433314331221314224413443111433443122321313323422223233231331244311421424211313443111333221343322232333322222443242232342341421222312332113211333322433144434211333341413222422422323311343311232423122313321333132244344122423421243222411123223222312443442131334342143141133122331431411412141233321422342314312323124343224233111432434433413144323123344443113133142121224414312142424242144144424212413432232121213241332232221342234422221324342113432341332224211444434142443221311121333133342231232221433413324344142131323211411432331312314322344324212233334413431443412413424333412232143334422413441432311313314223413441333124231231214232311333311322144324233221121111421112114111142121412124132223433421313432442313434211222233132223433222134123323232234243123332232214344431123211114112442332111333333242221122241443313124121413332433421212232421342142342142222123311342131121112421132133433214324142222432331212334113234224134242333334433214122113441441422312322112413112144321322124341213111314421322234323413233311213232412414321223432343313412343231423221112244444113121444331131342241312432334311333132143441224211212131323311412141212331221111312324421112124423412421312441434143323211422212122324314212333223324134333112444242424412211331124322344000000000001000000000000000000000000042311432321431433122324241232141242114231244332322441241334322121432232132121341141422344114422114133424443242411333343234424331332123133214231112132121113431441443342333222242432231442242111323443223223212322321341323344242213214322434233431221242122433111311413214332314342443132422324434222322143212334144122323234322241334132243143331344222222212433222412422342431143112231412342422223212323223411223414312133334322134444231323213131211332133143443324212323122334323332133313223214344234241113141214213333432312334324234113343322423421244111132344313211312323312244234333343414443423414424343133344232134143134413413223334414231323432334222331243311143421222223334413243231412424143113331214432243433344331321222313334343341324323334311121421221434314311133123311434314434332441214341411232343111212223411242124223132234333334143213313143342114411333311342432114233334131143413422214232112123432222324124441431324233323333141221213233412114333124321431221231113432222132432343134314321123222232141333344112332131323231332333314132122121344313123423332233124124112433243334222332314333213422412333132444241314421413221421224312331324323124341132333231413121324422213222231131231433421242434224221223321232122423111114323421312232111231332423342423422324411124144313443433242121234221323423433322211411241343334313331314341331141222222311333322322331122223121133342321422241423322222334141443242123113223123343434432322341214224323333333422334311213132334142132332222332342342312223141331344331241343334312341411324331331223414313231221310000000000000000000000000012244123114231141213212444223142134321411443142331314432241324121134341232142121344124411432243142323000000000000000000000000000000000000000000000010000000000000000001231122313134144214333112243434211124332231331412244222314113141322243131144142124233342311332223242422232112323111132334144224314221414434332341313332233121423123243422123424234432412332332432413412232413413312332414143312331131114233113241411312214343332322213222334142123141211343414224123121142133333213142324332233343124434134132412223311211224122313143321231214341323423433341221443233224134334232211434233212333314211131342332232431232224133243323242423132131214413341421333124234232232124313422222422231321143124232224132341332434212232241433333243223133432344343232233433132441234323234232334213131421421324441441233414413244114143423334223222331422223213223334334434122221421224222434241434314323232323442134223312122142322444333232144233222132222131441443443221121313133121123222241432321131331112242423442231312413134341424222114221131321144231131221213222311344213122312211214214222211333221332324444424411233131433331433111422331212321433221311331333434134231143441132223232414431211214111334322234244421344234122324124124141141122241323343442112313122421323424421421122423344141414233432334111121214332122134222232143433222243212421324414224421132331121432413222000000000000000000001000000000000000000000000332132442144243342421434323442322144234231313233100001000002411412112114233423200010000000000000242334333312143122211411141332341212112331312333231443324314423422314113123221334321342341214113443324422343434311141123423134212223231413313411214131143434144123244113113143122313344343433233132243112411231222142224141223431314334212222222233441224214244141114231244321224223134434223132343414144221413242232313134114324124311413233442433344441234421234231141333321444411114222141232243412421333333133311111143121413123124124332332213432334214322114223332111432143221421124311442223344233342234414313223322314324421143334223344414413143411422241112333134111414443141312431332224334432332312112212424233321342434121244334432431324324213342343321112221242441331244413242331331321212314313312212111423422132422342342212431112214233222142412124132111333243242414322333132232131311121143234243123143423211421234324423342432232232134221433211241333422211233344212232131321434421233412422143433243222312131441331444141313323212411442422223413433323 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322244322132233332334244223142324334411332431223223131212113242143313443132123112342123141434424144231134412431123343112332123233233241332421443411142441242113141124111331232434422214323442124131231433432341442322444334231232231331443134231242424214231122111233141122133114343412231222414243311333224212122122434241331233334124122323142414342231114112113144233333432133433131133221323334111412242223333233244311223231431313423442211321442314113112222224221123341314312444213121212343133242141412141213241232442242313342442241442222312143111434444143132322143334231421122341132134333224144133232241424441313114313313234422344112241411411211234411122324343411314112122434234133341344441331343333232441432132231144211122134122331123433333432423113422221233424331412142431412442332331444344311343113331434423141343123231131314112123144321133112223243112342111342232344331124213313332414431314131241132224411143111211244122111313343441221231221313444311421224213313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131313311232423124311323123314442144441223121423124133143221422314123244231133112411143331342333431341412341432323424142324112141322141224431311114212413113122131241342441113141122134122114112334124144142322424432431212212331233221332214323142312242423322221321214343132224433244314124424233111123113233442214133441213231324344422134121243411432331312334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231231214432311133311322144324233221121111421112114111142121412124132223433421313412442313434411222131142321221312432321141212211123322112413222144431131331134312424314331333122242221132241443333141323413332433241222232322344322342322222323331342132121112321134133243214324142222432331212334113234224134242333334433214122113441441422312322112413112144321322124341231133432241343434321213213341233134232443123222112344113412323231441221112244444233121444331131342343312431314311133132343441424214212133223311434341432312111333334234242322312431312124331321432141323433124434432342132232113241324114333124444244424412211131124122342000000000000010000000000000000000000042311432123211334312342441422121114134231244332122243423332342233424432332113123141441344114222332341224321224211411223234444311314322133242233322312121113431231413142333322242432241422223313423321433223212322341341323312241213214322432233211221244322433111313413214332314342443132422324432222322143212332144122323234322443134122423143331344222222212433222412422342431123112231412342422223212323223411223414312113321124312222231343211333133132413143244314444131312331322412412111221214324234223133313414213433232312334422234111141322423421244111132344313211312323312244234333343414244241414424343133344232134143134443413223334414231323432334222331243311143421222223334413243231411422141331131231414121242324312124224413134221241314323112223321221413434334311113121311424332434332441214321411212343111212223411242124223132314333334143213313143342113431121321342432114433234131321313424221434312223214414122114441431322233323333141221213233412114333124321431221231113432222132432343134314321123222232141333344112332131323231332333314132122121344313123423332233124124112433243334222332314333213422412333132444241314421413221221224312331324323124141132333231413121324422213222231131231413421242434224221223321232324433333132323222334412333213114341122241224242332342312131223213421113333223324222221123231221221343334313331334341331141222222311333322322331122323321133322143424223423323242334341241232112322323313331232432342123232132141111331221134322234324312322132132224132124122112423224331324331223123334333143223142143413321411313433241300000000000100000000000000031244323132233323211431422431142132123411441122111314432431141343334141234142121344324441431443142343000000000000000000000000000000000010000000000000000000000000000001221322333114144214323332233234411124132211331412244242314113341322223333144143124233322341332223242233214112331111133314144224314221414444312321313332233121122341233244331442242234231132332432313412232413413312332414143312331131114233333341443313214323312334413342311423123323411324431421121121242133333213142324332433343121411234332312223311311224122313143321231214321323443433311221443233224134334232211434233212333314211131344332232231232224133243323242223132131214413343421333114234232232124313424222422231221143144232224132341334434212234243433333243223134312142341232231433114441234323234432332311111421421323443231213234213444114123333334224222331222223233223132334434122321231122233434243434334323232323342132223312122142322444323232142233222132222111441443242221121313123121123142244434121111331112242423442413342413134341342143312222311321122343333243233222311344213142132231414414212241133231334324424421441211323232133231131214143444131411123331311131412333213343221322421232232234413414333314224234244421344234321324124124141141122241323343422112313122421323424421421122423344141314233432334211121212432334114221321133431222243212421324414224133332332122414321222000000000000000000000000000000000000000010000332132442344123444421434343442324112434231333233101000000002211414114112231223200000000010000000142334333312143122211411141332341212112331312333231443324314423422314113123221332321342341214113443321422341434311141123423134212223231413313311214131143434144123244113113143122313344343433233132243112411231222142224141223431314334212222222233441224214244141114231244321224223134433221114343234342221233122242123344314311344333213413124234313223432243312433341333321424411334222121232241412421313333133331232113121413121124124332131111231314114142132233332111432323321241134312112341142211342244434113443332314322421113334223344414413143411422241112333131133233441142112433334244314414132312112212424233321342434121244334432431324324213342343321112221242441331244413242331331321212314313312212111423422132422342342212431112214233222142412124132111333243242414322333132232131311121143234243123123223211421232124423142332231212323321431213241333222211233344212442131321442421213412322143433243221132321333231444143413243212431442422223413433323 31311341113341141322113214224243221133442423222134121434142114423133121243332323132442342314421144143222414432321423212143413434222223424424232133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444334221431231331443131231242434214231122111233141122133114343412231222414243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333231244233411143233241242222133121242314332231222242344314333114134112131323424422131144312412321443222232442242313342442241422432312133111434444143132322143334241423122341132132131224122133232221422241112114331313232422344112141432411211234411122344343411314112122434234133341344431331333132232443432124111322233144134124331213232343432423111222243223422231412132431112422312331234332111343131131412321141343323233131312112123144322133132223243214142131343232342112223113112334224433314331241132224433143111211244122111313343441221231223313234111423444211313441114333431343322232232322212343242232332323421222112332113211333322433144434214333341413222122222323331313311232423122313121323314422344121223421442242413143221422114421444131314112113241313122341411411412121233111422342121332321144343224213313432432433423144323123344413333143143121224431314342424242314144424212413432232133231221322132211322234444221324342113432141334424231434434122443221312421333133342434213421233433324122142114121411411132134312334122344314212233334414411423212433424333412232143334422413441432311313314223413441333124231231214432311133311322144324233221121111421112114311142121412124132223433421313432442313434211222233132223433222134123323232234243123332232214344431123211114112442332111333333242221122241443313124121413134433224212412342142322342141222123311342131121112421122133433214224122242212311214334133234224134244423112233214222211344143224114222132411114324333322124131231133432241343434321213213341233134232443123222112344113412323231441221112244444233121444331131342241312131314311133132343441424214212133223311434341432312111333334234242322312431312124331321432141323433124434432342132432113241324112313124223344424212211131324122342000000000000010000000000000000000000042311432123231334312324441422121214134231244332122243423332422131432242132421321343422344114422134133424443444411433323334444313332122133314231112332131333433241443142313222242432233442242311323441221223213324321341323344242213214342444233233221242322433111333413231314332321223334224144214444334331231314144122343234322241334132441124441224242214322233222412422334313323143113222124442443424114243332243111134333134322134444231323213131211332133143443324212323122334323332133313223214344234241113141214213333432312334424244111343322244223431332314144333143342141234422412433421214444243314344123312222432132142124243314223332411213322431332222413421434421341222223334231223131411222141331131231414121242324312124224413134221221314323112223321221413434334311113121311424332434332441214321411232343111212223411242124223132314333334143213313143342113431121321342432114433333131123413422411434312223214414122114441431324314111321143243211433214332333344143431424433313432432143111324332134341123242222321233124112332333223412114321314312442121344313141443112233324342112432223232222332334333211222412333132244443314441413221421214312331124323124341132333231413121324222211224131332431233421342434242443243234412122423111114323421312232111231332423342423422324411124144313443433242121234221323423433322211413241343334313331314341331141222222311333322322331122323323111122141242221421433222244121443244313323223124343414432322341214224123333333442324112233324312322332122244132324122112223141331344331241343334312341411322331331241211331231441100000000010000000000000000012244123134213341213212222431144132121411441122111132432431141341334141214334121322344441432243342121000000000000000000000000001000000000000000000000000000000000000001231342333134144214323332233234411124132211331412244242314113341322223333144113124233322341332223242233214112331111133314324442222221414444312323333334413143123321233224321422232232232332334212311242431231231332332313131212333131111233333241443313214323312334413342311423123323411324431424121121242133333213142324332233343121414234332414224343242422124311243321231414341323423433311221443233224334334232211434233212333314211131342332232431232224133243323242423132131214413341421333124234232232124313422222422231221143123232234132341334434212232243431314421442334312142341232231233134441214323234232332213131421221323443231133234213444114123333334424222331222223233223332334434122321221122223434223434334423432323342132223312142142132234324242142233222132222131441443443221121313133121123223241432341331311132242423442411344413112123444222114222313123444231131221213222311344213122312211214214222211333221332324442424411233131433331433111422331212321433221311331333434134231143441132223232412431211214111334342123424423342234322324342124141124314223241344322111311124421321424421421122423342141414233432334113342334313124233232222431311222241212421324414244421132332122432313222000000000000000000000100000000000000000000000332132442344223344421414322442324142434231333213110000000002411314114112231423200000000100000000142334333312144122211423241132341212242311132333231134144143223422312113144141112323223112414111243141413141432331241142212312432241442232133333432313324112324442422134332322442132121122411443314421334231213234223224124211214332111234422222233413222414344343134131442313412441212234223114343414144221413242232313134114324124311413233442413344441234421234231141333321444411114222141232243412421333333133311232113121413123124124332131111231314114142132233332111432323321241134312112341142213142234434313221122334324421443334213341434213143243422443312133111113233441142112433334244314414132312112212424233321342434121244334432431324324213342343321112221242441333412434323133331331212314333314112133313432312422424132412413132314213413342412124112311333243242244322332132232111441123143234421344123423212421234342443142334212211123322231143223333224233233244232232131321434421213412322143433243221132321333231444143413241212413242422241131223323 31311341113341141322113214224243221133442423222134121434142114423133121243332323132442342314421144143222414432321423212143413434222223424424232133421241311231133112331242132133142323144431441133213123211223412312244214322244322132212432133442223342314334411332433223223321212113244143313443132121112342323141434422144231134412431143343312332123231233241332441443411342241242113131124111331232434422214323442122134131431432341444342443334221231231231443131231242434214231122111233141122133114343412231222444243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333231244233411143233241242222133121242314332231222242344314333114134112131323424422131144312412321441222232442242313342442243342232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112241212311232434431124124141234333114122332234113111144243331343332232441412132233344231122134122331123233331232423113422241233444331412142431412442332331434344311343113331434423141343123231131314112123144321133112223243112342111342232344331124213313332414431314131241132224411143111211244122111313343441221231221313444311421224213313441114333423343121232333322222443242232342341421222312332113211333322433144434211333341413222422422323311313311232423122313321333132244344122423421223222411123223222312443442131334342143141133122331431411412141232321422342324312321324341224433311132432411413322131241144443113443242321224414112342421122142142432234413432232131233221332232221322234422221344342113432341332222211444434142443221312421333133342431213421233433324122142114121211411432331312314322344324212233334413431443432231244333412232143411422343233114133412131411341121422311211212334432311323311322144324223221313111421112114131242121234124132243443421313432443313434413222133134323233224132323321412211123322112413222144431131331134312424314331333122242221132241443333141323413332433241222232322344322342322222323331342132121112321134133243214224122242212311214334133234224134244423112233214222211344143224114222132411114324333322124131231133432241343434321213213341233134232443123222112344113412323212223433311222242211342221342333321331144122311143323313341123411421244333231131434321432312221333134232421112124423414421112444212311141433124434432322314414313423324112311112223342424212211331344124144100000000000000000000000000000000000042311432321431433122324241422121114134231244332122243423332422131432242132421321343422344114422134133424443444411433323333444313332122113314231112332131333433241443142313222242432233442242311323441221223213324323411333314322222233124234233411221242322433113313313214332312142441112422324434222322143212432344122323233321241334122243143331344222222212433222412422342431123112231412342422223212323223411223414312133334322134444231323213131213332433143443324212133112334323332433313221214344234241232111214213333412312334424234211343344244223431332314344333143342141234422412433421214443423414324323113342232132142122243314223332411213322431332222313421434421341424221314411221123411422143133331234232243433344331321222311334343241324323334311121421221434314311113123311434334434332441214341411212443111234223411243124323132214334334143213313143342113431121321342432114433333131123413422414232312223214414122114441433322233323333141221213233412114333124321433221231113432222133432343134314321123224232141333344112332131323231332333314132122121344313123423332233124124112433443232322112334333213222412331334444441314421413221421224312331324323124341132333231413121324422213222231131231413421242434224221223321232122423111114323421312232111231332423342423422324411124144313441433242121234421423423433322211411241343214212113312133333321442322313132223143313144222321333322121242221421433224234121443234313323323323141232432122321232132323333333221134312234324312322132132222332342122332423241333322311421121334313121223122143413323431331231221300000001000000000000000000012244343114213341211412224223342114341411443142333314412243341341332141414334324144342441431443142343000000000000000000000000000000000010000000000000000000000000000001221322313134334214333112444432211121113231331412244242314113341322223331144343124233322341332223242233214112321111133334144224314221414444312321333132413141143123243422123442242234231132332432313412232413413312332414143312331131114233113241411312214343332322213222314142123141211343414224123121142133333213142324332233343124434234132412223311211224122313143321231214341323423433311221443233224134334232211434233212333314211131344332232431232224133243323242223132131214413343421333124234232232124313422222422231221143144232224132341334434212232243433314421442314312142341232221433134441212323234232334213131421421324441441233414413244114143423334423222331422223213223334334434122221421124222434241434314323232323442134223312122142322444323232144233222132222131441443443221121312133141323242241432341331313311324223212231342413112123444142114241131321144231131221213222311344213122312211214214222211333221332324444424411233131433331433111422331212321433221311331333434134231143441132223232412431211214111311322234244421344234322324124124141141122241323343422112333122421323424421421122423344341414233432334211121214332122134422232143431222243212421324414224421132331121432413222000000100000000000000000000000000000000000000332132442144243344421432342324322142434231333233100001000002211312112114233423200100000000000000242334333342343224413323141332341212242331132313231134122144421334132213144121112343223111411111221121113121432333243142212312432241442232133333432313324112324422222134332322422112121122411231132221332231231222142412341223234132111434222212413441224214244341114233244321224223212233241132323414144221413242232311134114324124311413233442433344441234421234231341333321444411114222141232243412421333133133331232113121413121124124332131111231314114142132233333111132323321241134312112223322213344132433113221122334344421443334113344434241343411422241124113111131414443141312431332224234432334332334434112311141122234242422412244431424332213322343343122421222121331244413242331331321212314313312212111423422132422342342212431112214233222142412124132111333243242414322332132232131311121143234243123143223211421234324423342432232232134221433211241333422211233344212233313341434141233431444123241331422312131441331444141313323212431411342423413431321 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123112332123231233241332441443411342241242113131124111331232434422214323442122134131431432341444342443334221231231231443131231242434412231322111233141112133114343421233222441241312113224214142122434242331423324122221223344232342234114112113144233333432133433131133221323334111412242223333231244233411143233241242222133121242314332231222242344314333114134112131323424422131144312412321443222232442242313342442241422432312133111434444143132322143334241423122341132132131224144333232223324441113114333311232422344112241212311232434431124124141234333114122332234113111144243331343333232441412132233344231122134122331123233333232423113422241233444331412142431412442332331434332111343131131412321141343323233131312112123144321133112223243112342111342232344331124213313332414431314131241132224411143111211244122111313343441221231221313444311421224213313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131313311232423124311323123314442144441223121423124133143221422314123244231133112411143331342333431341412341432323424142324112141322141224431311114212413113122131241342441113141122134122114112334124144142322424432431212212331233221332214323122312242423322221321214343132224433244314122424233111123113233442214133441213231324344422134121243411432331312334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214432311133311322144324223221313111421112114331242121234124132243443421313432442313434211222233132223433322134123323232234243123332232214344431123211114112442314331333122242421132241443333141321413332433241212232321342322342322222321131124331312332442132131431214322142322412331214234133234224134242333312413433122113444141442312344311313342342433122142343411311312243143434321213213341413212232444133223412343113412123231441221112244444213121444131131342241312432334311133132343441424214212131331313434321432312221333334234221322122421412424332441212311121433124434432322132232113241324134333324224344231412211331124322344000000000001000000000000000000000000042311432321431433122324241232141242114231244332322441241334322121432232132121341141422344114422114133424443242411333343234424331332123133214231112132121113431441443342333222242432231442242111323443221223213324323443323312241213214322432233211221244322433111313413214332314342443132422324432222322143212332144122323234322443134122423143331344222222212433222412422342431123112231412342422223212323223411223414312113121124312222231343211333133132413143244314444131312331322412412111221214324234223133313414213433232312334422234111141322423421244111132344313211312323312244234333343414443423414424343133344232134143134413413223334414231323432334222331243311143421222223314411221123431422143133331234432243433344331321222313334343241324323334311121421221434314311113121311424334434332441214341411212343111212223411243124223132214333334143213313143342113431121321342432114433333131123413422414232312223214414122114441433322233323333141221213233412114333124321431424433323214434143132343312133141333142422323233124112334333223412134321112312442121122131321224334321123142332213223232332312334331213222432313122444441314441413221424224312331324323124341132333443213124324422241224131332431233423333432242443221234432324433333132323222334412333213114341122243224242332344312131223213422323333233344232223323211211423123214212113312133333321442322313132223143313144222321333322121242221421433224234121443234313323323323141232432122321232132323333333221134312234324312322132132224132124122112423224331324331223123334333143223142143413321411313433241300000000000100000000000000031244323132233323211431222431144112123411441122111314432431141343334141214334121342344441432243342121000000000000000000000000000000000000000000000000000000000000001001231322333134134414333112444432211121113233321412442442334231333432423321144143324213124314214133222433432112321143433114344442222234414434332321333132413141143123243422123424234432412331134233313441232413213312332414143312331131114233113241411312214343332322213222314142123141211343414224123121142133333213142324332233343121414114132312223311211224122313143321231214341323423433311221443233224134334232211214233211133314321313344332214231332224131423123242223132133214331343441333124212432232124333224424422231323143124232234112341124434112234243433333243223134312142341232231433134441214333234232334213131421421333443231133232213244314123433334224222331222223233223332334434122321221122223434243434334323432323342132223312122142122234324232142233122134222131441443242221121313123121123142244434121111331112242423442231312413134341424222114221131321144231131221213222311344213122312211214214222211333221334112224221441211323232331231131214143444331431123213211111214113113121224332421434412231411234331334224234244421344234322324124122213341122343323344322112333222421323424421421122423344141432433442313243342334313124233232222431333442241113241342332424421124112141412311222000000000000000000000000000100000000000000000332132442144243444421434323324142342434231333213100000000012211332142112113223101000000000000000242134333312113122211411141312343212242311132333231434144144423422314113123221334321342341214113443321422343434311141123423134212223231413313411214131143434144142222334332322424132121122411443314221334233231222142412341223234132111434222214413441224234244323234121442313412441212234223112343414144221413242232313134114324124311413233442433344441234421234231141333321444411114222141232243412421333333133311112143121413123124124332332213432334214321114323312131432141221422321131442223344233344132433113221122334344421443334113344434241343411422241124113111111414443141314431332224234432334332334434112311141122234242422412244431434332213322343143122421222121333412434323133331331212314333314112133313432312422424132412413132314213413342412114112311333243242244322332132232111441123143234421344123223212421232122423142332231212323321431213241333222211233344212442131321442421213412322143433243221132321333231444143413241412431242422223413433323 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312244423324332321322412432133242223342314334411332431243223321212113242143313223334323112121123141434134144431131412431121343112331123233233241312121444431342223444111431124111233232432244212123442122134131431432341444322443334221231231231443131231242434414231322111233143112133114343421233222441241312113224214142122434242331423324122221223344232322234113332313132242333232233433111432421323334111412242223333233244311223231431313423442211321442314113112222224221123341314312444213121212343133222141422141213342432444242321242422243342232312143311111244123132122323124234431122341132134133224122133232221422241112114331313232422344112141432411211234411122344343411314112122434234133341344431331333132232443432124111322233144134124331213232343432223111222243223422231412132431112422312331234344311343113331434423141343123231131314112123144321133112223243112342111342232344331124213313332414431314131241132224411143111211244122111313343441221231221313444311421224213313441114333421343322232333322222443242232342341421222312332113211333322433144434211333341413222422422323311313311232423122313321333132244344122423421243222411123223222312443442131334342143141133122331431411412141232321422342324312321324341224433311132432411413322131241144443113443242321224414112342421122142142432234413432232131233221332232221322234422221344342113432341332222211444434142443221312421333133342431213423233433324122142114121211411432331312314322344324212233334413431443432431242333412244311411242342233114133412131411341123322311311212332432133322111241124422433221121111421112114311142121412124132223433421313432443313434413222133134323233224132323321412211123322112413222144431131331134312424414331333122242221132241443333141323413332433421212232421342142342142222123311342131121112321132133433214324142222432331212334113234224134242333334433214122113441441422312322112413112144321322124341213111314421322234323413233311213232412414321223432343313412343231423221112244444113121444331131342241312432334311333132143441224214212131323311412143212331221111312324421112124423412421312441434143323211422212122324314212333223324134333112444242424412211331124142332001000000000000000000000000000000000042331432113414334312324244223141244111213441133342243221332444233432242132121341141422244134422114133424443244411333323214424331132143133214231112131122113431441443342333222242432231441242111321443223223212322341341323344242213214342444233233221242322433111333413231314332321223334224144214444334331231314144122343234322241334132441124441224242214322233222412422334313323143113222124442443424114243332243111134333334322134444231323213131211332133143443324212323122334323332133313223214344234241113141214213333432312334424244111343322244223431332314144333143342141234422412433423214444243314344123312222432132142124243314223332411213322431332222413421434421321222223314411221123431422143133331234432243433344331321222313334343241324323334311121421221434314311113121311424334434332441214341411212343111212223411243124223132214333334143213313143342113431121321342432114433233131123413422414232312243214414122114441433322233323333141221213233412114333124321433221231113432222133432343134314321123224232141333344112332131323231332333314132122121344313123423332233124124112233443232322112334333213222412331334444441314441413221421214312331122323124341132333231413121324222211244111332431233421242434224221223321232122433111114323421312232111231332423342423422324411124144313441433242121234421423423433322211411241343214212113312133333321442322313132223143313144222321333322141424223423323242334341241232112322323313331232432342123232132141111331221134322234324312322132132222332342122332423241333322311421121334313121223122143413323431331231221300000001000000000000000000012244343114213341211412224223342114341411443142333314412243341341332141414334324344342441431443142323000000000001000000000000000000000000000000000000000000000000000001231122313134144214333112243434211124332231331412244222314113141322243131144142124233142311332223242422232112323111132334144224314221414434332341313332233121423123243422123424234432412332332432313412232413413132334414143314333131111233113241441312214323132332211322411122122343411343414234141321242333333213142324332233343124434134132414224113242422124311143121231212121322422213411242443233234332314234231434233212333314211131344332232431232224133243323242423132131214413341421333124234232232124313422222422231221143144232224132341334434212232243433314421442334312142341232231433132441234323234232334213131421421333443233133234213244114123433334224222331222223233223332334434122321221122223434243434334323432323342132223312122142122434324232142233122134222331441443423221323413333143323242241432341331311132242423442231344413112123444222114222313141122343313241331144442122431143112213412414214242121433112324444424411233131433331433111422331212321433221311331333434134231143441132223232414431211214111334322234244421344234122324124124141141122241323343422112313122421323424421421122423344141414233432334211121212332334114221321133333222243212421324414224421132331121432413222000000001000000000000000000000000000000000000332132442144243444421412242324122112434233333233100001000002211412112114233423200000010000000000242134333314113124411311121332341242242311132333311134144144423422314113123221334321342341214113443321422343434311141123423134212223231413313411214131143434144142222334332322424132121122411443314221334233231222142412341223234132111434222214413441424234244323234121442313412443112234223112343414144221413242232313134114324124311413233442433344441234421234231141333321444411114222141232243412421333313133311212113121413121124124334332111232314114122132233332111432143221241124312412223322213344132433113221122334344421443334113344434241343411422241124113131111414443141312431332224234432334332334434112311141122234242422412244431424332213322343343122421222121333412434323133331331212314333314112133313432312422424132412413132313213413342412124112311333243242244322333132232111441123143234421344123223212421234322443142334212211123322231143223333224233233244212233313341434141233431444123241331422312131441331444121344241413213242422223133223323 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124434342223444443434342332213422142424214123442124131131431432341424322444334221431231331443131231242434214231122111233141122133114343412231222414243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333233244311223231431313423442211321442314113112222224221123341314312444213121212343133222141422141213342432444242321242422243342232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112241212311232434431124124141234333114122332232113111144231331333132232443432124111322233144134124331213232343432423111222243223422231412132431112422312331234344311343113331434423141343123231431314112123144321133112223243112342111342232344331124213313332414431314131241132224411143111433443122321313323422223233231331244311421424211313443111333221343322232333322222443242232342341421222312332113211333322433144434211333341413222422422323311343311232423122313321333132244344122423421243222411123223222312443442131334342143141133122331431411412141232321422342324312321324341224433311132432411413322131241144443114443242321224114112342421122142142432234413432232131233221332232221342234422221344342113432341332222211444434142443221312421333133342431213421233433324122142114121211411432331312314322344324212233334413431443432231244333412232143434422413441432311313314223413441333124231231214432311133311322144324233221121111421112114311142121412124132223433421313432442313434211222233132223433222134123323232234243123332232214344431123211114112442332111333333242221122241443313124121413134433224212412342142322342141222123311342131121112421122133433214224122242212311214334133234224134244423112233214222211344143224114222132411114324333322124131231133432241343434321211213341233134232443123222412344113412323212223433311222242211342221342333321331144122311143323313341123411421244333231131434321432312221333134232421112124423414421112444434143323213434212122324132232113241324134333324424344234413411131144124132000000000000000000000000010000000000042333132123231434312344441423123244114231244312342211241112342233424432332113123141441344114222332341224321224211411223234444311314322133242233322312131333433241443142313222242432233442242311323441221223213324323443323312241213214322434233431221244322433111313413214332314342443132422324432222322143212332144122323234322443134122423143331344222222212433222412422342431123112231412342422223212323223411223414312113121124312222231343211333133132413143244314444131312331322412412111221214324234223133313414213433232312334422234111141322423421244111132344313111312323312244234333343214443423414424343133344232134143134413413223334414231323432334222331243311143421222223314411221123431422143133331234432243433344331321222313334343241324323334311121421221434314311113121311424334434332441214341411212343111212233411243124223132314333334143213313143342113413333311342432114233334131321411222221434312243214414122112421431322213123331331221213211414132333322123433221231113432222133432343134314321133224234341333344112332131323231332333314132122121344313123423332233124124112433443232322112334333213222412331334444441314421413221421224312331324323124341132333231413121324422213222231131231413421242434224221223321232122423111114323421312232111233332423342423422324412124144313441433242121234421423423433322211411221343334313331334341331141222222331333322322331122223121133342321422241423322222334141441242123113223123343434432322341214224323333333422334311213132334142132332222332342144332443241333122333421123312333121411322331333223411313231241110000000000000000000000000012344123114231141213212444223144134321411443142331314432241324121134343234142321344124411432243142321000000000000000000000000000000000000000000000000000000100000000002231342113134134214333112444432211124132211322412442442334231333432423321144113341213122314214133222433432112321113433114144242312234414444312321333332233121422321431224321222432222232332334212311442232413413312332414143312331131114233113241411312214343332332233324311122143341211344431421121121242133333213142324331233343144214234332414224113242422124311143121231212121322422213411242443233234332314234231214233211133314321313344332212431332224131423123242223132133214333343441333124212432232124333224424422233323143124232224112341124434112234243433333243223134312142331232221433134441212323234232334213131421421324441441233234213244114123433334224422331222223233243132134414122321221122223414243434134321432322342112223412124142322444323232142233222132222111441443242221121313123121123142244434121111331112242423442233342413334343424223114421131321144331131221213222311344213142112211414414212241133231334324424421441211323232331231331214143444331431123213211111214113213121224334421434412231413214311314322234244221334212332324124144141141122241323343424312333122243143441421421122423344141414233432334111121214332122134222232143433222243212421324414224433332332122414321222000000000000000000000000000000000100000000000312112442144241344421434322442324142434231113213110000000002211414144412231413200000000001000000142134333312144122211423241134343441242131134332311434144144423422332213144221132341322141434111243141113141432331241142213312432241442233313331232113343434144423244113113143122313344343433233132243112411231222142224141223431314334212222222233413222214344341114231244321224223134433221134123414144221413242232313134114324124311413233442433344441234421234231141333321444411114222141232243413421333313133311212113121413121124124334332111232314114122132233332111432143221241124312412223322213344132433113221122334344421443334113344434241343411422241124113111113214443141312431332242231232324332334434112311141324232242422412244431424122431222121321312221224141331244413242331331321212314313312212111423422132422342342212431112214233222142412124132111333243242414322333132232131311121143234243123143423211421234322443142334212211123322231143223333224233233244212233313341434141233431444123241331422312131441331444121313323212433442422223413433323 31311333111143323142211224224243221133442423222134121422342114423123121222212323123142344312233344213231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223142314334411332431223223131212113242143313443132123112342123141434424144231334412431123343112332123233233441332421443411142441242113141124111331232434422214323442124131231433432341442322444334231232231331443134231242424214231122111233141122133114343411133441214423312133422114422322432242331423334322221223144232342231133332313144232333232133433131133221323334111412242223333233244311223231431313423442211321442314113112222224221123341314312444213121212343133222141422143213342432444242321242422243342232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112141432411211234411122344343411314112122434234133341344443331343332232441412132233344231122134122331123233331232423113422241233444331412142431412442332331434332111343131131412321141343323233131312112123144322133132223243214142131343232342112223113112334224433314331241132224433143111211244122111313343441221231223313234111423444211313441114333431343322232232322212343242232332323421222112332113211333322433144434214333341413222122222323331313311232423122313121323314422344121223421442242413143221422114421444131314112113241313122341411411412121233111422342121332321144343224213313432432433423144323123344413333143143121224431314342424242314144424212413432232133231221322232211342234444221324342113432141334424231434434122443221312421333133342434213421233433324122142114121411411132134312334122344314212233334414411423212433424333412232143334422413441432311313314223413441333124231231214432311133311322144324233221121111421112114111142121412124132223433421313432442313434211222233132223433222134123323232234243123332232214344431123211114112442332111333333242221122241443313124121413332433241222232421342142342142222123311342131121112321132133433214224122242212311214334133234224134244423112233214222211344143224114222132411114324333322124131231133432241343434321213213341233134232443123222112344113412323231441221112244444233121444331131342243312431314311133132343441424214212133223311434341432312111333334234242322312431312124331321432141323433124434432342132232113241324114333324224344434413411331124122332000000000000010000000000000000000000042311432123211334312344441422121114134231244332122243423332422131432242132421321343422344114422134133424443444411433323334444313332122133314231112332121113431231413142333322242432241422223313423321433231233122123441333314322222233124234231211443132344212441313413214332314342443132422324434222322143212332344122323234322241332334443343331344222422213433222412422342431123112231412342224223212323243411243114312113321124312222231323211333133132413143244314444131312331322432412111221214324234221133113414213333432312342324434111313124244221431332314342331143342141234422412411423414444243314344123312222432132142124243314223332411213322431332222313421434421341222223334411223131411222141133131234432243433342131321222413314221241314341332321321421411432312111313123333433134232312224234343433312443113212423233323242221232234334331142313333341322334431121321342432114433234131123413422214232312143432222324124421431324314111321143243211433214332333344143431424433323214434143132343312133141333142422323233124112334333223412134321112312442121122131321224334321123142332213223232332312334331213222432313122444441314441413221424224312331324323124341132333443213124324422241224131332431233421333432242443243234412122423111114323421312232111231332423342423422324411124144313443433242121234221323423433322211411241343334313331314341331141222222311333322322331122323321133322143442221423423122334341423242113313322323343432432323341234224323333331221122312213132334142132332222332342142332443241333122333421121312333121411322331333223431313231221300001000000000000000000000012244144114231341213212424223342134341411443142333314412243324341332343214334324344324441431443141323000000000001000000000000000000000000000000000000000000000000000001231122311134144214333112243434211121332231331412244222314113341322243131344142124233142311332223242422232112323111132334144224314221414434332341313332233121423123243422123424234432412332332432313412232413413312112333333312333131111223113241441312214323332332233324331122143341211324431421121121242133333213142324331233343144214134332414224113242422124311143121231212121322422213411242443233234332314234231214233211133314321313344332212431332224131423123242223132133214333343441333124212432232124333224424422233323143124232224112341124434112234243433233243223134312142341232221433134441212323234232334213131421421324441441233234213244114123433334224422331222223233243132134434122321221122223414243434134321432322342112223412124142322244323232142233222132222111441443443221121313133121123223241432341331111132242423442411312413132343342143312222313141122343333243233222311344213142132211414414212241133231334324424421442211323232341211131214143444331431123213211111214133213121224332421232412231413234313314322234244221334212332324124144141141122241323343424312333122243143441421421122423344141414233432334111121214332122134222232143433222243212421324414224433332332122414321422000000000000000000000000000000000100000000000311112442144241344421414322442124142434231133213110000000002411314114112231213200000000010000000141334333312143122211411141334341212112331312333231443324314423422314113123221332321342341214113443321422341434311141123423134212223231413313311214131143434144123244113113143122313344343433233132243112411231222142224141223431314334212222222233441224214244141114231244321224223134433223134343414142221433242232113134114411344333213413124234313223432243312433341333321424411334222121232241412421313313133331212113121413121124124334332111232314114122132233332111432143221241124312412341142211342244434113443332314322421113334223344414413141243222443324133111313234241122312433134244214434132312112212424233321342434122244334432431324324213344343321112431244441411214433242131331333213114131432234333412134114242424132212413334214233223342413124132111333243242414322333132232131311121143334243123143223211421234342443142334212211123322231143223333224233233244232233313341434141213431444123241331422312131441331444121344243212431242422223413433323 31311341113341141322213214224243221133442423222134121434142114423133121243332323132442342112221342243121414234321323412123233434222423424223432111411241311211311314311243332233124323344434443133344123211211414334244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321121141434424144231134412231123343112331123233233241334421443411342241242113131124111331232434422214323442124131131431432341442322443334231232231331443131231242434214231122111233141122133114343422231222441241312113224214142122434242331423324122221223344232342234114112113144233333432133433131133221323334111412442221313331244313223233431313423442211321442314113112222224221324341314312414213121214323133242141412141213241232442242313342442241442222312143111434444143132322143334231421122341132134333224144333232241424441313114333313232422344112241412311411234414322324341211133114141322234333313144241111143132232423432124111322233122134122331223232343432423111424223223424231412132431112422312331234344311343113331434423141343123231131314112123144321133112223243112342111342232344331124213313332414431314131241132224411143111211244122111313343441221231221313444311421224213313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131343311232423124311323123314442144441223121423124133143221422314123244231133112411143333342333431441412341432323424142324112141322141224431311114212413113122131241342441113141122134122114112334124144142322424432431212212331233221332214323142312242423322221321214343132224433244314124424233111123113233442214133441213231324344442134121213411132134312334322344314212233334414431443412413424333412244311411422413441432311313311223413441333324231212332432113323111241344422223221123111421112114331142121214124132223443421313432443313434411222111142321221312432321141234114223323132213214344431131231312112142312111333132242241131221423314344321413114423224212212342142322342142222123311342131121112421122133433214324142222412331214234133234224134242333334413433124113444141442312322112413112124333322124131231133432241343434323433413314233134232443123222112344113412323211223433311222242211342221342333321331144122311143323313341123411421244333231131434321432312223333134232421112124423414421112444432141323433124434432142314212313223324132313112223332424212211331144324344000000000000000000000001000000000000042311434321431423121224241223141242311213441132342243221332444233432432132113123141441344114222332341224321224211411223234444311314322133242233322312121111211434441144132221431333233422123313423321433231233122123441133314322222233124234331211221242344212111311413214332312342423132422144214422332133231314124122323234322243134122441123431342242214312433222412422334313323143113222124442443424114243332243111134333134322134444231323213131211332133143443324212133122334323332433313221214344234241132111214121343232312334422234111141322423421244111132344313211312323312244234333343414243441332323323333322231314342324211434214132444233333411112424333243431441443222223334413223231411422143133331214432243433344331321222313334343241314323334311121421221434314311113123311434314434332441214341411212443111212223411243124223132214333334143213113143342113431121321342432114433334131123411222224232312223214414122112421431424314111321141243211433214332333344143431221231313432422133432343134314324123222232141343344112332133223231332333314132122123344313141423132233144342112433223242222332334333211222412133132444441114441413221421214312331324321324341132333231413121324442213424131131213213421342432242443221234412342223111114323421312232111231332423342423422324411124144313443433242121234221323423433322211411241343334313331314341331141222222311333322322331122323323111122121242221421433222244121443234313323223124343414432322341214224323333333442334112233324312322332122244132324122112223141331344331241343334312341411322331331241211331231441100000000010000000000000000012244123132211341213231222223142134321411343142331312412241341121134341232142121344124441431443141323000000000000000000100000000000000000000000000000000000000000000001231122333134134214334312444432231341113231131212244242334113341322223331144143124233322341332223242233214112321111132334144224314221414434332321333132413121422321431224321222432222232332334212311442232413413312112333333312333131111223113241441312114323332232233324311122123341211324431421121121242133333213142324332233343144414233332414324313242422334311143123233234143342422413311442443233224332314242231414431212133114321313344312234231332224131423121242221132131244413343221333124234234212124313422222422231321143124212234114341324114212242443133314421442134312142341232231233134441234323234232332213131421221323443231133234213244114123433234224222331242221233223132334434122321221122223434243234134323232323342132223312322132322444323232312233231312322133443421243243323413334143321222241432341331313312222423442233342413112123444142114241131321144231131221213222311344213122313211214214222211333221332324444424411233131433331433111422331212321433221311331333434134231143441132223232412431211214111311342123424423342234322324342124141121312223241344322111311124421321424421421122423342141414233432334111121214332122134422232143431222243212421324414224421132331321432413424000010000000000000000000000000000000000000000332132442344143444441412342344342342434221133233100010000002211312112112213213210000000000000000242134143112143124411311121332343212112311312133231134144144423422132213144221134341323111411111221121113121432333243142212312432241442232133333432313324112324443244113113143122313344343433233132243112411231222142224141223431314334212222222233413222214322341114231244321224223134433241132123414144221413242232313134114324124311413233442433344441234421234231141333321444411114222141232243412421313333133311212113121413321124124334332111232314114122132233332111432323321241134312112341142211342244434113423332314324421113334223344434211341243222443324133114113234241122312433134244214432324332334434112311141324232242422412244431434122431222121321112431244441411214413242321114121222112111432234333412134114242424132212413334223433223342413124132341333123124244322332132232131341123143234421144123423211421234324423142332232212123221431211241333222211233344212233311321434421233412322143431243221112121333343434141344241212213242422223133233113 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123112332123231233241332441443411342241242113131124111331232434422214323442122134131431432341444342443334221231231231443131231242434412231322111233141112133114343421233222441241312113224214142122434242331423324122221223344232322234113332313132242333232233433111432421323334111412242223333231244233411143233241242222133121242314332231222242344314333114134112131323424422131144312412321443342432444242321242422243342232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112241212311232434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412132431112422312331234344311343113331434423141343123231131314112123144321133112223243112342111342232344331124213313332414431314131241132224411143111211244122111313343441221231221313444311421224213313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131343311232423124311323123314442144441223121423124133143221422314123244231133112411143331342333431341412341432323424142324112141322141224431311114212413113122131241342441113141122134122114112334124144142322424432431212212331233221332214323142312242423322221321212341132224433244314124424233111123113233442214133441213231324122142114121211411432331312314322344324212233334413431443432231244333412232143334422413441432311313314223413441333124231231214432311133311322144324233221121111421112114311142121412124132223433421313432442313434211222233132223433222134123323232234243123332232214344431123211114112442332111333333242221122241443313124121413332433421212232421342142342142222123311342131121112321132133433214324143242414331214324133234224134242333334413433124113444143244332322112413112144321322124341213111314421322234321213213341213132232444123222112344113412323412223433311222242211342421342333321331142122411143323313341123411421244333231131434321432312221333134234242323112431322144332441432141323433124434432142314212313223324132313112223332424412211331124142334000000000000000000000000000000001000042331432113414333312342444232141242111233244332342411241114342233424232332113123121422344114422134133424443244411433323234444411332122133214221112132321113431241213142333322242432241442242111323441223223213322123443333314242213214322434233233441142322433113333313214212312342441112422324434222322143212432344122323233321241334122441124443344242214322411422234344434333323143113222124442443424114243332242111312133334322134444231323213131211332433143443324212323122334323332133313223214344234241113141214213333432312334424244111343322244223431332314144333143342141234422412433423414444223434424343133344232134143134413413223334414231323432334222331243311143421222223314411221123431422143133331234432243433344331321222313334343241324323334311121421221434314311113121311424334434332441214341411212343111212223411242124223132234333334143213313143342113431121321342432114233334131143413422214232112123432222324124441431324314111321141343211433214332333344143231424433323214434143132343312133141333142422323233124112334333223412134321112312442121122131321224334321123142332213223232332312334331213222432313122444441313421231443241422344234324411142123313313241441344442422113424133111211433421333432444221223321232122423111114323421312232111231332423342423422324411124144313441433242121234421423423433322211411221343334313331334341331141222222311333322322331122223121133342321244223423323242334341241232112322323313331232432342123232132141113331221134321413122332124132132224132324122112423141333122333241123334333121223122143413323431313211221300000000000010000000000000012244123134213341213212422431144132121411441122111132432431141341334141234142121322344441432243342123000000100000000000000000000000000000000000000000000000000000000001221322313134144214333112243434211124332231331412244222314113341322243331144113124233342311332223242422232112321111133334144224314221234434132321211334413143123321233224321422232232232332334212311242431231231332332414143312331131114233113241443313214323312234413342331122123341211143414221121131242133333213142324331233343144414134332312223311311224122313143321231214321323443433311221443233224134334232211434233212333314211131344332232431232224133243323242223132133214331343441333124212432232124333224424422233323143124232234112341124434112234243433333243223134312142341232231433134441214333231232332213131441241323443231213234213244314123433334224222331222243333223332334434122321221122223434243434333323432323342132223312122142124434324232142233122132222131441443443221121313133121123223241432341331311132242423442413344413112123444222114222313123444231131221213222311344213122312211214214222211333221332324442424411233131433331433111422331212321433221311331333434134231143441132223232412431211214111314342123424423342234322324342124141121312223241344322111311124421321424421421122423342141414233432334111121214333122134222232143431222243212421324414224421132331121432413224000000000000100000000000000000000000000000000332132442144243444421432342324344342434231333233100001000002411412112112213213101000000000000000242134333312143122211411141332341212112331312333231443324314423434314113323221334321342341214113443321422341434311141123423134212223231413313411214131143434144142222334332322424132121122411443314221334233231222142412341223234132111434222214413441224234244323234121442313412441212234223112343414144221413242232313134114324124311413233442413244441234421234231141333321444411114222141232243412421333333133331232113121413121124124332131111231314114142132233332111432143221241124312412223322213344132433113221122334344421443334113344434241343411422241124113114313214443141312431332242231234334312112212424233321342444122244334432431324324213342343321112221224141333244413242131331331222114131412212113413422132424342342212431132214233222142412114134313333123124244322332133212131441123143234421144123423212441232122423142332231212323321431213241333222211233344212442131321442421213412322143433243221132321333231444143413243212431442422223413433323 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222423124223432133421241311231133112331242132131142323144431441133213123211223412312244214322244322132212432133242222323312214413113231421423321232311442123313423132323132321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444334221431231331443131231242434214231122111233141122133114343412231222444243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333233244311223231431313423442211321442314113112222224221123341314312444213121212342131144312412321441222223422222313342442241422232334131113111444443132122323124234231122341232134133224144143232221324441113114333333432422342112241212313211244431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432223111222243223422231412132431112422312331232344311424113331132421341343323231131322312123123121433132243243214142131343232342112223113112334224433314331241132224433143111211244122111313343441221231223313234111423444211313441114333431343322232232342222443242232332323421444312312111211333122433144432214313341434222142422323131343311232423124311323123314442144441223121423124133143221422314123244231133112411143331342333431341412341432323424142324112141322141224431311114212413113122131241342441113141122134122114112334124144142322424432431212212331233221332214323122312242423322221321214343132224433244314124424233111123113233422214133443213231324344422134121243411432331312334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323112342144322233221121111421112114311142121412124132223433421313432442313434211222233132223433222134123323232234243123332232214344431123211114112442332111333333242221122341443313124121413114423224212212342142322344142222123311342131121112321132133433214324143242414331214324133234224134242333334413433124113444143244332322112413112144321322124341213111314421322234323433413314233134232443123222112344113412323231441221112244444233121444331131342243312431314311133132343441424214212133223311434341432312111333334234242322312431312124331321432141323433124434432142314212313223314134333112244242424412411333144124332000000000000000000100000000000000000042233432123231434312344441423121214131233244332342441241332422131432242132421321141422344114222134131242321244411431222234244311314322133242233312312121113433241443142332221232333233442223113443321423323313142123441323114242213214322434233211221244322433111313413214332314342443132422324432222322143212332144122323234322443134122423143331344222222222411422234344434333323143113222124442443424114243332242111134333121344312222231143211333113131413143244312444131312331322412412111221214324234221133113414213333432312334324234113343322423421244111132344313211312323312244234333343414443423414424343133344232134143134413413223334414231323432334222331243311143421222223334231223131411222141331131231414121242324312124224413134221221314323112223321221413434334311113121311424332434332441214321411212343111212223411243124223132314333334143213313143342113431121321342432114433334131123413422214232312143432222324124421431324233123333331221433211414132333322123431424433323214432143132343312133141333142422323233124112334333223412134321112312442121122131321224334321123142332213223232332312334331213222432313122444441314441413221421214312331124323124341132333231413121324222211244131332431433421333432444221223321232122423111114323421312232111231332423342423422324412124144313441433242121234421423423433322211411221343334313331334341331141222222311333322322331122223121133342321444223423323242334341241232112322323313331232432342123232132141111331221134322234324312322132132224132124122112423224331324331223123334333143223142143413321411313433241300000000000100000000000000031244323132233323211431422431144132123411441122111314432431141343334141234142121342344441432243342121000000000000000000000000000000000000000000000000000000000000010001231322113134134214333112444432211124132211322412442442334231333432423321144113341213122314214133222433432112321113433114144242312234414444312321333332233121422321431224321222432222232331334212311442232413413312112333333312333131111223113241441312214323332332233324311122143341211324431421121121242133333213142324331233343144214234332312223311311224122313143321231214321323443433311221443233224134334232211434233212333314211131344332232431232224133243323242223132131214413343421333114234232232124313424222422231221143144232224132341334434212232243433314421442314312142131232221433134441212323234232332213331421221323443231133234213244114121433334224222331222223233223332334433122321221122223434243434333323432323342132223312122142124434324232142233122132222131441421243243123413133121123242241434121131331112242423442413342413112123344222114222313141122343313241331144442122431143113213412414214242121433114112224221441211323232331231331214143444331431123213211111214113113121224332421434412231411234331314222234244423344234322124122224113321322243323344422112333112421323424421421122423344141414233432334211121212332334114221321133333222243212421324414224421132331121432413422000000001000000000000000000000000000000000000332132442144243444421412242324342342434231133233100001000002211412112114233423200000010000000000242134333312113124411311121332341212242311132333311134144144423422314113123221334321342341214113443321422343434311141123423134212223231413313411214131143434144142222334332322424132121122411443314221334233231222142412341223234132111434222214413441424234244323234121442313412421212234223112343414144221413242232313134114324124311413233442433344441234421234231141333321444411114222141232243413421333313133311112143121413123124124332332213432334214321114323312131432141221422321131442223344233344132433113221122334344421443334113344434241343411422241124113111113233441142314433134444214414132311112212424233321342444122244334432431324324213342343321122421222141333412434323133331331212314333314112133313432312422424132412413132314213423342412124132311333243242444322333132232131341121143232243123123223211421232124423142332231212323321431213241333222211231344212442131321442421213412322143433243221132321333231444143413241212431442422223133223323 31311333111143323142211224444211221123442223212142121322342134423323121422212323123142342112221342243121414234321323412123233434222423424223432133421211311231133112311242132133444321332114323141313123211211414334244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444324221431231331443131231242434214231122111233141122133114343412231222414243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333231244233411143233241242222133121242314332231222242344314333114134112131323424423133222141422141213342432444242321242422243342232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112241212311232434431124124141234333114122332234113111144231331333132232443432124111322233322134124331223232343432223111222243223422222424142231112442332331234344311343113331434423141343123231131314112123144321133112223243112342111342232344331124213313332414431314131241132224411143111211244122111313343441221231221313444311421224213313441114333423343121232232322212343242232332323421222112332113211333322433144434214333341413222122222323331343311232423122311121323314422344121223421442242413143221422114421444231314112113241313122341411411412121233111422342121332321144343224213313432432433423144323123344413333143143121224431314342424242314144424212433432232133231221322132211342234444221324342113432141334424231434434122443221312421333133322434213421233433324122142114121411411132134312334122344314212233334414411423212433424333412232143434422413441432311313314223413441333124231231214432311133311322144324233221121111421112114311142121412124132223433421313432442313434211222233132223433222134123323232234243123332232214344431123211114112442332111333333242221122241443313124121413134433224212412342142322342141222123311342131121112421122133433214224122242212311214334133234224134244423112233214222211344143224114222132411114324333312124131211133432241343434321213213341213132232444123222112344113412323412223433311222242211342421342333321331142122411143323113341123411421244333231131434323432312221333134232421112124423414421112444434143323213434212122322132232111241322114433124244234424412411131124122332000000000000010000000000000000000000042311432123211334312342441422121114134231244332122243423334322121432242132121121343422324114422132343424443424231413323334444313332122231314431112332131331211444441144113222242412433442242311323441221223213324323443323312241213214322434331211221242322433113313313214332312342441112422324434222322143212432344122323233321241332122441124443344242214312433222412422342431123112231412342422223212323223411223414312113121124312222231343211333133132413143244314444131312331322412412111221214324234223133313414213433232312334422234111141322423421244111132344333211312323312244234333343414443423414424343133344232134143134413413223334414231323432334222331243311143421222223314411221123431422141331131231414121242324312124224413134221221314323112223321221413434334311113121311424332434332441214321411212343111212223411243124223132314333334143213313143342113431121321342432114433334131143413422214232112123432222324124441431322233323333141221213233412114333124321433221231113432222133432343134314321123224232141333344112332131323231332333314132122121344313123423332233124124112233443232322112334333213222412331334444441314441413221421214312331122323124341132333231413121324222211244111332431233421342434242443443234412342223131312341242132412333213114341122243224242332344312131223213422323333233344232223323311211241343334313331314341331141222222311333322322331122223121133342321422241423322222334141443242123113223123343434432322341214224323333333422334311213132334142132332222332342342312223141331344331241343334312341411324331331223414313231221310000000000000000000000000012244123114231141213212444223142134321411443142331314432241324121134341232142121344124411432243142321000000000000000000000000000001000000000000000000000000000000000002231342333134134414333112243434211124332231331412244222314113341322243331144113124233322341332223242233214112331111133314144224314221414444312321333132413141143123243422123424234432412331134233313441232413213132334414143314333131111233113241441312214323132332211322431122122343411343414234141321242333333213142324332233343121414214332312223311311224122313143321231214321323443433311221443233224134334232211434233212333314211131344332232431232224133243323242223132131214413343421333114234232232124313424222422231221143144232224132341334434212232243433314421442314312142341232221433134441212323234232332213111421423323443231233234213242114143423332224222331222223233223332334434122321221122223434243434134323432323342132233312122142124234324232142231122112322133443423243323323413333121323242231432321331311112342441242233112413134341444242114222313121124341333243233222311344213142112211414414212241133231334124424421442211323232331231131214143444131411123331311131414134231143441132221212412241431234331114224234244421344234322324124122213341122343323344322132333222421323424421421122423344141434213431314213321214332122134222232131331222441112244342432424133332332122414321422000000000000000010000000000000000000000000000332132442344241444421414323444322112434231333213100100000002411414114112211223200000000000100000142134333312143124411311121332343212112311312133231134144144423434312113144141112323223341214113443321413341434311141123423134212223231413313311214131143434144122222334332322422132121122411443314221334233231222142412341223234132111434222212413441224214244343214131442313412441212234223134343214344221433242232113134114324124311413233422433344441234421234233133333321422211334224121232241412421313333133311112143121413123124124332332213432334214321114323312131432141221422321131442341142213322234433113221122434344221443332113344434211143411424241124113414111414443141314431332224234432334331334434112311141122234242422412244431424332213322343343122421222121333412434323133331331212314333314112133313432312422424132412413132314213413342412124112311333243242244322333132232111441123143234421344123223212421234324443142334212211123322231143223333224233233244212233313341434141213431444123241331422312131441331444143413241213213242422223413433323 31311341113341141322213214224243221133442423222134121434142114423133121243332323132442342314421144143222414432321423212143413434222223424424232133421241311231133112331242132133142323144431441133213123211213412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444334221431231331443131231242434214231122111233141122133114343412231222414243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333231244233411143233241242222133121242314332231222242344314333114134112131323424422131144312412321443342432444242321242422243342232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112241212311232434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432423111222243223422231412132431112422312331234344311343113331434423141343123231431314112123144321133112223243112342111342232344331124213313332414431314131241132224411143111433443122321313323422223231221313444111421224213313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131343311232423124311323123314442144441223121423124133143221422314123244231133112411143331342333431341412341432323424142324112141322141224431311114212413113122131241342441114141122134122414112334124144142322424432431212232131233221332232221342234422221344342113432341332222211444434142443221312421333133342431213421233433324122142114121211411432331312314322344324212233334413431443412413424333412232143334422413441432311313314223413441333124231231214432311323111342144322233221123111421112114131142123214124132223241241213332443313434411222131142321221322132323321232214223313132213222344431131211114122422312111333132242241131221423314344341413332433241222212342142322342142222123311342131121112321122133433414324142244412331214334131234444134242333334433214122113441431442312344311313342342433122142343411311312243143434321213213341413212232444133223412343313412123231223433311222242213342424142133342333312122311341323132341121424211242133223311434341432312111333334234242322312431312141312444434143323213434212122324132232113241324134333324224344434413411331144124132000000000000000000000000000010000000042333132123211434312342441423123244114231244312322441241334322121432232132121341141422344114422114133424443242411333343234424331332123133214231112132121111211434441144132221431333233422123313423321433231233122123441333314322222233122434233211221242322433111311413214332314342443132422324434222322143212332144122323234322241334132243143331344222222212433222412422342431143112231412342422223212323223411223414312133134322134444231323213131211332133143443324212133112334323332433313221214344234241232111244113333232312334424234111141322423421244111132344113211312343312244234333343414443423314344123312222432134142124243314223332444233323411112222333243331143343424223314411221123411222143113331214432243433344331321222313334343241324321334311121421221434314311133123311434314434332441214341411232443111212223411243124223132314333334143213313143342114411323223342212114233333131143413422214232112123432222324124441431324314111321141343211433214332333344143233221231113432222133432343134314321123224232141333344112332131323231332333314132122121344313123423332233124124112433443232322112334333213222412331334444441314421413221421224312331324323124341132333231413121324222211244131332431413421333432424221223321232122423111114323421312232111231332423342423422324411124144313441433242121234421423423433322211411241343214212113312133333321442322313132223143313144223321133322141442221423423122334341423242113313322323343432432323341234224323333331221322312233324312322132132224132324122112423241331344331241343334312141421322133413321411331231221100000000000000000001000000012244123114231141213212424223342134341411443142333314412243341121134341432142321344324441231443141321000000000000000000000000000000000000000000000000001000000000000002231342311134144214333112243434211124332231331412244242314113341322223331144113124233342411314222244433432112331111133314324442222221414444312341313332233121423123243422123424234432412331134233313441232413213132334313131214133212241233332233443333224124332334413322331122123323211324431421121121242133333213142324332233343144434134132314244313242422124311121141221214141322422211313442444434223332312232231213213132133314321313144332434231332222133221323242213132131214413343421313124232232232124333224222422231321143124212234132341334434232232243433314421242134312142341232221433114441212323234232334213131421421333443233133234213244114123433334224222331222223233223332334414122321221122223434243434334323432323342132223312122142122434324232142233122134222331441443423221321313133121123223241432341331111132242423442413342413334343424223114422313141122343313241331144442122431143112213412414214242121433114112224221441211323232331231131214143444331431123213211111214113113121224332421434412231411234331334224234244421344234322324124122213341122343323344324112333222421323424421421122423344141432433442313243342334313124233232222431333442241113241342332424421124112141412311222000000000000000000000000000100000000000000000332132442144243444421434323324322112434231133213100000000012211332142112113223101000000000000000242334333312143122211411141312343212242311132333231434144144423422332213144221132341322141434111243141113141432331241142213312432241442233313331232113343434144423244113113143122313344343433233132243112411231222142224141223431314334212222222233413222214344341114231244321224223134433221114343234342221233122242123344314411344333213413124234313223432243312233133333321422211334224121232241412421313333133311112113121413121124124334332111232314114122132233332111432143221241124312412341142211344132434133223332314324441113334223344414413141243222443324133114111414443141312431332224234432332312112212424233321342434121244334432431324324213342343321112221242441331244413242331331321212314313312212111423422132422342342212431112214233222142412124112311333243242244322333132232111441123143234421344123223212421234324443142334212211123322231143223333224233233244212233313341434141233431444123241331422312131441331444141313323212411242422223413433323 31311341113341141322113214224243221133442423224134121434142114422123121243332323132442344312233344213231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312244423324332321322412432133242223342314334411332431243223321212113242143313223334323112121123141434134144431131412431121343112331123233233241312121444431342223444111431124111233232432244212123442122134131431432341444322443334221231231231443131231242434414231322111233143112133114343421233222441241312113224214142122434242331423324124122323142414342234114112113144233333432133433131133221323334111412242223333233244311223231431313423442211321442314113112222224221123341314312444213121212343133222141422141213342432444242321242422243342232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112241212311232434431124124141234333114122332232113111144231331333132232443432124111322233322134124331223232343432223111222243223422222424142231112442332331232344311424113331132421121343321311131312112123124321423132321323212142113322232342132223113132344224433314331221314224413443111433443122321313323422223233231331244311421424211313443111333221343322232333322222443242232342341421222312332113211333322433144434211333341413222422422323311343311232423122313321333132244344122423421243222411123223222312443442131334342143141133122331431411412141232321422342324312321324341224433311132432411413322131241144443113443242321224411112342421122142142432234413432212331233221332214323122312242423322221321214343132224433244314124424233111123113233442214133441213231324344422134121243411432331312334322344324212233334414431443414411244314232444311434422413441432311313314223413441333124231431214422311323112342144322233221123111421112112131142141214124132223443421313432423333434411242131142311221322432341141214211123322114413222144431131331134314444314331333122241223132243444333144323413332433421212232421342142342142222123311342131121112421132133433214322142322412331214234133234224134242333312413433122113444141442312344311313342342433122142343411311312243143434321213213341413212212444133223412343113412123231441221112244444213121444131131342241312432334311133132343441424214212131331313434321432312221333334234221322122421412424332441212311121433124434432322132232113241324134333324224344231412211331124322344000000000001000000000000000000000000042311432321431433122324241232141242114231244332342211241112342233224432132113123141441344114222332341224321224211411243234444311314322133242233322312121113431441443342333222242432231442242111323443223223212322321341323344242213214322434233233221242322433111333413231314332321223334224144214444334331231314144122343234322241334132441124441224242214322233222412422334313323143113222124442443424114243332243111134333134322134444231323213131213332433143443324212323122334323332133313223214344234241113141214213333432312334424244111343322244223431332314144333143342141234422412433421414244241414424343133344232134143134443413223334414231323432334222331243311143421222223334413243231411424143133331214432243433344331321222313334343341324323334311121421221434314311113123311434314434332441214341411212443113212223211243124223132214334334143313313143342114411323223342212114233334131321411222221434312243214414122112421431322213123331331221213211414132333322123431424433323214432143132343312133141333142422323233124112334333223412134321112312442121122131321224334321123142332213223232332312334331213222432313122444441314441413221421214312331124323124341132333231413121324422213222231131231413421343432442443243234412342222131312321222132412333213114341122241224242332342312131223213421113333223324222221123231221221321334313133114341321341424234313132223143313142223121133342141442421223423222334141241232112322323313331232432342123232132141113331221134321413122332124132132224132324122112423241333122331223123334213141411322133413323411313211221300000000000000000100000000012244123134213341211412224223342134341411443142333314412243324341332341434144321342344441432241341121000000000000000000000000000000000000000000000000000010000000000002231342313134144214333112243434211124332231331412244242314113341322223331342143124233342411314222244433432112331111133314144424314221414444312321333132413141143123243422123442242234231132334212311242431231231332332414143312331131111233113241441312214323132332211322411122122343411343414234141322242333333213142324332233343121414114332312223311311224122313143321231214321323443433311221443233224134334232211434233212333314211131344332232431232224133243323242223132131214413343421333114234232232124313424222422231221143144232224132341334434212232243433314421442314312142341232221433134441212323234232332213331421221323443231133234213244114121433334224422331222223233243132134434122321221122223414243434134321432322342132223412124142322244323232142233222132222111441443443221121332133141323242441432341331313311324223212413312413132343342143312222313141122343333243233222311344213142132211414414212241133231334324424421441211323232331231331214143444331431123213211111214113213121224334421434412231413214311314322234244221334212332324124144141141122241323343422312333122243143441421421122423344141434233432334111121214332122134222232143433222243212421324414224421132331121432413222000000000000000000001000000000000000000000000332132442144243444421434323442124112434233133233100001000002211312112114133423200010000000000000242334333312143122211411141332341212112331312333231443324314423422314113123221332321342341214113443321422341234311141123423134212223231413313311214131143434144122422134332322442132121122411443314421334231213234223224124211214332111234422222233213222214344341114231244321224223134434223132343414144221413242232313134114324124311413233442433344441234421234231141333321444411114222141232243412421333333133311111143121413123124124332332213432334214322114223332111432143221421124311444223322213344132433113221122334344421443334113344434241343411422241124113414133233441142112433334244314414132312112212424233321342434121244334432431324324213342343321112221242441331244413242331331321212314313312212111423422132422342342212431112214233222142412124132111333243242414322333132232131311121143234243123123223211421232124423142332231212323321431213241333222211233344212442131321442421233412322143241331422312131441331444143413323412411242422223413433323 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222423424223432133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444334221431231331443131231242434214231122111233141122133114343412231222414243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333233244311223231431313423442211321442314113112222224221123341314312444213121212343133222141422141213342432444242321242422243342232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112241212311232434431124124141234333114122332234113111144231331333132232443432124111322231144134124331213232343432223111222243223422231412132431112422312331234344311343113331434423141343123231131314112123144321133112223243112342111342232344331124213313332414431314131241132224413443111433443122321313323422223233231331244311421424211313443114333221343322214233322422413224232132321221222112412113211332142233144434211333341413222422422323311313311232423122313321333132244344122423421242222411123223222312443442131334342143141333122331431411412141232321422342324312321324341224433311132432411413322131241144443114443242321224414112342421122142142432234413432232131233221332232221322234422221344342113432341332222211444434142443221311421333133342431213421233433324122142114121211411432131312334324444324412233334414431423432431242333412244311411242342233114133412131411341123322311311212332432133322111241124422433221121111421112114311142121412124132223433421313432442313434211222233132223433222134123323232234243123332232214344431123211114112442332111333333242221122241443313124121413332433241212232321342322342322222321131124331312332442132131431214322142322212311214334133234224134244423112233214222211344143224114222132411114344321322124341233111314421322234323413233311213232412414321223432343313412343231423221112244444113121444331131342241312432334311333132143441224214212131323311412141212331221111312324421112124423412421312441434143323211422212122324314212333223124134333112444242424412211331124142332001000000000000000000000000000000000042331432113414334312324244223141244111213441133342243221332444233432242132121341141422244134422114133424443244411333323214424331132143133214231112131122113431441443342333222242432231441242111321443223223212322341341323312241213214322432233211221244322433111313413214332314342443132422324432222322143212332144122323234322443134122423143331344222222212433222412422342431123112231412342422223212323223411223414312113121124312222231343211333133132413143244314444131312331322412412111221214324234223133313414213433232312334422234111141322423421244111132344313211312323312244234333343414244241414424343133344232134143134443413223334414231323432334222331243311143421222223314411221123431422143133331234432243433344331321222313334343221324323334311121421221434314311113121311424334434332441214341411212343111212223411243124223132214333334143213313143342113431121321342432114433334131143413422214232112123432222324124441431324233323333141221213233412114333124321431221231113432222132432343134314321123222232141333344112332131323231332333314132122121344313123423332233124124112433243334222332314333213422412333132444241314421413221421224312331324323124141132333231413121324422213222231131231413421242434224221223321232324433333132323222334412333213114341122241224242332342312131223213421113333223324222221123231221221343334313331334341331141222222311333322322131122323321133322143442221423423122334341423242113313322323343432432323341234224323333331221122312213132334142132332222332342342312223141331344331241343334312341411324331331223414313231221310000000000000000000000000012244123114231141213212444223142134321411443142331314432241324121134341232142121344124411432243142323000000000000000000000000000000000000000000000010000000000000000001231122313134144214333112243434211124332231331412244222314113141322243131144142124233142311332223242422232112323111132334144224314221414434332341313332233121423123243422123424234432412332332432413412232413413312332414143312331131114233113241411312214343332322213222314142123141211343414224123121142133333213142324332233343124434134132412223311211224122313143321231214341323423433341221443233224134334232211434233212333314211131342332232431232224133243323242423132131214413341421333124234232232124313422222422231321143124232224132341332434212232241433333243223133432344343232233433134441234323214232334213131421421324441441233234213444114123333334224222331222223233223132334414122321231122233434243434334323232323342132223312122142322444323232142233222132222111441443242221121313123121123142244434121111331112242423442233312413134341424222114221131321144231131221213222311344213122312211214214222211333221332324444424411233131433331433111422331212321433221311331333434134231143441132223232414431211214111334322234244421344234122324124124141141122241323343442112313122421323424421421122423344141414233432334111121214332122134222232143433222243212421324414224421132331121432413222000000000000000000001000000000000000000000000332132442144243344421434323442124112434233113233100001000002411412112114233423200010000000000000242334333314143122211411141332341212112331312333231443324314423422314113123221332321342341214113443321422341434311141123423134212223231413313333432313324112324443422134332322442132121122411443314443112411231222142224141223431314334212222222233413222214344341114231244321224223134433221132122233312243433242432113134114411324133213413124234313223432243314223333332321422211334224121232241412442312333133311112143121413123124124332332213432334214321114323312131432141221422321131442223322213344142434133223332314324441113334223344414413143411422241124113414111414443141312431332224334432332312112212424233321342434121244334432431324324213342343321112221242441331244413242331331321212314313312212111423422132422342342212431112214233222142412124132111333243242414322333132232131311121143234243123123223211421234324423342432232232134221433211241333422211233344212232131321434421213412322143433243222312131441331444141313323212431442422223413433323 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322344322132233332334244223142314334411332431223223131212113242143313443132123112342123141434424144231334412431123343112332123233233441332421443411142441242113141124111331232434422214323442124131231433432341442322444334231232231331443134231242424214231122111233141122133114343411133441214423312133422114422322432242331423334322221223144232342231133332313144232333232133431311432421123234111412442223333231244233411143233241242222133121242314332231222242344314333114134112131323424422131144312412321443342432444242321242422243342232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112241212311232434431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432423111222243223422231412132431112422312331234344311343113331434423141343123231131314112123144321133112223243112342111342232344331124213313332414431314131241132224411143111211244122111311343441221231221313444311421224213313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131343311232423124311323123314442144441223121423124133143221422314123244231133112411143331342333431341412341432323424142324112141322141224431311114212413113122131241342441113141122134122114112334124144142322424432431212212331233221332214323122312242423322221321214343132224433244314124424233111123113233422214133441213231324344422134121243411432131312334324444324412233334414431423432431242333412244311411242342233114133412131411341123322311311212332432133322111241124422433221313111441112114331242121234124132243443421313432443313434413422133134323233224132323321412211123322112413222144431131331134312424414331333122242221132241443333141323413134433224212412342142322342141222123311342131121112321122133433214224122242412331214234133234224134242333312413433122113444141442312344311313342342433122142343411311312243143434321213213341413212232444133223412343113412123231441221112244444213121444131131342241312432334311133132343441424214212131331313434321432312221333334234221322122421412424332441212311121433124434432322132232113241324134333324224344231412211331124322344000000000001000000000000000000000000042311432321431433122324241232141242114231244332322441241334322121432232132421321343422344114422134133424443444411433323334444313332122133314231112332131333433241443142313222242432233442242311323441221223213324323443323312241213214322434233431221242122433111311413214332314342443132422324434222322143212334144122323234321443134122423143331344222222212433222412422342431123112231412342422223212323223411223414312113321124312222231343211333133132413143244314444131312331322412412111221214324234223133313414213433232312334422234111141322423421244111132344313211312323312244234333343414443423414424343133344232134143134413413223334414231323432334222331243311143421222223334413243231411422141311131231414121242324312124224413134221221314323112223321221413434334311113121311424332434332441214321411212343111212223411242124223132314333334143213313143342113431121321342432114433333131123413422414232312243214414122114441433322233323333141221213233412114333124321431424433323214434143132343312133141333142422323233124112334333223412134321112312442121122131321224334321123142332213223232332312334331213222432313122444441314441413221421214312331124323124341132333231413121324222211224131332431233421333432242443243234412122423111114323421312232111231332423342423422324411124144313443433242121234221323423433322211411241343334313331314341331141222222311333322322331122223121133342321422241423322222334141443242123113223123343434432322341214224323333333422334311234324312322132132224132124122112423224331324331223123334333143223142143413321411313433241300000000000100000000000000031244323132233323211431422431144132123411441122111314432431141343334141234142121342344441432243342121000000000000000000000000000010000000000000000000000000000000000001231322333134134414333112444432211121113233321412442442334231333432423321144143324213124314214133222433432112321143433114344442222234414444312321213312233121122341233244331442242234231132332432313412232413413312332414143314333131111233113241441312214323132332211322411122123341211343414234141321242333333213142324132233343421414114332314244313242422124311121141221214141322422211313442444434223332312232231213213132133314321313144332434231332222133221323242213132131214413343421313124232232232124333224222422231321143124212234132341334434232232243433314421242134312142341232221433114441212323234232334213131421421333443233133234213244114123433334224222331222223233223332334414122321221122223434243434334323432323342132223312122142122434324232142233122134222331441443423221323413333143323242241432341331311132242423442231342413134341444242114222311321122343333243233222311344213142132231414414212241133231334324424421441211323232133231131214143444131411123331311131412333213343221322421232232234413414333334224234244421344234321344124124141141122241323343422112313122421323424421421122423344141314233432334211121212432334114221321133431222243212421324414224133332332122412321222000000000000000000000000000000000000000000001332132442344123444421414343442122142434231133233101000000002211414114112231223200000000010000000142334333312143122211411141332341212112331312333231443324314423422312132144123112323323111214113243121422341434111141123423134212223231413313333432313324112324442422134332322442132121122411443314421334231213234223224124211214332111234422222233413222414344341114233244321224223212233221132122233312243433242242123334314411344333213413124233344441234421232433341212322424423332212324331431112221313333133311112143121413123124124332332213432334214321114323312131432141221422321131442223322213344132433113221122334344421443334113344434241343411422241124113131111414443141314431332224234434132312112212424233321342434121244334432431324324213342343321112221242441331244413242331331321212314313312212133313432312422424132412413132314213413342412124112311333243242244322332132232111441123143234421344123423212421234342443142334212211123322231143223333224233233244232233313341434141233431444123241331422312131441331444143413323212411242422223413433323 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444334221431231331443131231242434214231122111233141122133114343412231222414243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333231244233411143233241242222133121242314332231222242344314333114134112131323424422131144312412321441222223422222313342442241422232334131113111444443132122323124234231122341232134133224144143232221324441113114333333432422342112241212313211244431124124141234333114122332234113111144231331333132232443432124111322233144134124331213232343432423111222243223422232424142231112442332331232344311424113331132421341343323231131322312123123121433132243243112342111342232344131124213313332214431314131221314424411143111433443122321313323422223233231331244311421424211313443111333221343322214233322422413224232132321221222112412113211332142233144434211333341413222422422323311343311232423122313321333132244344122423421242222411123223222312443442131334342143141333122331431411412141232321422342324312321324341224433311132432411413322131241144443113443242321224414112342421122142142432234413432232131233221332232221322234422221344342113432341332222211444434142443221312421333133342431213423233433324122142114121211411432131312334324444324412233334414431423432431242333412244311411242342233114133412131411341123322311311212332432133322111241124422433221313111421112114131242121234124132243443421313432443313434413222133134323233224132323321412211123322112413222144431131331134312424414331333122242221132241443333141323413332433421212232421342142342142222123311342131121112321132133433214324142222432331212334113234224134242333334433214122113441441422312322112413112144321322124341213111314421322234323413233311213232412414321223412343313412343231423221112244444113121444331131342241312432334311333132143441224214212131323311412141212331221111312324421112124423412421312441434143323211422212122324314212333223324134333112244242424412211331124142332000000100000000000000000000000000000042331432113414334312344444223141242311213441132142243221332444233432242132121341141422244134422114133424443244411333323214424331132143133214231112131122113431441443342333222242432231442242111321443223223212322341341323344242213214322432233211221242322433111313412214332314342443132422324434222322143212332124122323234322241334132443143331344224222213433222412422342431123312231412342422223212323223411223414312133334324132442423321133333213132411343243314242133312334333432412111221214344234241133111214213333432312334324234113343322423421244111132344313211312323312244234333343414444223434424343133344232134143134413413223334414231323432334222331243311143421222223314411221123431422143133331234432243433344331321222313334343341324323334311121421221434314311113121311424334434332441214341411212343111212223411242124223132214333334143213313143342113431121321342432114433333131123413422414232312243214414122114441433322233323333141221213233412114333124321431424433313432432143111324332134341123242222321233124114332333223412114321314312442121344313141443112233324342112432223232222332334333211222412333132244443114441413221421214312331124323124341132333231413121324222211224131332431213221343432442443243234412342222131312321222132412333213114341122243224242332344312131423213422113333223324232223323231221243123312232113312333333321442222313313343122331122323343111122121244223423323242334341241232112322323313331232432342123232132141111331221134312233324312322132132224132324122112423241331344331241323334213121211322131333321431333211223100000000000001000000000000012244123212411341413212422223122134321213323344331334231241321341314341232142121344324441231443141321000000000000000000000000000000000000100000000000000000000000000001222341333134333214333112443412231121113233331432244242314113341322223331144313124233322311332223242422232112321111133334144224312221414444312321333132413141143123243422123424234432412331134233313441232413213132334414143314333131111232113241441312214323132232211322411122122343411343414234141321242333333213142324332233343144214234332414224113242422124311143121231212121322422213411242443233234332314234231214233211133314321313344332212231332224131223123242223132133214331343441333124212432232124333224424422233323143124232224112341124434112234243433233243223134312142341232221433134441212323234232334213131421421324441441233234213244114121433334224422331222223233243132134434122321221122223414243434134321432322342112223412124142322244323232142233222132224131411443443221121312133141323242441432341331313311324223212411312413132343342143312222313141122343333243233222311344213142132211414414212241133231334324424421441211323232331231131214143444331431123213211111214113213121224332421434412231413214311314322234244221334212332324124144141141122241343343422312333122243143441421421122423344141434233432334111121214332122134222232143433222243212421324414224421132331121432413424000000000000000000001000000000000000000000000332132442342123444443434323442324112434231333233100010000002211412112112213213210000000000000000242134143112143124411311121332343212112311312133231443324314423434314113323221334321342341214113443321422341434311141123423134212223231413313411214131143434144142222334332322424132121122411443314221334233231222142412341223234132111434222214413441224234322341114231244321224223134433241132323414144221413242232313134114324124311413233442433344441234421234231141333321444411114222141232243412421332333133311112143121413123124124332332213432334214321114323312131432141221422321131442223344233344132433113221122334344421443334113344434241343411422241124113111111414443141314431332224234432334332334434112311141122234242422412244431434332213322343143122421222121333412434323133331331212314333314112133313432312422424132412413132314213413342412114112311333243242244322332132232111441123143234421344123223212421232122423142332231212323321431213241333222211233344212442131321442421213412322143433243221132321333231444143413323212431442422223413433323 31311341113341141322113214224243221133442423222134121434142114422123121243332323132442344312233344213231141214343331214341233234222423124223432133421241311231133112331242132133142323144431441133213123211223412312244214322244322132412432333422223342314334211332413223223321212113242123313423132323132321123141434424144213311312413123123132111342213442423132421124431342223444443434342332213422142424214123442124131131431432341424322444324221431231331443131231242434214231122111233141122133114343412231222444243311333224212122122434241331233334124122323142414342234114112113144233333432133433131133221323334111412242223333233244311223231431313423442211321442314113112222224221123341314312444213121212343133222141422141213342432444242321242422243342232312143311111244123132122323124234431122341132134133224144333232223324441113114333311232422344112241212311232434431124124141234333114122322234333313144241111143132232423432124111322233122134122331223232343432423111424223223424231412132431112422312331234344311343113331434423141343123231131314112123144321133112223243112342111342232344331124213313332414431314131241132224411143111211244122111311343441221231221313444311421224213313441114333423343121232232342222443242232332323421444312312111211333122433144432214313341434222142422323131343311232423124311323123314442144441223121423124133143221422314123244231133112411143331342333431341412341432323424142324112141322141224431311114212413113122131241342441113141122134122114112334124144142322424432431212212331233221332214323122312242423322221321214343132224433244314124424233111123113233442214133441213231324344422134121243411432131312334324444324412233334414431423432431242333412244311411242342233114133412131411341123322311311212332432133322111241124422433221313111441112114331242121234124132243443421313432443313434413422133134323233224132323321412211123322112413222144431131331134312424414331333122242221132241443333141323413114423224212212342142322342142222123311342131121112421122133433214324142222412331214234133234224134242333334433433124113444141442312322112413112124333322124131231133432241343434321213213341233134232443123222112344113412323212223433311222242211342221342333321331144122311143323313341123411421244333231131434321432312223333134232421112124423414421112444432141323413124434432142314212313223324132313112223332424212211331144324344000000000000000000000001000000000000042311434321431423121224241223141242311213441132342243221332444233432432132113123141441344114222332341224321224211411223234444311314322133242233322312121111231434441144132221431333233422123313423321433231233122123441133314322222233124234331211221242322433113313313214332312342441112422324434222322143212432344122323233321241334122441124443344242214322411422234344434333323143113222124442443424114243332242111312133334322134444231323213131211332433143443324212133112334323332433313221214344234241132111214121343232312334422234111141322423421244111132344313211312323312244234333343414243441332323323333322231314342324211434214132444233333411112424333243431441443222223334413223231411422143113331214432243433344331321222313334343241314323334311121421221434314311113123311434314434332441214341411212443111212223411243124223132214333334143213113143342113431121321342432114433334131123411222224232312223214414122112421431424314111321141243211433214332333344143431221231313432422133432343134314324123222232141343344112332133223231332333314132122123344313141423132233144342112433223242222332334333211222412133132444441114441413221421214312331324323324341132333231413121324442213224131131213213421342432242443221234412342223111114323421312232111231332423342423422324411124144313443433242121234221323423433322211411241343334313331314341331141222222311333322322331122323323111122121242221421433222244121443234313323223124343414432322341214224323333333442334112233324312322332122244132324122112223141331344331241343334312341411322331331241211331231441100000000010000000000000000012244123134213341213212422431144132121411441122111132432431141341334141234142121322344441432243341123000000100000000000000000000000000000000000000000000000000000000001221322331134134214334312444432231341113233131212244242334113341322223331144113124233322341332223242233214112321111133334144224314221234434332321333132413121422321431224321222432222232331334212311442232413413312112333333312333131111223113241441312114323332232233324311122123341211324431421121121242133333213142324332233343144414233332414324313242422334311143123233234143342422413311442443233224332314242231414431212133114321313344312234231332224131423121242221132131244413343221333124234234212124313422222422231321143124212234114341324114212242443133314421442134312142341232231233134441234323234232332213131421221323443231133234213244114123433234224222331242221233223132334434122321221122223434243234134323232323342132223312322132322244323232312233231312322133443421243243323413334143321242241432341331313312222423442233342413112123444142114241131321144231131221213222311344213122313211214214222211333221332324444424411233131433331433111422331212321433221311331333434134231143441132223232412431211214111311342123424423342234322324342124141121312223241344322111311124421321424421421122423342141414233432334111121214333122134222232143431222243212421324414224421132331121432413224000000000000100000000000000000000000000000000332132442144243344441432342344344342434223333233100001000002411412112114233413200010000000000000242334133312343122211411141332341212112331312333231443324314423422314113123221334321342341214113443321422341434311141123423134212223231413313411214131143434144122422134332322442132121122411443314421334231213234223224124211214332111234422222233413222414344341114233244321224223212233221132122233312243433242432113134114411324133213413124234313223432243314223333332321422211334224121232241412421313333133311112143121413123124124332332213432334214321114323312131432141221422321131442223344233342234414313223322314324421143334223344414413143411422241112333111111414443141312431332224234432334332334434112311141122234242422412244431424332213322343343122421222121333412434323133331331212314333314112133313432312422424132412413132314213413342412124112311333243242244322333132232111441123143234421344123223212421234342443142334212211123322231143223333224233233244232233313341434141233431444123241331422312131441331444143413323212431442422223413433313