12222221122222212233331111112331122234422122111122332111112222122332111222222111111222222112211233112211112212211333311112233211113321123312222111111122221222222122332221133344443211123322122111221144321221332233112223322221334433112211112212223323312211112332211112344333313366322212331221111111112222133442211133211112223552112211122111112212222122244213322331111233221112332212212222122222211222222221222234444111221333322112213331244331123311221111111133211122223332223455444211122221233222223322111112211111122111222212222255331234552222124421221221111221112212226643211112211332122221133333331111111112222222223312211233111123322122122222443311122112233442133311111111122221112211332222211133444433223321111111221221221133212233322255331111223321122111111255322222222222111122444244421223331133233442442124422211332122221112224433122333312211111111333233122221222331244223441244211221221133323313331122112211122221111333333355333333133312211222442111122111123312212212212212211122333552222222233444442122111122233111221233112211222333333332111222211111222211222212222221112211122111333222222111122223333111123312233211111123314432111222355511123311222213321122111112211221111233112211333234551111111222442223344223312212212211223333221122111223344111111221113321112442112211333442223311221133222111332233122112211112233344111112212244333223333221255533221111222344221122554432233212331255331122233112211222344111221133311333222333321111133333223322122222212212211122122122122233111111223321111133331112233323441221111221111111133443311122222233211221233111221111111111444211111221113321244331122122222212211233111122122334411221112211111112223322122222211221111133211221112331112442221221113333122334422222222112244433122111332111111233221111111111122112222244443322112213321221221122332332222211221122124441114433112213344211123442233211111222211122221221111443311112222112213322213333111111221122111222222111111124421111221221111122122221333312332212211221222211122112223312211133333355321133313331112212331221111332234422333552222211111122122112442111122221332112211112222111111122122554421332111223321133442123442233332212233322222213322331133222221111111332222211111122113323332213332212233441122111122221221112211221111332222223311221111221123552332124443333111221112244322213322223311122223333221221112212212222133211112213331332111133211222334444422211112222133441111112332211112233311112222233112212212222222355211133211221233233111443211111443344111133244355321221221111111112222133212222221113321221133311133366333112211122112211222213331111122224433337743211112331222333321122111114435533111111111122233221112211332122221222211224442332334422211112211221111112212222113322223322111222553233332332212442111111221111221221112212212222222211111111332125532112444111111332111111233122222223333211122111255532211222222222223441233222222133331122111222222122111112224443322224421221122111112222233111122111122111111333552111333311221111115543322221233221133314443312222221122244213333321222223312222122224442122111111122221333111222211133222112211111221112211222211111111233122223344411122113331113322331111111113321255521112211223331111133222111111111332123311333311112212442113321111332332233133312244444411112553322122122221221122111111221255332233212211221554322212345511133212211223322211122111111112212211111112211111123322224443122112211111112222133211221332233112211332123322222212211221112222554433221334433111113322212212212222111233221111111222212331332112211112211221332144321111222442123311111112212233331111221111122111111332111333113321111122112211112211111122112213331133233223333441332233244222233221111133324455221112211122112222122112212222233221111112211111233111111123333222122221112222221222332212213321112244321221122222344221221266433441222211113333122332111222211111221113323333111122122244211111112211221111122122222222133442111111222344112211221255321112211221111333111221133355211111133233333233212211122233112212331333111112331111111222212212211223321332122111111124421122122111123441332111111333555221111111221113332331122221112222133331122122144321111111111112212212222122222211332122123311122333111332222213321223333111221222211111221112331122222211111122112212211111111221112213333122222553211113355212223312331221443322111445555332443774321122221111123311111122221222211112212244421111111112211122224433111133222111112233211221111221111133331111122112223311133222233122223332212213322212244322222122233112442221221111111233122122112233222222331224432333311111221125534411222211123312331111144322223333213321222211221221111112222123311144433124422222111255331122233111244413331222212444111221111221122122123322111122221233111112211122122112331221122334421112211112211122112222443211112211122112212222221111122233133455111112211122122111111111112222111112331111221222212222221221221236632222553311133311221124422211221111122111112212222221112332442221111122112212211221333221233111333123442211133311133212211233123311111111111221255331122111122233111223323332222221122221133211222211221221112212211112213321111111112211122221124433221223321112332211111122112442221221133211122221112211112211112212222113321222442113331221332333441122122233332111444212344111221112233223322111133443314442111113321123311332122133331223321221112211332122555331122221111443333222111111133331222212222111111222211222222122221112211133331111122112344122111111122111133332212211113344221222223663344112233366543443321221112222123312331332122122223321122444442221221111221111334422221122221122111111444411111233333334444444331122221111221222211112211221221112244466344213331111244222111221221332133331111223321111332122111222331111221112333344553321111221111233444324423333333122221122111112212213321122112211123311332112211111122144344122113333133222111111113344211111112212224421111133211122222211443213344112222221111111244412444221133333222222223322113322213321332111221122333322222212211111112211111221133211223321111111443311122233113332444122111222212211111332122122122221221122122122111332112211133331112212355212212211122122112233311221111111113322222111122221122122333312211113321111122221112222123311233332124421122221221111122122122221111123311111112331221222212211112331133331111111233221221124443122122122124422333331112332211111221111133233222112211112233324421111333233443331111223333111113323321221111122221112333355551111111221222442222332223313321221333311111112211112222125552112211221332333111223333221111223321333122111111223331221122111221112332212355331221221222211111221124421122222222111111111111123311443322133233211112212211133331234423312211122244331221112211332221122112224421112222222211111221122221332233221111111221111122112211222223441111332111122222332211112212233213335533112211111233111122244211222211221233222211112211222211122122223321112223312223311112334442222222111111111111122111332111221111233112331111221111111111223323322212211122222211233122111222211111111222212211221223331221233332221122122234412332212331332222211221111112211112331122133211222212233212222554333322222221122124422222222332211222222221113344233331222212222133213331244222222212212211332332111122111111221124436632111122111126644222122233233221133211112233344122221111222233322112211233112211122221221222332211123311122223321332122112331112344133222112333344222123322111111221332122112211123311122122221221122123312212331122111222212222115543441111221122221112233222111112222122122122111122111112222122222211133212442334411112331144321332233333111133222255332222112222113323321332221221332112222124444212222111333334413331112244441122221111334421112212212211122223331111221233111221112211112213322222221222223311244332211221111222211221133322112222111112223311222223333211112222111112212233455221233112233311111111221111111122122221233111221122112222112211123313321222233333333111113323346621112331122112212211111111122122112211111234411122113321244331112211244223312233211111223322223311112211111122223321122122443311222222221122111222211111144321244212211123322111222212213331111111233221133214435521222211122111122122233122111133325552444211221222211111123312211111111112213321222211111221111123311111333112214432112211112222122112212442233221111133455112213322224422244321332222211221111122111234411221133311111332122124441111111333312222332111122221112233455532123311122233344422222112211443322112355331111133223311122111122233332113321223321111111111111332111244211111221122122112222111112211234412212331111111111111332122221111122222222222233211221122554332212332344111332332124433111122122111233123311133443311122224432133211112331122123323312331122221221111222211222211221144321111122233332233222224421122112212211111221112212331233223321233123443333133324421113333122222223322111111222332223311111221332111122233112344221133442211133222122122222213321221111112212344221221333555222212211122111111222214432222223311122221333111221111111233222212244321112233211112333321255332222332221233123312211111233443211111111111112212212223441122111221111221122233221133333233445533244211221122112211111244331122122221221233112332212222133331122221111221221112212344111116654333122111332221233222214442221111233223322222122122221221122113322212211111111133331221122221233111122122221221224442122332133311122133211122122111112442222211112233211221111111122221111255331111122221122221111332122133331122133334432133223322112331233111111133322333322122123311133312211133233322123441122133222123312442111122111111122222211133311123312212233211111122221222222111122244331122222212213321221222331122333311112211111221133222122111122222233331221111113322211221133455332221111122221122221122222222122122111111221111111221221112211114444421124422331123311111332133212211221233222222222222111244213333332331111122233221123312211111222222111221111332111221332133223333211111112211332113321221111122111111111133311122122111221222222222212222111112222221111221112211111122112444442331111113321111122112211123322221123313321111333311111222331222212211221144321223322211111233122122122111111111111111111244213321111111113355321221111233221111111111111111133441111124422212211244212222221111332133312215553441124421111112222112211112222335522222221124455122233122112442221244212211112211221133311112212211112211234423311113321221112211144324444332221111221221111111221112223322112332212331332221133222221111332111123312222222213321111111222331112211111221224433111112222222211122122111111111122332111221133333331122112222221112222111111122112233212211221111222222333312331223332214433322123333311332111111223344442111223333112331111111122233221221133212331122112222112222223331111111222211233113355346633113344212212222122222377444122112212211221222222111114444422113322211244222122122133214432122221221122122221111222442111334441332124422444111222233331111111111222211113322211124444113344233111122221111222222332221224442111111222244321111221112212222112212212222122111133334432112212211111122221221122122233122114432133211123311133211221221122233222222122122113333321222555322122111112333322211122332111112331111111233123663331111112233211111111133311233333322332233112211222211111222212332211122111221112211111223321111113333122244211111133311112554442221111122122112332212332222333233112222112355222443222111111235521133211233221222211221123311221222211244442111221111122133322111122113321124421332111122332221112211222211111112213321111111221244331221111112333331234413336634435533221333122112222111111333552111333312444421111144433221234412212212331111133442211144333221112211244211244212331221111235522222111113323344233222111112222122333312211133222244211111111113333122122112222122223321221333112211443312224433122133212331123312211444332332211122111111124422222222222222211332113322222133222123311221222211111111122111112211133211123323312211221233111111111111111112211112331221112331111122122222212212222122222222244212223322233122221122221133211234411221111333112212222122333311221122111222233222112211122112223322233244331111333111221111122111111332112211122111221221222211112355211113321221111122221111221111221333442211114444322255321122221122233122123311112211123311111233133211221122112211221111444233211133212331111111221122111112212222122112211122111111233122112212211111111111222212212212211112212444112212212212214433311111122222212211221333222224444233211123311111112233311112222112212344111112211122111133552221111221111133222221111112211123312331332244211122111111122122122123311122122133774321233133332211112331112331112331111221112211222344122223331111133331112555331113321133222111122122133442111133223312332222222333322331112222113331222211221111111113323323332331221122111221122111111112222332333441223344222332222111332111111111333113331122111111122113321221111122113331222355222221221111111221122222222122122122221111221111111111223336633312211332335521122111111111112211111122112212211112212443311221221111332133332555222333123313336666311133331111122222331122122222222111122112212223311122111123312212211112213322222122332111111111332112211111122221122111122133212211112222112233223311114433111123311111135552133441111244212213355444122122112211122122233123311124421244331122115553331112211113321333322221233332123441221123312211124422233212331122112211122111233222244431111133333355331112331122122221112212222112442221111111233221221221133324441133222112211111222212211111122222211221112224433112224421112211111222212442133222112211333221111113322211222213322211112344333323322333221222222122122113321123552222233331222213322212222111222211221332112332332211233111111234411332222211332332122133222111122111144432222123325533324442222111223322211122111112222221221666444111123312222122112211112222122133311111221111111222211122332221221112214432333322443311112442333311111112214432333322122112222122111111332222212332212222122133322111333122332111122221112332222222211111221111221223331122222212211333111112553211221332111122123441111111111111333311111122112211221221144321221244222223333111112331221221221111333312233334433244212222221112222111244331113322223442222113321122111111112211221123311112222133322111123322112332211133332212223314433322221222211221122112442221332221122221111221112212211222212211111123333212212222112355511111332221221222222111221144333144321123441244412211111233113333221122221222222122111112222111122111233111233234422122111113321122122111221112212442111223333124444223333211233221332112222333312233211332124422331111122122111111123322111112233211111332111112212212211133322221122221112211111332333322113333123333211111112211123322111111122111221221122133311334433111244222111122221221222224434412212332211111112331333311221222331222233355331112331222222223321111122332222211113321111111222211221223331113322222111221122222331332333313333221122444355233331112344122443223441111133322122111114442122112211122122333311221111113321111111112444222212223311222553212211111111122111222223555233221123322112222112332331114433442442222211222331111332332112213321223321122244344111222211122111221221221113321221112213324432122111222211122133442122113332211233233111112233311122111111133441111221111112222221221111111122111333324433111111222333331111122122113333111123311112211221221233333332133442122122221144331111233221222443322666632221133212233332211111111133224444331221122111112222112212211111122221111112222111222211221111244422332332112233211111122111221335553311333441112222112222112211111112211111233112211111111111111443322111112222111111222212222122111111113333331224432122111221112211111221221122222233332444441124421111113323333133222122222333331114442111111112211111222213333222331111111244211111222244322222333555133333322211233111221111111221133225532111233221111133344111221443233322222377432112331112222221223344331221111111111221122111221332122112213321122222211221122111122133224422211111112212211111221111332332111122333111111111112211122113321333122221332111112211111113321332112332442111111223331221221233133311122233111123322222331122114432133331221111332221122111332221112211111443311221222223311333223332223311221222211122222212211124443111112212332222334433133332222221332133311332443211233111133333321111122221124423555521221111221222332222122112212211222331112222112331244211221112211221111221122235522211122443211333113344432331111122111244222221222211122122111111133332222114433111112332553332211222222334421122111111112211122122111444333312331111122111443211221122111221111221111122333442331133222221444412211244211332122122113322211222233311221122122123311122222211113321111111221222331122111222213333322214432111122112222122112211112211122222211222211244211122112211222211111233233111222345544331113321221122122333311332221333111221332111221112211221444442222111221222222112222233112211112214444332331111112442223331111221221122114432111221122222331122113322233443442211221112212223311122112222112212332211111113321114433122124421221111111122113321222331443244331332111111333334421221124433233122133331332144323321111222211111222222122221111221122111111124433111123333331221111222223312211332233133442133224421111122122111112212222332111111222222221111122113322331221122133211221332111122332122111233111112211122221111112222332112331111122112211111133553442331332113322222222244321223322212244344412213321222233333332222233112223552133233213333113321111122112222122221332122122223332211332222212211133355332211111112442122111122122122112222112211111111123441221133212213321111122112212212222233133223311222211111112331112211111111133222123441222212333322211111222211112211233112222111222222111233221222211111221111443211122122111333311144333122122221133312214433233111222334433222211111111332111111233221111133211122233122111123312211111122222443322221112211112344133211111122222211111111113332244333122221233333111111111112222111122332122122222223442211122221222211112212345514433122122112331122221221221111221113321221122221125532221124422212244422211554333124423322212211222212331123552144321233233221112211111133244331112222233222222111122111221333111334422211222211221221244211222212211221233122122111332221221233133211111112331333122133332211112211221244212213331122333444331111235523331122222332211111244331333311113555321113321222212212222122113321555321111233221332112211221344412442111122122222233211244555233311111112211111221112211122221123312233213331111344411221111111332123311221123322221443312211233111223321111133324421111112211113321112331122111122122111111111111233111222222112366344222111124441233111112222123333553311114433333223333111111221221111333323312211113322344221111111111124433111111122124422222111112332442122111221133212211122221111244211222332222111122123555112233444222222221112212212222221221111221335522213321111234422111221223344211122133255432221122111111112212211123311333442442111223321122122221221112442112332212332211122333111123313322222112222111333322123322113322211123313321111112331112211111221255323331221222443324421112211222211112211112211233221222222133211122111122111122122221222442221124422211221223321112344122122111112223312222221332221111221113333222211133212223323311112211111112211111221221222211221244331221244332222332122111332221111111122111133331221111112331233221221222222122221112212212212211123311111333322111234423441333111444411221122111133322122443312233233212212442133222221111111233111122112331233222331111111112212222221122112331112211112331112222111221233233112211113321111111111111122123312211221221111111233443331111221334422124421112211122123322122443222111111333221133331111332221112222111123311112211223321222233212442111122122112331111122221111111113331112211123322221133222111221111111111111221122233444233311122333311113321333322112223311221111122111111222211221221111122233222211122122123313331222212222111112211122221112211111111221144333111221221112222122113321144332224444211122221122112222122122111122221111255444214444444111133442333553322255332222221244411221122111221221111111111223333122111111233221233122221112212331111222212212211122221112212211111112212222112211233122222211221111111111111222211222214433233222212215553211222212213332213344332211114432221122332112211133211111111122221111222333321114433123323311122244331122111122112222233333133444122111111111111111122113321111222333322442222212233222333313321122111221111122111221122111111113321224432221122111221333111111111233133311111221221233223333122112211111221443311222775432221222222443211223321111133212332211333322123312211221221221113321113355211111221112331123311112211111235521332112233222113344442223321122111113331111111111221122333122111122255333221113331111221112214433112211111111221223333222211112211122235521233112211111233112331112233211122122111122123312331111113333112332211332111221111122112222124421111122333111112211244423355536633311222222244222233111111221122221222211221221111133211113331221111221111123312211112212211111334412211111233111123322123333211221111111111111332111221111113331233122122335533111221111221221223322211333222442122233111221112211111221122113333221133311333221122222211112443322111221122221111133331111333123441222331333455112211122221122221223331122144331221122221222222111332133223311122111124455333112233344111123312332212211122233443443311122111113323324444222211233222211112222233122122111112211221122122133222133311112212222221233114432221234413331233122122333221333111332111111244211233123311222211111111111122111111333221244213321233122133355344144331221222233222222255432124433111112222111111333122122221112553211122332122111222211122112222111111222211233122133312211333311112211221222212213333112211122112344221122122111333111221221122111111443442122332222222122111122111122221111111113331111223333155433322221111221335534442212222332221233122111122122221122111113333122111133212332212222222233212224421111133211332122144423321122111332112212211122221122332111111122122112443311111255322211222211133332222233332122111233112213355211111112222112222123555333311111233112223441233235551122222211111112211112331111111221221221122111223322211111122222211222215543211122112211332122122111122111222211111116664321221233221221221122111234422122333441111221122332222211122236633322111133442111133233331221111111111221122111111133233331122233111111113322222122221222211112442221111111111144421332244332212211122221122332112211122221222211221221112331122111233333111122222212211222211112344133311332122112222221112222111222211233113321111333322443222112224421112344112222112442112222111222442222331122112211112222233233113321122122332111222345511222443311111111124433112211111116654441233332111113333221113331112213322211112222112211333112443312211133332211333122233111113321111116655355211233255321233112212211111112233355331111122112211332443333332222122133311112212212442221222212211221221112213321333311221221221221111133211111112331111221111111113333233133211111333333111111332122122221223321122133233211222333332233222221233133212211111122122111123311333313333122111112222111233133212222111222331112211133211221111112553211123322122111123311224432332112224433223333112211133212222332224432255333111223331112211112332211133211332144321332114433221111111123554421122221111111222212212211111333124442233211133311122332111133313322332331122133313366321222211332123323442331122221112664344222211666442224433444433123441221233112331122111112442144441332221122222222332111122144321123312213321112222333133222112211133211122221122112222111335522212332212212212255433111333312211111111144331111133312211123311221123322223321112211112234444111244412233455112211222211222223322221111332122333311112222233111112444222222122111112553222112212213334422334422212213332211222212233444111122112211112211221222331111221111111221221221111112222222211133441222331111111234411222233331112213321111112212224433111122332221221221111221123322111112211333133442111244422332221123311122111221112331122222211112211111233122244212211221222216655322211122122112442123322221122112224421111111221111111112212233312233222112222444331122113344422122221221122111111111221111233222211221111221221332111221133212222222212344122111332221221111244333331222211122111334422222123311221332122112331332123311111111222212553331112211113333333311223333122221223321221122113344212212211222212212211122334421133331233144444144322332222113321111133331332444222111113321112222233133211332221112211222223552111112331111111221223331234422123322122111222344111332221333222222122221222222221111111112331222222222332222233111332112212222333322234422335521112331221123311111122112211124421332113344335521233223666634411332112332222112212222222344111111244222112255433312222333458836666312222222211111112222111111221113321333122221221221124442212211111233133332211221133442123311123311221122133222333111222332222333112222122124421133312223311332333221122111113322211233133222122111112211333312211222331223322212211221111334443321221221111221221111124424433323311124433332222442111233112331111122332222211332112222222331122233111111133311122122332333122233133322123663344111112223311122332133331122113331122332221111112222235521111332221222333321111112211113322212332211221122122112212222233332111222211122111112211111112211233123323322223334411221111221221221112211122122222212212222221333311111122133312333332222221333311111233221222222112211123311111333322111221122122122123312211122112211222212212211111111111233222223443321123322332443311133211222212211122122221112233222223333223333322212233212211133442222122122133211124433123312222221111133222111111133211235521332122112333322332211221123333331133211443211221111112211221221111112331221332111111124441111111114444421111111222331236633322221111333123311111112212212211221222211222211111222222122222222122112233442111112222112331111112222111111124421222211122334411332255321235521333311112211221122222222222212233322222211122233111332332112211221222442222212344123313321122222211221332122332233233122233144332211233222211222211221122111122133222233111233112222112212222235521333322112212331554324443322221223331111221113344411244212222221221223322211223333111222211122112222332111244414432111112213344213321112212222222212211221112223333222122111112212211122233112222234424555333111113321112212211122112222111111122122333322111233332111122122344433111111233111221133442115543331122133331112222222333355344244422211122111111233221111111133211221122221124441244411122122111332222332212222133331113331111122111111112222111112213344422111221221123312211122222211122111333332221221111112212553212212444444211222211111233334412222111133322112212233311332244224433222212212331123311111221111122221113322355211133222221112211221111112212331111122114432111221221111124422211233221222211112223322112443312332222221122332111122111122124423344222112211122222212223322443331122122133222122111113323344222333222222223322223324433122221111113335521122233113321133333211221123322124422331221111112553442112222222212211224447732334422213322213322212212211333222332212214443233222222255321111111443244344222111111233233222332222221122333122144321133211111122111113344233331111123312211221221111113333111221123344322212211133553344123311112222122124423344212211332112212222222211333311114432111221221112233222111111111124444223314433111144321221221221133222112442112212211222332224423321122133322221111221222212211332134443322112213322331233122112211112211111335532222211133222112222221133313333144321133312211111233122111222211221111122222222233111221222212212223312344111133312212442222211111112233332222244222111112211221332111333312331111111112211111223335566111123441333311332233124441114442111133333211122122112211111222222221122112222111223344332211221111144333144321111111221222213321111332111233122221111221221221112222111122111333221221122221123322112222111221111111124421122122222222123311122112212444221122222211221122223331122223344445522111233111221125532122111223321111221122122122122222222113344411332332111114443311113321122133211122122554322211223332211133322122111111122123311122332221221111111112222332444423311233124424432122233124433111111111122133211111111221122112211333111112331111122122122111124442212664322211332112214432112214442233111443211133331222332211122221221223322211111112442111221222331221113322212444433222111111112222332111333311111113331133222123355432333234422113322211122133211333123322112211111122122112211221111333322111221222331122133366444211134442221112213322222133323555534422133211244222111111235521221111222222144344211233113323322211111111124422212212222112212222133312211112233213321111222233222144332222112211112222222211333322223321334421111222212442133222112366321111332122111222222222222222211124434412211111222344221332111111111443443443333122122222332212211122111221222222443211112222112222122111122111222211244244321111223321111111332221222443443321122222211122112211221221233221111123442224436632221233221123311122122122122111223322211222211122122111122122222213334422123355432111122222222111111222211332112211112442133331244331113322222333311111221221111222442111122123311221332244442144321221235522212211112331222222222211443212222111221113333322211221112213345512344221221122223331122111122122112211222212211123312331122233332222331111332332221111111332332123322133223441111113333133444444431221122113355213344211111222222122222222111113331122111122332123322332221111111233113321222211233223333112332222234411113323322444112211112223322122332221221122332111122112331111111221123311111221111233233122222222221111221112331112211111113321222211333466333322211122223323344211122221122111221113322211111122221223333332222211111223333112222122122122122111133212214433111111111332233112213321233114432111223334411221111221221111133313331111111223333332133312331122111122123311111122221122112211332112442114442233332111222233212212331111111221332122333113331221122111222222332112211224444421221222222221333322221233221111332124421123311233123311112211111443212355211221133211111144421111111222212211332222233223313321122244223322112233331112211333112331123441122222222112222222211124421332221332332111221112222111122221122113331332112211221221221133233211111112331111133331111443311111111333112212222222211333322113344211333311111125532112442222233331123311112212233211112212212213332222122221221122221244211122233221222222122111133223316664344331133312212255532112222144321221112211224432112211112332213322222122112212222133332212222111221144444211122123311221221223321221111332111113333122122221122111222211122332123324421111111111222212222111122111221222222112223313321122111123344441122123552221111112212211554322211333221222212212332211111223321113322344111112212222221112211222222111113333221111111111111123322111122222211233221221112211333333222221111144321332333122133443311122112222112213355323322233224433112222122222211111111111112331221332221122111221122133222111113333233332111111111221111112233311223322211123311235533221112212222111444422332122111133211332221111221133555441244212211222211122111122112222111133211123312211222442123322221222355212333333332211332255321332221111221111233133211233123311221113322211111222224421113334424421221111111244224421332133322111221333221221223323322346621111111223355331221234551112331235533221233222213321113333123312213321123311112211122122111111114433112222124421333322112222111114432111112233222222213321122111233111111221221222333331112333332222221221133212332332222133333552122111133222244333321122111111221122111133324441223333112211221112212212331113446679921122334412211113322211123322222211111334455122233233334441111333111334421111334433111221133344444233442122111122233111223321221221221221111333221111222212211113331111221112222332112222222211122111244211122443312212212212212222133334433322113355222233113332211244211112331221111444233664332211133211111111111113321122244211333112212212213321221221144333111122221111333122112213323331344412211122111133344331111221111122111122221133212331233112553331125552124433112332222233333313321111111221122144331221222211133222233122221221222211112222111221244332442112222112212222222222112211221111222211222215554222122112212211555321133211244211111122221111122111122443211111113322331122444443322222211112444312211222331133664321122332221111124443222222222211221112222221111122221111111221221111111332122334444233332223322333322221333663222122113321223321111221221233111122111333322111122111233222212233311222233211111113355222112233322112224441221233112222334662111111222212442111332133441111334421244212212442112212211221111122222331443331113333221221133211111133332331111233111332113366321221111233333441123344323344233113321221111133212222122221111111112233324444233211111233236633222224433111122112223311122133344222211333111112211244211333442223311443332211111133443441113321332332221133442332212332223322133212211122332222223441221111112214446661122111111112222112222111223323321332221334411221112332212212212442111111111122122112211333123322221221111221122111221222223311223321111222211122122122122122221221111122122122111122123663441111113333244223333233211111123314442122111123311112212222112211114433311122133331244211122112331122111222213322233213321221233133211222211221112211133331111111111122112212331112211122114433322111111221124433111222222113321111112212211112212222122111221112222221333311233332222222333323311112211111111122223322244331221111221114432122332111111111221112233332222123311233233221221221222211133332244355321122112222133211222211223331221114442111122122332111333112222122112212223312213321111111111221111122221222222122111332221221333323311222212233332222113333122122112331111122123312211111333233221112223322223334551112222223344111123333211223322244321221111133211112222332222331443441111443331221122155442111221222233211133323322244222122122222224433111133211221111112222111332122332224433332111221223332442221222224433113321222222111222332211112222122111113355331235553111123322112442332122113333444222111111122221111133331221112213344222233331111554321111122111333311221122233111221122443212223313321222331221111222212211443331111124421222233323312222221133223322332221111222222122221221112332212211113331222222233332111222211111332221111334422213321122122111113332211221122244211122123552221332112212211133211112332211122222442122112222222233211244431222331122111224433111233111122112211112222111122122122113355332212223311111332222222333333233112211111222331122111222211112345522111221112211112212212213322442111122111111111133332223311221122111112332211111122111111122133443323322221221221222213333221244212444133312212211122123311111221221122223321221221111111122111111125552111233334423344331122111111133311112211111222212664332222332221122222211111122111111333122111122222223322133313333111111112222123322332112211221133225533122222442332113332211221114432221221111244331444331112211221111332112212222112211221122111221221133211113321111111111111221123311111111223332212222111111111144421111112223311333322222333321334553331122111113344113333112331122222212233212211112331111111222211122122221111111122133222221111111332332221222222222355444444332233233222111223321221111111333113322222122122222332555355212212553323311332244211332221333112333333222213331112211221223322222221112212222111222222223333112222111111111122221122122236633332221112213355883211221233112212233333321233221111112211122221122221222211111221135552221111111332122255521244211111111221111443212211122333322333322122223331122111144321233333111122233222233331221122111332111221221122111112212332344111123311221112211123314434566112332211332112223441111123322222211221112222112211122332111122113333122111123311122111112332444443211221114434422212332331122122122122111222233311112331111122221111133212244321221332221122221221222212222111332223333322222333323312332211111221122112223322223322222111122122112331222223441222222122332113332222111233122111334421111112224421221244212331122244331112223552111122133233442233222111123312211112222221112222111111233332221333442332222221222331112211133331122222213322233331123322244244335521133331223322211133442332111222211111111112211112553222111122144433123322221443311122112211122221111332123323323311122222255436632122234411554441333311235521123333443311112212211112223311111111123333222111111123311221122221221111221233222211112222112222221222233211111221233222222111122111332122112223442222133344133222332221133223311122233122111221122112211111122221332221112211122133222333221122221222212212212211122244222111222223333212331122111133211111111111222213321222211112222113331113331112212211112344221114444433212213332223311133211221111111222212333321111335552211112211221222222111233112211122133331223322222233112214432221111221112211221124433133553312211221332112211111332111112233311222212211111112222111332111122233114435533111111224432122122233133553312213322212222111221112211221111222333321221111332111234411111233111221221111222222111111122122221233111222222144334411333311335533244222111122222211222333344111554443222211112344222211122112212222233111111255333221111111233111112211133223333333332224433112331221123322112223552112333334411122233221133211111221123333331221234566122221112233442111111112211111113323366632222211333221333111221221111112223333441111111111233221112223311111122332333111221244213322222221244331233111112222123311123312212222111112213333332111111111221123322112211443212211111122122221112444443332233223322111112442233221221122333333212211111122235552331123324421221222211111111112223313344113321266442122123333211122221334413333122112222122222223322133212211112211332122144421122122222213321221122223331122111222212222222222112222332223333443222332332111344433222211111123311122334423323666211144321111122133211112211222211111221221222233331112223324421333111221221123322221144321112223333332213322222123311221111233111111113321221333311443331111223332222221112333321221122233122113322211122221111222211111111112213323322442221111221112332331111111222331122133211222222111221112332211334422331221333111111222212553443322221112222122123322221111221111221122443222444223312222222225533441122221113444211113333111112224422222122332122112331222213321122221133332331122123442212331221111122133233322122133212211113333133441123312244421112222112212211133213334412332211221233122122122122244431222222222211122111222211122155552112331332222224422332212331122111112222221222234444443321222331113321112222221333221115544442331111123312211122222211221221122122223345512223322111111111122122333312212212211123333331122221122221122221111112222221244331111244411111223331332333311244211222222221332122333322221111221111111123322111222211111122133344133233211112366331221111221111334444433124433111113321221122221112234441111111113321112355211443212213321112211123322333122111111233112332212211123552443322123311111233221111111133212222122111221221222211111122125533111133442221111133212212222112212222111113333332124422212222334421122221111233114432233233111112222112212222122111123322221221112222221112211111221111233122111144321221111233221223321443212222112211122123333212222335533133311122221233221122111111233221223321444322221112222111122113331221233111222211122222222233222222122112331111222211244411222212233212222233221111111111332332255335533233111122221444311111123312331114433244222111111113322222111133331122122111111111332332221221122222222221112211221122122222443553333331112444311111221133212444422222111133222222332331111222213344222332122122221111112331122221133211123311123443321332221221122123322233222212212222221223344222111111221221111112211111111133331111221144321122332112331133223322222211111122221111111122122221111112211332111122122222222122222222244422122443222221222222112211111332111111111221122123333442333122133233233332222124421111122111122111111114444233111332221111443222221122112211221221111133331221332222211335524433144321122221122144321221221122111222332211235533335532222211111122234666221122122332222211124422223322122111233221332221111112212212212233344111111255331111124421234433211122122122112213322222112222111122122112233311221222344111133212442122111111221111221111112233311122222222221112211111111221133233212222222213321221122112344221332122332221112222112444333214432333111222211111221133211444322122222211111122112331333312233444221233122221221332223332331122112212222122133222122111332221332222222122111122113331333221223322222111111112211444411221111122244211111122111111123322221112222111233111244223322122111111111221233255551123312212211111122223321221244422122112211334773322113333122122122112244331244211221111222211122133442111122332332112222123314432221111112222222214444112211111334442211133222111122221122112212211113333333112222233222212222133313321112212222222244333111221111333311334552211111111222222111221335524432222442111114432122444222244211332111332222222244211122112332331332122112331133443323331112233222111111221124421122332222444421221114433122223321122122122222211233221223333221235521221221111233443313321221122244411333221111221122111112211233113322212212211233111111144321111221122123311122111112222336644411333311244233311111111112223322111333322112355222221122111111221124444223312222112212331223333122111222222221123311233122244211221112444441111111111122122221113322212212244444212332332331113321111111112553222222355355222122111122332122233244212344233112211122221233155533311112331111111111443442144431133344221133312222133345511122112222111334444345533211113321122122237743312212233244331111122122111223322222133332222222335553222112331122223323333111443223311111112212442124433223323333222222221233111333322112331112222111221222211222212212222112222112211222212212213322222111111112222122111112211111222212211334433122133331111332112223311111122113321111111122222211111111554421112224466211122133211221332122222344244223311111112222112222112222111111122244211221111111125533442331112223344321133211111122112223311233332223321112222222211111332111122333441111233114433111112222111221112211221122111112211221111133222111133331111111122122112222122233111222222112331221221123312212212222111122122221133331221122111222222221333122111111115544222333322221124421122111333155433311332111223366334411122111222211233332111221221111111221222212233344122112212331221122233124421113321123311112212211122111221221122122111222222111122122122223333111222211221222212222233111122112211223321123322235521221112212212211113321222244331122113333111443444333322223321111332233223331111122122122111122221122222223311112222111221122221221332112211221133331122221111111113321111111122233133331221223322442111111333112442233133211111221111233221221122133442111122122333223355222122222212213321111133322332112211122111111112212331233221133222111111112233311144423321124421221233332114444421133211111222214432123312211122122244213322233312211122112211112211112331221222211112211122244222111332122123311221111222233313321111122122223321122111221123322111122112223333211233222331112212212331111111111221221124421123322112212442222224444422122133233212222111122122123312222112211221113333111112332211111222212332222123311233111111113322222111112222123333211122244213321114443553311233111111122111221122123322233111222211122123552221113333222222222444124443221221223321221221223321122111111123311122111111255523323321112222223321111111111221111134441112211111111122333222211122122112214432222355222113333111111112211122244332211113321334423331123312212233233222222233344221113324442113331444212332223322122122113333111221122122332111222443311113321221221122221333122111332122111111221222213322223322111111122133212211113333123312211125532133331111133222112222133212211111111112211221332122221122244412233222221223331122111122114442111112222332111133323311222233331111333111133311221111111112211111111122223344223322122111112332222122133211222222221111123553322444213321133355211113344222335522442111122233111332111122112211112442122222331123311221333111122122333311133212211133212212331122221133222122122111111221111332133331111221221255322222111112212212211332221122222213321111221122234422111111221221222212222111123322111111133552222332211112344221333332221112211111133312212332213322222111244551111112212213322211332111111111222211222211222212212331111221111112222111235577722221221233122133331222212213344112211333322123313331122133311123441111334421122122122221122221122222211221122113331221332221233111111133322122222212211112211111122111122222222133311112334432113321233221333312211111111133311112222221221444222122112211111144422212211221222211111221122112222122111111233112222144421111112211133211122332221111122112355233211112442122221233111112211221222442123322111233332221233222442111144321111144322213321133211122122113322224421222211112333331332221332224443311332133441233221111222331112211111122332233144333111443442221222212224444422111111332244211122133312211111111221221221222335543311122122221112211113321122221114433311221111233112244321221111113323346662211233111111133331112211233332332111221111222211222222122111113331122443443311111122111222222111221111222223311333111221333663212331122332122221122113322233212211111235537743222223321222333331122111112331111112331224444444223552111222213331222443311233244411233111233112212211111111221122224443333213322222444222334433221122222222233112213344444344122244331112333334433122111111221122221222442233112211334444355212212222332221111111233133331113331221111112331122114433111112211112211221443331112344221122221222213322211122222332212223311333111221111221113321111332113332442111122113321222222113321111221111112211112211333311144321234411111222212222112212331221221333221133222112212442111221234422122111332113321122221112211122112345511223333112331112211112222111111111111123322122111112211111144421112211221111221222222113321221332111221221112442122111112211112211221222233345513322212332211221126663211111112331113331222212331111223332222111112212222122122221122111222222233111122333133311122111133331221221221122111222212213324442111221111111112211233222332443311221112222222222111233221122221112213321122443311112222221332111112211112212212442112244321122111333312222122111221233122233112233223311122125552111124421112211443233442111122112222111111111234422133332225552112211221444222221111111133444421233234412211112211122111111122332111122112553222111112211122123322222233223442233212233355331113321221222213321222212211222331112211112222222442221222211222212222222211112333322332212211222211112331133331111222212332233331222211332122222443312222122221122221122244412211221111111111111111221233112222332111111123441221111111111123322333221555533222211223322212211111221221221112331122122112233212332222111112211332221333122112212442133211222224433111221221122111111244333321111112211112211113322211111111444333321221112331111112211112212331222211222333333233111113321111221224433315543331221112211111443212211133311122123312211111111122233233222211221123333322122222442332112211244211113333124433111221122111221221111222211122122233122233233124442222111111123322221111112233212222111222211122222212212332222112212212233332211222211111443211223332211113333235522212212233332233311111221113333111122233332122122112222133211111222332233211221111344422442122112443322111221122223322211122233221122222212222122111112211111122221122334421122221332223322212332355211112212333334411221111112211111111221222233322233123314442111221111122122123322244244344222443211111111222244331111123322222212212334432221221221111112223314432222211221222233222122112233222333112212211222211111111222214442111233223322331123311332111443211112222111221133332212212244333222442233122112211111122221222211221111144321221133222222222112211111133211112211112222111122111111123443333111122124421122112211111111222222122122332115543331333233122111122111122111234411222223311332122112233444122133331112553331123322332133222222223311223321111111111111221333221122122133331111122233111333222233344222233331221144444552222111221221332113332211112222122113331111222444111111333322111112211111221133222233122122443442331221122221221111111111221221221222211221122111122221111144344444421133331112223322222212222133344221444212664332334432221111332221123322122222211222211123323333211112333323332211111111221111111122111111111123323322222331223321111122112222221111333122123312333344124422211333233113323334422112212442122112222332333111111133222111333333312211221111111222212442122221221233333312211122334422221111334421122221123311133212212211111221333333355542221221111111221111112333323331332123324444331554422211111222212224442211221111222333331111122222212211111122333441221221221111112222111332221332122333311133213321122111111233221111222211111333111111112332211111444222111144331122221221111221133222111112332233212214433333311112211221233222442221111111111111122111111111221122111122332111221122123455222212213321111112222221144331111111133211111111222222221111111122333322122221111334411122332111112222221112355212222111221144421111333122111111133322111122111223321122111221111221244211111244553333322211111233111111111255344222221244224421223344133324422211344412332211112211111112211122112222333322123333222221133211332111111133222144421122111112224421221233112213322213333334421233221113321221122112331123322124421111332244553212211122222212222111222355211233122333332333113321111111332122111221222222222212211111112211221111144421122111233111122333111112223312212212233211133233553442233222222221111113332211122333233114432112222112212331112212233311443213333111111111113321111112222122122112223333312222114433442211113321125533322111221233113321332233111221333312211111111333322133211221221223331233133322112212244344112211221222233553552122444442133332333333133332211222444421112233213322211221111111112443333222221113333233221111122222212553331222213344211111111122122333112442122111111111112211334422221221112211443212222112332344112211233122221222211221333122221222222222211122111122111221443312233222233111221244331114433441111235552332332212222221332112223311111122112331111111133442112222244443555111112222122112223441111123312211123312211133212222111122221222332211133222112222221111221122221333133211221112331122112212331112224422344222211222223441122221221221112222122222211112212211222211122122111111133331234411122111122233111124421112213323333122111221233233111333322111111122221111111233112211244773442221111244331113321224432133313331233112211112344443344111122221221144344113321133332211111111222211112211113321221221112222222333321111221112233222113333112442332122122333112212223324443111112355212211111222233213333321223323321133223314433312211133331111122111221114432123322223334411244222111122111332111111113322212224421233112344133331444422112222222211221111112377442221222211221225553333442211123311111221133441123311222222112331222213321113355355513444422111221443442332221222244444211122111111111221444331114442112211221332221122333311122112334443312222111332112222111112222112331122122112331223321223332222144322212331122221221221122234551221112233311333111111111221111234411133332222133311234412212211113321111111223321221114432221112212331123312233212211222213333111221111333223331234422222442221233244211122111223321112211223322224444432114432111221221122111332332144421221222222112211112211123322222222123344331111122221122111334422443322111133331111335552122221125534421112244322212332332211122122221233133222111332332122111233222211223321133212211223331122111222222112222111133442112344111122112233213344221443311123311443322221222212212212444112212332331111223323333112211233112212211111222355222222211221111233111112211222211123441111233233233122221112211221122222222111112442233233111123663332212444344331133224421111123333212211223333111222211133311111111221111111244211122221122111221443314433112212332211123442213333333323441111233332333322124434413323333144334411223333221122111222211122111332111333443321221333122221111332112331112222111111221333111112222122222212222222331133211111111444411133322111221111222211221112212211222222332443331223322211111122221111112211221235533122113333322344111112212233442222333321111221122244222554331111221122222444111111122122111333144333122133441133222221133331222222122122122222211222211332222211233122111222222122113321111133222221221221233122111113331111332221122111111124421233244212223333211244553332222122333311332122221333324421123441111122233122221111122112233443322221122332111112233211112212222122122111222211111111133311222222112234455111112211233221112212211122122133312222332112331112255442244233222111222212222222211221111113321443233212211222442122111222211111332222222133312211235521122111233122112331221332111111111222213332212212211133322333122111223333124422332211221133211443224421221122221244211221332122233111112211111221221112442122332122221111112234441111112211113333122233221111335521221111233222212233222111133211255333123311111111244344113321111111111111222212212233333212446644212222221111221221111122114433222211112443311112211111222211111222222122112233211125532223321233112211221221111111114432122111133222222211122111122144344222332122112233442111122111133212211332112331332332112212212223311123312222122111122122112442111113344122221222223322244211111233122221221122111223331244211111112222112212331111233332221221111112223312211221223321221114432111333122233112222111222222332133222111255321222222122333441222213321122122222212444233123311122111333312222113321111122112331111112223552124424433221122333322221113322211332221113331444322111111112211112214433221221223322211112442221123312222112211112255433466344223332442222211666632223444422122111233113321221221112211122122222211221122235521233122122111221221222442221221111111112331221111112344223321111244344122122221122222222111122222211333455111133344221112331111122221233233112222222222222213332211111111111332144444331221112211111233111122221335553221111111221222211112212222111123313555211222211244412222133444466442221111111112211221111222331221123333553212211112222113322211222211221112213333111244662111123322123311111233255321221332111111112244333112222111111111111443211113333112442122122111332112211123333212222111111122112344111112214433113322211112233322111221112211112442112211112211122233111221122222331221222223324422244421112212211222211111233111112212211112233552111112211122221111133222333441225543312222244222111111113333331133331233333112222111122111122221111122221223322331111123312222112211111122111223321111221221122221111112344111111233223333333442213322332212222221222233444433441111443331123312233663212222111222211111111122221133222112331111111111233233122111112211111221112212212222332332133312211221221222222113321221221122113321133313322222112442122335532111124422331111111111144344221111133311123312211112211221221133233223322233222222221332223321111234411233111223332212255442122111111222211111221221122221144333333233122122133312223344433112212211221144422355442111111133331111233111111221122122111112222111112211111122133331111234413333222211112442113321233133211112211111133212222221233223321112212233311333113332222122111111111122444222111113444122244331111222222222223322111222211124433332221111332111233122221221221222222122221122334422124433221111221144333221112331122122443212331111111333112211221112212222333441222212442113322222111122123333212442244442114444111113332222221122111332333311112331113333111111221333122112222223332211122113321332111222212212212211221233443222122222443322123323322222211111111111111133323311111111112212212211221123333211111122133222122122221112331122111334441133212442122112331122113331111111124422212212211112211332221111222212212212211112211122111122255333221221233443344111112331111221111112222221111122133466622221111111123442233332222122113334411122111111112222221133331112211221123322333322122111332222331112222112244322222112211111332443311443312211221223321112211114433333211111123322111111122111223322223323333322133211332223321221112442112223322122133211222442124421111222212212211111111222212332212212211122122111222211122111221111111222222133211122221221221221221112222122221221112212442111111244224422233331223333233332122122111112211111332122222212211113321222331111111332221133442211113331332122122221221122111222233332212444421122122233333133344113333221111111122333555344244211111112212211332122122123322113331111133214433112211112211111333133212211444312211123322333111112233443322112332344122332112553555552111233111332111133212233333211222331111122222212233312222111222222111233113331122111122122221222344112211221333112213321112334432222214432111333333233331111111221124434411122111333122221111443333211122222331111112331111122221123553311123311133442244212212224441222212442221221221133222112222122112211233111333133233211123322332223331112212211122222211334411333311122111111111111221122111222555222111111123322111112212331144333111122112222112222233111112211112222222233442221221111111112223311111221122111112211111115543312331122122111221221233111123552233221112333323321111233111221111111222211111334421233223321124422212233211112331223321112442133322111222225552123311334423441112222111122122112211111335522212331112223312211221333311111122122332112211223331112222125533221122333113321122122221111111222233331111133442222222212331111112212332222222344221122333111221113344412211122122221111221111332133212211244222333255333222331113322212211222211122111234551122221122333111443331221122123313333112211111333122112223311334423322222111112211111221443331111112211333443331244211111332122122221221122112333322222133223323441221333322221112211112212211221223333111111144334411221123322124421113321111112211123322221222222133323322221122332122221112222133211112442233111222444663212211122111112211123322122111111112222111112222221111333221221111111112444442233211133222133212213321233111111123441122133212211112212331111122111221111122144331221222211223321111122221111332221111111233111144321122122123344433111223331223322222112211221221222222144422224421112213321113355211122122123555112211122333311122221112211122112442133213322211221133222333112443355442122222211221122111222332213331221122111133211111112211111333311111111222211133331443223311266442111113332211111222444111112222112211112222221112332212211221221112222111111221122221122111122133213333222344221122233111112222221122221112223442211122112442112212222113333321122221221112212442221133222222211111221221222233313321233133313323321111122244211221233113332211112333332233211111123322124421125532221332222211223321123311221443332211111111112211222222122332233111233111444355511122221133442111111122133222111111111333333331133311111244211122223321111221233222211122122111123552111334422331221221221111111122221221134442111112211144333223333332123441221112331221221111222211122221122133223323312211122113332233222255332214433112212211112332212211221222222255344221134442111122221111233123322122111111113332212344222233213322223442213334422112222122122221233222331123441221333311222211222211443331111111111122113322212211334411111221221123312223466233311114432222233331111122122111122133211244211111122221221114432112211221133344112211221112332211111221222222112222222344244212211122222212212212212222112331221221122222553211221112211223333222222122111222212225532222222123311111221122124422332212244344112333321221112211221122233113334411123311222212212555443311122133212211332111133311111133233322112211112214442222233311111111222211122122255522212222234422133212213333235522211112233212212211122114444411122221111133322111111112213321332222211233111233221123442233222111112222222222222211222332222122123312344111144321111111222222133222112331123311234444322212211122122122334421221135553355222133331111111112442221332133332213321112211112355522114442112344221111234413322211221122332112211111111122222333344431122122111113333221233112222221111111112222133443312213331222331111222211111111221333124421111221111221221122221133333212233331112222133311122112222111122332244211222212213332212212222123311133213323333111111111112211233111123322113321133331112553331111112222235521221123311112442122111221223321111233124433221122111332122332122222331123311222211332335553111113321222222332122221332144321112331111111133211122122332122111221111221111111111122221222222111123312331221112211221221111122221122111122112664333122221221111221222222222212211112223344443322331221111111113333111221122244422111221133331332223321112344222244322212331111333111111122444223441111114432221111222222112211112212225553322222331333222444422211233221111111111111334411112212222111123311113331222233441112211111122111122221222233311222211124422222112213322211222222112222124421221333144322233332233222333442442111221112211122111111222211133211111233221112331122122122122222332222244347733111122112331222211122133213331133311133331122122122332221112222111112211443213333221111222222122222224421133331111112212211122332122133311122122223321223344211122111111122221113444211111221133222233111221233133211221222223312244433223331222223311111122222223322221222212233331113344114433221223333111112211111221111111221111221111333122111111122122221112212442223321221333322222211111244211111126643211112211111222211333311111334551222225532221122111221443211111123311113321111122244455512211111111555321222332344133211111111111122113321222344233123333212332331111443212212222111332112333331221112211233234423325533311122113344222222224422211111122221244422113321112331333311111111113321111111222223311111111332223321244212211123311221222212223322244344111112212222122113331111333323312222111113344332222212442122113322211112212211111113321133222222233211111255444222113322211233332112444122444344111113323321113333222212222333111222444244553322223323344222111221334421111122112222233122111112211112223311123333211112212555212211333322221155432444211111221221233111111133222111122221111111111234553333111111111244213321443443322133442111223321112222111111221221233111111244443322114432123312211221113322222111111221122126643444222211133331122133244444355661221122133212224421111123311221124422212211112222122133211112222111113331233124422223311233111123311233123311134442111112211122133211111111112222133212233211122244213322233222332113321122111223333122223321124421113321124421122133234443441221113334432112233313331133333211114432221111444211122122233235521332113331234412213321113321122111113333122112211122112222222212331122112332345524422222222331125532332112222235521122333122221122112212553331111111122133212222332112211221111334423311222222112212212442221221111111221332332221112222111111222212212222124422355222133211233122222222122112211111123333314442122112223312222122112212553222244212222111223323322211111112222111332111444222233223331111122111221133212212344111221233332221111221221144433122122111112212222112212212211111111133332553211332124421122222212213444111222211221225543212233212211122221122233221112444441111133223322111111222331111112211223344222111266433322221223321111113332212331111111113323323333111112222222233332332211111122221113321122111233221221221111333221122332112222233221133441112212211122221112211111332111444222333111222213333133311122221333325553552443323322111233111332122221222443311221233233112212233331221111112222133552332113333111111112213321111221122112212331124433221122112332224433111221122133222112211122113345512211112222111221111122111111221133553236664422211221123322112223333553312331111221111111111124443322442221122122332333221221113322212223322111122222222332111111124421221113321133322111221221334421333313321244433332244331221111222222222211221221222211221221223344112332212212222113321221111233111122112211221111334422111112222332122122221221112355244321112212213335523344332344133344112211111444331113332222333552332111112222111333122111221221221244222112212212222244211111133223311111222211221333233144441222211113321112212333322211111221111221222213322224433133211334444211133311222331332222211221111233111443311221122122221111111333441221235533123333444221444211122233122222244321222222221222213321333122111122111112442244662244422334433111122112222221124455331112333355222122221221111222211122111122112222111444212223442233212332211221333111111111222222111122333221222211112331144344233212224466444455133223322222211333333322123311111122255333244331233221112233311332122111332223333122133442122144433122221133211111112344111223331222212211111111332221112222112211111133323333333321332222222133223325532122233112331111123312223552334422333321111235533112211123322111443212211112332213333123311122111332111133211123312211133322222233322122444224421222233332331112222111222211222211233122221332244331111332111111122111111122233112212211111221223322331122233111332122113331111122111112211223321122123312233311221222212331244413355322212233213321111122332111113331112212212212332331122221111221244212211233111223333222212211221244332332222222233331112211122333322444333344223331111112332331221122221122122233113334411111122133211112331112222221221122111111123311122111112214444412223312213331113322211222222111221221113322212331112331111244355211111122123312211133211111233111122112222112211221221111133211221122112222112211332221123311222222221111222211123312332233311123441111222211122233111223333222222111222332223442332211223321122333333323323322113321144322222221133333332233333312213333111123322112331122111133311123311111222211112233212233212222332122112211111111133311122221221222211222211111111221221221111111122332111122122122111133222133331122112211221221112211111112331111122221122111111222442111111124434433552221222222111133244421112211122333133223334441111222442332221222212212331122111223322212442122122123311222213332222122223331111221255444111123443321111111111222222221122123312233323311122221113333112211111133311221122123311123322122221133233331222331112332223312211122333333222111223332553211112553331221222211111122123441112211221122233122122122111111112222112212222112233323311334441122111122233112211332221221122112212222221223321112233222111122123312233222221222244331333441221111122122221113321112225532333122233221234433441223333224432124433111122112211333221122221332221111111332112445511221111233111221222355222112244333144321222211122122333311221113344211122122111112212212211122332111221112222113333221112333322212222112213322444221133322133222123313332331112223311111332124422233212211222331111124433111111222212211221112331123311122111122443233244333111124422346661112233444111122133222112211554322233311112222112222221111123322222224444222233224433111223321122122332244431111122222331112211222211123312331122111111122111233122112442221123311111244411111332221221112211233113321122235554411112223312331221233334445533221133211112211112222112211334444332553331112211111111233111233221111111111222212222122122222211111332112331123311221111222211122111111111222211222211123443323344222122112222111122233332111111111333122123322223344344111144421111122122221112211112233314432122122222222113321222222221222211112212222221111233111111233332334433133442111222212212244321122222211113321112212222111221111234433312211122221221111221112211112212211222211122122133331443223553322112233211244212211222213344111222233211222233211133223311144333332235522222334411111111122222222111123322334411332222212212344443222112212332211122111122123312211123312212331113321111111113322222221111133311111233122122112244322442125533233112233223442211221111111124421444212553233212222112212233311123311112233211332113322212331221444211111112212222111222444111221223321111122111233133212222333333111112211222211122221133311122111221133324444413333233123322111112211111111332115543322111221333441111122222211111221221222222221111244411233112222122111122144431122122221122111111122124422233211221332112664332331122122233122111111113321111332113322331122221112211112211112233212223442444422212211122332122123441111122122332111221155432221111112442221111332221554332331122113322222221221111133222244331222332222111113322211122244211255331222331221111255322212211112233442222113332211221222212222221133331221221111133442122155533111112233233222111111221112211332113333112211112212233211443344221122223323333112212331332222223311111133212233211233222211111113321111112344332222442221111122221113331332122123323311112211222222221111122113344212332442221221111122223322214433322233332122122111122122122333312222221123311111112331133443441111223321221113331133311111111112212332553344222211112331111133211112212214442124422211112211124433112222112212223311221221223333122133312212344332221221122233111233122122123333222113324436633221111112355233223312211112211122221122443442212212331221234433222112332211122112211112553211155433311111222333321112211333333312442112212211133212331112332331122111133332222111332222222334423321112211111111255322212233552133224422211112442122244211123311344422111221112233213321113321124421332332233122112212344113321122122222211221122112244331112332212211112211221114433312222122122123322111112332222221123311111123441112331111111233111221444411221444422122221221111221233221122112212442233222331233233133211111133311114433311111113444212212211111122112443311111111113321222211222223311111111221222442111112331113355211122333111111221122111112212331111112212442133322122122122111334421144333111112211122333122113333221122221221222331221122123323323344344122111111112212212212211122222212332211334433112211133553552112332214444344355321122221122221333112212211111244225532111111222222222222111112211122111122221122332233344433212212212211111122233332222211112222122122221111222223322222442111113334411111133344112211122221332122122222222113344111122122332122112233211123313321111332112211112331112212211233133311133212222443331332111133222133222111332133444221333441113322233311111112211332221111111122122122221111122112211122111123311111111111111111244222122111111112331122221221112442111122111244442112223311112444422233212211124421111112212222123311221111111221114442122122122244222221122244442221221223332211122111255321122111111221222331244211122123311221112331111334411111111222222222355211333221221122111122133331111222212211122222222122221221122221221554433222222122334421111112211111123322334411133212443323312213321112211221222442124443332211133211111111221112211112211111111111111333312223322233111332111122222211111235521111332122244211111111112222234422112212212442111221144321112222221112211111335551222212222111112331111111233111333312211221111125532112211122111111233221122122221333322333554455233233124422212331332122111122221112211221443331244211222212212332223322111111221113321122332244212222122111111112233312233444441133213331221122122112222221111221332221111244211112224433122222222333122111144321122112222222223311233123311122222331334423321111221122111123312223322112212212222133211332112212366333221111112211444422122122111111333322233222211221443312211111133322221221233333312212211221133322222331112213322212233331111333333322111133311111234422111221233223332211111332233122123311122133322111113321233112212211112211122111111222211113322214432222222113344211222212222222211221111233122221111221111111122122221222331122122221222233323441113332212211111222233312233224421443333443311122112212212444333221111122122222442111122221122233443311111222211221123313321112211221113321111112211234413321122221443211333443321444233212222111112222111233111221122111112222122112332332211133442133212211122122443212334433333312211124421123774321122222213333122111111222212211112222112332444422222221112211112212233222244211221122443442222122122332332221221111222212211244223312211112233233212444442211111112211332221122221554333111125533311112222111223355223311111122221221221111114433314443313333112442111332112233212212213323322222332111221221122112211112553211221222331122111221112331221332133233212332211332112224444224422213331122233122113321344421233332122122111111111122133212344111144421111112211113321111123312333332211111222212212442114442111244212331111221221244211222211222222111222212331332144433122222223311112366344333331221233111133212211334552332442111111222224421111244431112211112222235522255544311111221222211122111111222212211122222212211166555222222211222211122111222211221111255322211221332233122133211122113331221221222211122234551233221122134442331111333552113321221222211111111111122221111222331221224433441122222233331333144433112213323331111111122333221221112213333122122112213333112224421112244421124421222355212223311221111222224455122111133223442211112344111332122336644211122233113331111332333221111122111111122122122133211111111111222213321113331233112222222355222111221223322332233233313321122122111222344111221221221111221222211111223322222122333332221221111111111333322332123323312212223322111122234412211111112222334422133211113321123552221111122112222122112223322233332124422222122111221111233222212222124442215544211133212444113332331112213332331223336634444332213322211112212212211112222221222222443332211111112223322221123555111124442222122122124442225533333311112222122221111111223332212233311111112555222133211124444211233113322331113331221122222212233233553222332222211133211244233355211111223333111111332233221221111111233114432332221233125532112331112211333111122111221222222111112224444331221333111112211221223333112331144431111122334413322222111221122112233211112212212222111221221221122221133222122111111111222223312223311244211133332331112244433222211122444441222224421122221244233211112212212211123311221112233314433244331112211222332224421111122111221112332222133312211111233222211144344222333222212212211122221112233553322221222222114444411221123311112211122221233122333111124433235522224441112212332335544331111112233312222122221111122333221123311112211122123322244213321221111122122233111233221221111122266443222211124421222212211255321112222122111111124421112211111222211111113322233233441122111111222211222331111111332111113321122111221222223323441221332222211333311111221112211333311111222222122122122222355212553222112211133323312212553233213322212222223333444211122122133442334441122111332125532111111122111111332223332442122443211111133312211332112223322221112211122221111221111223331221122111112222221122111122124423321112222111332114442133212233323355445552221111122112331112211111333311333111113332331111221155433111233122122112211221111122221333111122221112212331112233322122122111112212212211144422211332111111111122332224432222211122222223311113321223322212212211123322112211244211222233212211112244322222221332332122221111333311111112211112344333244212212222113321112212222122221221123311122221112211122111233125532111133212331133222113333112223312222111111333122111221122221334411111112213333122443312211111235521222344112331113321122112442111223333123322122112331112331125533311222213321222233211223321333322122443211111233221112212211221111122144344111133313324432133211221221223344112222111221111113333111133211222212211111111111233221122111113321111221111111122111133332222221233111111122122221333255334552331221221111223322211111122111221111221123311133331124444344221443442133211111221111222213332211332244331122112442244412233441111111223322442233222211223444233133212222122111111111112211223331113321221111111122112222332111122111233221113321222212222133212222221221333322221111221112212211111444444333123311112444122221234411111222222221123312223455122443212211115544211111122122221443331111123322122332111111124441221111332124421111444442133312244321111221122113331111221122112211221443331233112442112331221122112442333112211122112212222221111124422222222355211122122255321111111111122111233233221332124422211133323312211221133332212211111113322211111122122221222211233111111332244423312223324441233133344321221122122233332233554321112331222211234422233112211111335532122221111123322222212212211133311133222111123441332124421111333333222222332332244321332233111221123311222223312211222222222211112211221332444323333222113333332111112331124666444233222222222211111112443322221122223321122112211123311111221332221221222211333311112212211111112255532221244212212211111111111133211112211122221111133331221122333122122222331221122112224423321111244222233112211122111221122112553442111111112222111221113321221122122122334411333113332344244222112222123312222144321112211111111222222444311233111122111122233133322222442221111122111112213321111221222211111233122221144344211333111112233443311233112233441133222233111111122333111133311233221122222212222221111122233123322221112442244222112211112223323322123442442333122222211112331122112211111244212214444221332113321111133213321111133233212211122223322212212211144321111112211122122111222211111221122221111223332211221332233332222224422222111112211221113321123311332443323311221112222113333133211221255552222122221112233345522234422113332222111221244211122112211122222224422331111122144333122111122122122111111222211122221221221155432221122122112212222112222112233211221554345512331332112212222221122144333234411221244211111122122233111221234433214433444233311111112223441111233111112331112211222211111223321222211111122111111244211112211333444212211122122112222111221123312222112212331111332123322222211334411122111111112332331133222112222112211122333233112223312233223311113321332112212211113331221133442222222112211111122112212211111122112211133211221112213322211222211113321122222211333244333331112212222333322123441255321111111221111221112222221111133211122111233221332333313321334411332111233223321333111255523332212222233122332111133222133331111133333322333221233123311112211122332244225532122233122223321111222222444211221111222223322443213322212222221112222112344233111111111122221111224433312344233122244331111122111233122111111111223333111333111221111111122221111112222122122122111112211112222221113322444322111122111111333312211112211222331112212222133211123333211333322222344333244331111221112211221122122221111222255432111111111222212223333312222221233112222111112222122122113332211333122112212211221221133212211112212222221221221112443322112333344112332222222212211221221133211133555122111244212212211112233223314444221223334411122111111233122234411113333332122221111144321111111112211112442221222211122122233224434423322111233111122111233122111221221111111122112332213322332553314442221111122111221111222443663211443222221111111223333222211334423331111113331111221111113331133222112211113321223331111111122111111443311122122222211222244434412212222111221111111122332233221125532111233123311122111111332111112223323311222355533211133344122443211222212211133324422222122112213321111111221122221123311221122111233221111111133333333221112212211133322144422211111111122111111221111221111221233221111221555334411114433244412331111221122111332443233442113321221111112553211112211233221112212331221111122221334422113333123311111223321555321221221221234411332133211111133323311122332133211122122113322233311221221332122221123322111111233111122222222111221333553441124422224421221332112211112222333322112233311133552111122111122221111111112442221122111221144322222111111111111221222212212211111122221111233222211124421122222442111233113331112211221221122122111222211111221222222111111111221122221113322212345522133222122111111222214432221223331112212222332133311221144466211233122443222122221333111122335532112212223312553211112222111221221112211221332221122221112442333112212222113321123312211111334422112222122111221112212222111221123441233122222444311222211112233323311111111221111221123322111122112211223331122332113334422112211122122221112211222222112222221333122133311112213322344111221443211111114433332111244211221244222122112212244331223333333221221221133211122112331133455221122112211244222123311222331112233443311333111111122332112222223333133331113321111111111133222111111221112211111221111233111111133212222112211111111255333133331332112211122112211122221332111111112553212334433322112222333221113444233222112212211334777222133223311221112213321233124441122122113331222222112222233122221244442111233332122112211221112222222331122224445511122124421333314433312212222122122221112211122123311222442122221111112211221111123333211112553212212222122332332111122122112331244211221122122221123455113344222222233213332211223332222244211122123311221112211111122233122221221122222222233113344233212211122332332111221122122112444421122112211111111122221244222111144322212211133332222222223312233442111443331133323312213332213333221122114436632221112213344211111111133442221221112212442112211222332255533123466333322222332221221111112211122221112222221332221122332222222122233221222211221221122221112332442221334411112212222111144321111111111111223331333221332112443311114443312211222211111112212213321111221122112211111233112332222133211122113321111111111111221111221133213322442332111333552122443212332211111233111111112212211222211111222211111122133222111111112331221124423322211133222124442211443211111223322212233212222221122112233211123312222111333111122233122113322222111233122333122221122111111112223312211221335521235533111124421112332211111112211112222221332111111111133211223444441222225533312331111111114432112211122222222332112223312211133223441124444551111111222211133331122221122112443311111122222211111111111123333331332112212344221333311112211111112222111113331221112222332122221111233112233211221334411124423344333311333312212211111122332333221112211112331111112222221122122112233441122133212233211233332222214433266432111111113323321221221221233122332233244223322221112331222222112212222111112222112222221122221222222111124421111122111221111222211221234662111221111112212222113322213321111122113321111332244211111222212212222221112211332122133332222111122111111112442233234411233221112223312211111112223311111244442333322112211112213322211221332122111125532111111122333266442332113321111233244211111133663332211111122111332112222122144333122122111221122111112211443333321122333322111111221111122111221221332221222212211112222222233222111112211221222212222332222222221112331244344222222112443322221122114432235521122221111123322333122222222222211222331111333221122122233111222444344421333111111221122333112214433314433333213333111111111112223322123312211133344221112213331111221221443344112332222133211111111222233212233344222222122123311111113322332344223333111221122233112212212211122113333111111112224421222222122221111222331221122333333122221111221221122221333221111122113331111111111111122114432111133443322223332212555225533111111224433122112212443323311122222233311111112222122125555222222111112222122221122123311221112331111221333333313322335543312211221111133323312211222222223322211133331221123311111255332211122555322333322211112213321111111111111222211221133223311113333111333113335522222333322222212233332212211333222211133331112212212211122112233312211111111112223333211133222222333331112211221112212233344122122122222211233111112222112211234413321221221222233211222211111332111122112211222222333122332112211133222111123312444444431122112233211332133233331122233222222112211112332331221111124421112211222213333221112211111122221221122222224441111112211122233112212444311332123555221221334422222221122111222222222211122111111133222112222122111222222221111233223321443442233133211332111222233324421221112212222221111111133333211333312211333455333312233344111333323311111221111443212211111122233111111133312233332222111112212332331122124423332211122221123442211221221335532221223333123322112233311112212222122123333331133331111111111223344222122111133211112233222112331333332244332244331221122122122111233221233111122144321111333311111223333111221111223322222111112211113322214433223332212355211111112212211221221443212331111113322222111122111133211332111332224432133211222211123311122112223322443211122111122122233233111221221221112211222211111111122133442133323311111111223322211233112442244212222122333322111111233111221332222331112222333133333322112222111333311234422122122221113322331122113321111122222211222222221221123312212222332221122234411335521224442111133212211111122122112233211122113333323331111125533111222222111223331122111233443331122221122112223312211123333331111112211333322332122221122122221122222212223312211112222221124421113333322331122111244212333331111133222222211221111223332233212211122123322112212211111133211221221111111112213321222211221221133211333123312212211122111335534421111111112222123311122244211111111133212211111233221122244222111221122122122111112222222211112211133211332111244244321114433222255532244331266663322112222123322122122112211122222211221111144421221221221112213321133552112213333111221111111222555212214433311111111111244222222331122122222213355321111112332244331122133222221111233112211111332111111221221111123333312212212222221224443311222331221122112211122112331223333133331333221222212442332111122444442211233113344211221133212211111112211144321222222122112212224422233212211111122111122111111124421111221123312222221112212224421133212211332111122112223313333125533322111111111112212211112212212222222222221111111244332211332111122221111222211221122222212211333332233222443311233112222123322122111221112222221122221112211332111112222112212332331221114433322133244344255433311112211221111221111111221221144321234411112212212212212211113344211144433122122113355323333111122233332122233122332122223321111255344221123322111112331233111111144321333322222211222233214434411334423331444222221113321222222221221122113333122122111221133332211333124423331332333333222332333322122122221244212211111113321122124441111233333223344111111233332111111122111222331221133212213321223333221111332122221111334423344235521221133222333311133211111221112212211111222333322211112223312223322222213333112211221222211122222211111112233222122111221111111332122111123324421111111122111111122111112331122122443331221133322111333322223322222111332111443442133441122221333133211222222122221122221111112211111111221122111233111221112212212211221111111222222221332133211111221112212212553234444133222111112213321221111122122333221122244332211221223333111112211123311111112233223442233311332221123322111111111111122221221112211122112211332112212211221111112442112222221111111122111112212222112331123311133212331111111111222222443355212213333443322221221222212222122122122221144321124444422221112332222111111111111112211222233211221133213321443442233123311221221122111111123311122112211221244331111122133312211221233332133466212211111233122111122222211221122443331122133213322223322221112211111113331112222122221111221111122111122122122333133322221221111133222244222122333111221221221221111122222233211221111111111333112222122332332221111333554421332122221444355443441221133222111111122122221332111111111221221221111333244212331122244222133211122111111111122133222111221112212213322212331333333313331111122123322122113321111122332333322333441112554455221123322133211111221122244431122113324432124433113322212211122332111123312211222344222223322221133224422222223321112211111221332333111122221222212211222222222444441111111112211332114432112222111222211111124421123312211112333444111221112332212211332111112222133223322122222212212222333555111133331443344221222331221133211222211122222211223321111221114444443333125532221111111123311133212332233224421221122111122333223332211122234422222344221222222122122222211122125552122334424421221123322221221122133331112223311122111333111333221122113321223321111111112212211332122122221122123322221221122235533111111233112223311123663233211144321122332233122122444331334444333321221122133211111111113333122122133233331111222344112233222111111123311122122222223311221221221111113321111113333113344233233112222122111333322125532112222122111111111111122111111222211122111133213366432111111124444213323321122333333322111111123311222344112553332553355211222223311112211112211223333332222211111222331332112213321111221112212222222212211244331332123312212222112211222332332331124434662221111244212222122112224421224432112213321122332221244411133331111122122111122221222222221122332233222443442331111332222211111122111221113321111122111221111111112224422331222233222111112214433111222211133311111122122222211221221122123322221223321111221111111334421111113333122111111222331222211112213331222211222211112332211222331122111114433552221124421332112222221122222212555212212211221112333322555211222331111222331122122333311122221221333112211221112211221111122123312222122122133212211112223312211222211111111222222122122111122111122221112212233322123311221122133223313321112222122113322331221233221114442111221221332333111443222111111111122112222221111122123312211111233144331332334444212233211112212233213335533122112222222233211112211221122112332222122333111221122133312211122122111111111235521244443312211221111112442112244321112212444113355524433112222112222332221333311222213331123311111112211224434441443222122222344221221233133331133441332122113323321111222211122221111113321122111221332111222213321333322111112211221115544422124421332235521221111111112344332133212222221111122111332122244211124433221122221124422222111111111122133323322123322111133322123311221112212332331133211112212233233313322212211112211222443322221112211233111113321111111244212224421111221221114433221222442222211111334421122222213331221111221221221133331112211221123312211133212211223344222111111122111221112222112344122111222233331222222133312211555521221111111122122112211112331111111111111113321221111122111233122122122144324445511221122122233113323332212211111122233111111122111114432333235533244211111122233221111122113344431112211332133331233111112211111133233331111221124421133212331233221221332123333212222111123313322211113331233123313355212222111223334411111112212443322233111111111221111111113321111111111233122111221332112222111123311112222122122222222111333311111222211113333221233221111221111233122221111221122111122333333311112222222223323322122111222222222211123315543344133441111221266432123312222122111111222212211334421144323331111233444431122332221221111111122111332221221111112222111111112211122111222222122233221112212211111122221244211112211221122233133311122122233111111122122222233344222222112211111111111111111122133212222221113331333333212443442222122221221122124433222222112222223321221122221113321122222211111111111221124421122123322111111133212344111233221111122122111221222211233122222212666321111122112222233122221122122133233212222112213333322331221122133553323312222133233212211122111222331122133331221133322112222122112212222112222111221111221332111221122112224422213322211113333111221233111124442445512344122221221112222244444421111112332212233313321111234422122112331332111332123322221221111113333112553222111122221221133333321112331112211112212222111111122112222221111222222344433122111122111122221134443312222123333331122221124421122122122114443311332222212211333112331221112212244422211133311111112332211111133211222212212222122111112222443332211224434423322222211122221221122122133442233111222211221221111122111244443322111144421122221122221333441122123312211122332112222113323321111112222222222233114432112331112211221113332331332112222222222111333441221233111333666441133322112211113333122112222221112222122233111223322222111122122113332331221221221332122332111123311111223331114433322111112331221111112211111122112211222212331122111112332233211112333321112222221334421111111222211221334423344244331255333122124443321111332111123312222114433122112553311221221221112222233112233311221112222221233111122233333111221111222331111111133211332111221112233212222111122223344331222223555112332211133222233112211332133331122111122333123322122112211111112211122133211122112222221111112211111111221221222212233222333113322222443333443311112211221112211222331222211111233111223324432222332222221233222211111111122221222355211233111144443144321223322331122122111221123311221111122111221111111112211112222222223313322211111221122111221221111111112212233212222133443311111111112233222113321111112211221233112211113333244444111233221233333311332244211332133223441133331111111332122222211112445511222233441333333322122233333111111111332111111111122113322212211111222332211221123333211113333122221233244212222221122122122111111332122111334421221221111221111221112211223333111222223322112211111133311111221133442332221122221123322122221112211111222211144422211222331112442221111233133331222222111122112222111111111244211244422111112442222233331111122112212211221111122111111233221222222122122221221443222244331332222212222111223321122233122223331111221113331111112233222112222111112212444122111222214432133331113321111221332222233312233332212222111122111221124421221233133211332221222213324433312212223311111112555211332221112233211222212222111111111144421333111221133311123311123313345512332222112233311112211332133311122122221111125532122222211111332233122222211223331334411112331111111133222114442122222212226644212244321122111221111111122255322211111222211111123322221113333111111332233122122334412222144332211233111221114433552332122112332211222211244212222332332122221113321123322334422244222111111123312331222212211333122222222234411111112212212211112222112222221112331122443312211123441122233122122333233222212212211111122223322211221122122221111234422112211332235521112222233122122111221111112211233122144322344122443211111222212666323321221112244322212211111133311332244422111144331111111122244442111221122332221111122111266434412355212211112214433322244344123312211122112331111224443312211112222122112211112213321233332221111112211223333221111221122133222133334443344433223333223321333221244222111443332344122221332111333221111222443311122111122112212211111111225543211333111112222112553355222222443311133442111112223442223313321113344233112211122332123311111112212331122111111122221133213333222213333221112213322331133331111111111133211111332112233355443312211112212233222443333211122112443322122112442123311221233233112212211111122444443311233111112212233332211111222335555332211224433311111222211111111221111111222233211111122112211222442113333112211113321122111122244211122233112211221443344122334423344334421221122222222111335532222222112222221221111221221244411112212331111221111222211112211111222222111233111233123442211113332222112222133222221133212212213331133211221111333442211123311112212331112331111122111133322111332221221333314444577222221111112222221133212212332212223322222233222111124422344111112224444211112211222366321122111223333111221111244211122235521222222222233211221221111122112222221221222331122122111111122112222113321111133224421133442112211332332244211112223322133331111133212222112331223344331233233221223321332233112222112211222222235521111444211133222235552233552111221221332144323332212233212222111123322111222212222244222221111122111244355212442122233112211221122112212212233442111221111133311112233211122221122111111111111221122112222113331112222332333111122222211122111332112223322112555311221112212211111122221222211221122443344421123325532111111333312222222211111333221112212223312211114432221122223322223555123322223331222211332222332222111144331122111111244211443311111222211122111223331123323311221111111111112212331122133211122443333333223333233112222122111221125532266632133344332111223333123311221221112442111111112331244212233311111233222211222222112333321123311122112211443212222234413322211111221221111222222122122244233324421222211244222221332111133211112212212233344331111221223333111332111222212442222211112331221123311122112331221112233222122111234411221111122111112222233221332333122122233221112332211222211122221221111111222211111221122222244331111332333234551122122122122443331112332223311233221555521111112212211111111221112332222112222111221221122112443442211111133211332112212211221111112445533222212211112211111443222333311222222221332221122332112212222221122222222221221113322213323321223331333122221113333112211111122133211111122221111222222122111112211112211221234412213333221221111222212222122112233211111222223552122111222212233223311334433233223321222211111222553212222111222212331122221122112224421133222335532113322344112211112331122221233221112332332211111221244233311133211221332133212211112222221112211233112211113331221223333123311221111225543332553442122123442211111333312332222111113321122111111332111221111111221332111122223332222222233213322222111111111255521112212223312331333332221221111221122332111133444112212344122333222222122221221112212211332244212222221115555211255321112332222222211111111444355331244332211112211122222222112222112331111112212211112211111221233111244331333322112212212222222233233311332111122554331112211111133312222111144321122222332211222213331221122222211111111111112333331112233333321112213344222222223322332233112233211332111333311112442122221111266643441123441111112331111111344444412664433122335533333233233222122112211111333111111111122221122221224432122221133233311111221122221221122222211133222112211122122221112211233333312331222211222211112233211112233332331111112212211221443331111123442212211221111111112332331111333311111221221133212212211122113321233332222211125534421111221122221366632112332222111122111122221333311133212222122333322233221221221221111332222222111223321111112222221113321122221123311221221111122222222113333321123314432111333311112442221112211222211221111333111221221122122111221122221112212211112332442221113331221133224433122221111222211221222442334421122221221133233222111221111222211221122133322333323312212211113355321113333332111221222222112222122112211233221112212443322332221112344113321222244441222222221111111122133213323321222224421333441112233211111111133322111124442553344222214433322122233111233112211112334432111221113322442223323321111221122221112211122111111133312333331332221222332223322144331111122133211221111332111112211222212211333112211111112211111111222211222222111111112222122222222111133222334422222222211443212345522122122222212211122111222222111112222123311233111221122144345661122221221111112222111122123312233211221244225532112211221122112211222211222222112212211112222222444133211122221222222122233111122113321122221221111112213344221122122222223333332223326643211133223324433111133331233111122221333311332234422111112331222211111123311112222222222221111112223311221112224421122221443222222222233222213333111113322222222212211221123313321112212222122112222244212233212211221122123323312344122111223321122221111233221221133211334422331111112212212213321223321221233123312211112211334411222212233211223331111333111222442111244212233331222211112331221122221333122111111122222222144331111112211333233112211111221133222111221112442111111122333333323324441112211244222111233111111111221112222223333123333331222212213331122111332332111221111111122111111221111122122111221332111332221223322233344122113344222334444122235521111244551332111223332212233334444122222222112233222122122111222444221122221133441111333122113322442111112213321233133442122111222332222221122112213332211111221111112213321221333123311332133322122333123322122335532111221122221221111111122122113444211144321111144333221222211122122122122112213355331133212233212344112233222111122111111111111122111111233122112211221112211333233133212222224434444442221443355211122111113324432111113331122122111111113321234422122123311112222111221122113322222221111221122111221222222123313321113355321233221221125532122221122221222444421233122111111133244333321222332355332233311221221221332333111122221111124422233312331221114432111122221133213325543355222112443311226655344211111111222331122222222122221111133333322333477332211222442133222221555344333112211113332211111123311133331334411112211334411222211122233111233333244444111111111113321122112222122244211221221155444122122122221112331221222331332111111221123312212212222233222212224455322211221111222223477333123555311133211111111221122112222133311122133233233333321221112212331111122233443441221123663212553211333221222332225532332111111112212211133211133442111111112211111112223322112222111221221333441233111123312212213333111122221122233112211122233111122222212233331111223333223321112211112244333233113344212211111123313334433211111113322211333324422222112223441223344122255344123322111123312211113321222211123441221222442111221221122222222124421122123334442212222333441111221113321111111111112233212222111122133331223332222122111124422222122122144321113321111111221111112222111111222222122111111133222133212211112212332211333312222222332211111332221111222222111122444552222221122233222334433313355212222133222332111222211122112213322213355212211122123311233112212211111221111333221113321122111221112211221244211221221123311221113331122233221122113322211122114433311111222212212222123311222443311112211122221122233223322222122111112211233124421111122111122113331222222111122112211112222113333335551334412211223332211112222223334411122122222212244333333323312211255522211112443311122111133211112211111122112222333313321122112222221111111221222233312222122133311122122222212331333311122221112212233233222222211332111222222111332124421122123312212212224421333221222223311221112211133211221221111111333122113344233133233212331112212211112211221255321111222213322213331221111222211112222133211335533322221221244223312222222442112211111144321122333111135554423333233221222222221122111111112331334421122122111221113333133212211112211133552133211111221133211133212214432332111221244212211111222211122111122221111221111111113322212331122234412211333112223313333222344333322122133444222331111332221111224433122133213321122222212211221111111333222212222123312212211112223324421111111255322223312211223322213322223311111233111334443344212211221111122111333113322212213324432222211111221111221221113333321223332332211333552111111244211332221221144333321221122223336632221233224432123322123333311221122233122333122122111221122133322233111332122111111112211122123344333111123441221222332331223321111222224421111222222333322111111133322112222133223323552144321122112211221133222221221111338854422222332112211222211223331221233221111123313333443233322111122122122221222211122111112211122111111112222122122112211122111222211334413332222223334412331134444421111221235551111123313322664334411222222111133223312222111111133211133211222211112332212212332222223355222122122122223344212211112331221221133211122233111332222212332344233223344244331111122124444225533222211111221222222133477322211133233211111221122112223322221222222122244211111221223336633442211124421221111111111111221223344211123311221122112344123311122221221123312366621111111122125532123311133211221114434662111122122222213322222122221122222213333122112212222111221444442112332331221111111223322211123441111223331122332114435532221111332122122222212212223312211221221112331112331221334411112233331332221111123322113321112211332221122111333311222222112233211333123311113321233111122332111221111223344233112345511221332221334444411111221111221255334423311133213321244226643332222112332211112345512331244422111112332222111111113333112211221111122122111122114444111333223321112212442111221123312442235522266543442221113321223331112211112222111222331244213322225544466444112244321133664442111111122222332211332133444112233322122111112212213331233111122111113321222211221111112233442115543442233221113331332122221112211111112344221222211111111122111113321111111333111233334433122111112344222233211122112222333221144321244211111333332111111111122122221332111113321111233111122221155542112211133442332113332222223333122112212211222233211111122111112223311111122221221112211112211122122221222212211111221133322222213321111112211443212442221111111111111334421122111233332112211221221221111111233112211111123311222211122123322233111122221122122444222221111111221223331112211222211333222211221221255321122111111233111233222211443311111221134455223323366344222224433244211221112223311111111111221112233441111334433222133211221221111112211111111113355333111111123312212222111244212444422213332211111112331112211332112233312222223332212331112222133233332222233111222222112213322211112222332221222212446621122111123311221221233221122111122221133222111111112212222122112211111111332133211111122221122221124433222223442211222222221123312233211221123441111222331122111221333112211122221221123311133312222443331113333111222222144321221223321111111233554331223321122111111112443311333144322212331113321244222244211122244222122221133223322222213333111122233333311233221221111113331221122133312222111244411133225532113321111133366332213333122255321244331444233233212211221221113323321111111111221122221111333112222111111122221112331112331221124422233443312211123312211221332111112332212212211111112212211111144433233112212444122113333321111111122112222221221112211221112332222221344422211111112212212222112222223333222332212222111221122122332122113344212222221112213322331123663211112331332111122113321244222112331122223333221332332122133312222221122122332112213321113321221113321111335521222224433333133222113322211122221222211122113321334422211111111221112212211111112212222111225544331112223552222212333322211111221444211221221222244331223321123441133313322222221111111221334424444323312212222112444124441111111114443332332122122122122122122122111122122222222234551333311111111111111122122221222211111244666644332212233312444422442122221221233122111222214442332122233111112211233223331234411112212332211123311222233332222221333311111111244212333321111221222224421233112211332221223332222222333333122233111122133331122133222122221333244211111111332133442111122333111221111221133211111222223333332222222442123322221221112211133223441222211112211111111332133222111221332111111222222222223441222211221122111144421222222111221111221221122222211122133211113333112211112213321333333442222212213331112211111221111221122112211233113322442221333311112223312211122221222442221122223321221221122221221113322211334423321111332333111122133224441122222233322112331111113322211221122112344111221233112212222111333144322555511234411111133442111221221122111222211111122111222222221122221112212223555112355222112224422222123322113333221224442111122122221222332233212211111221133233212233223311221111222212211111111112222111233122122222212224421221222442133222122122112331221111221112211221123312211113333111122111221122223323321222211221112331111111122221221122114432333311221122111133211111222212211111332122112211233244555244321332233122122332332124421112212355222122221111112222111222211112211112211332133322113321221111133332211221133311112222113333223321222212211111122332111333322113331122111111112211221122111223322212331111332333222222112212222124441112222134442332444422212222221221221333222213333112211221112344113333233244212222221221122122244222221122122122111133234441221112222111221122333314433111111221233223321444213324432122221111221111221221233222222221122122122111114443441111112223311111222212222122113323321122333443213333122111133212332211112331111124443333221221114432223355212233222113355322211111111112212233211111112223311111332112233223311221221112222222211124421222222111222212211332111221221234411113331334421221221221221112331221122112222221111111111221235521122111122133455124422212211233114432122221122112222222212224422211222332332233311122112222113321122111144331113321221222211112211111111112211112211111111221332333111133312332331221111133312211222211233122233122111113322222133311221334551221221122221332123322332111133331112223312331122111111221233111112442122122111112211222211111222224423321332113321221332144333233113321111122111122111221111122123311221112222113321134442144421134443311333442331113322331233112332331122112211111122111123311112211111111123442332211221221113331111114433323553312211111221112211122113331111221332221122133333444221334422212331234412213322213333221221112331221111233222211111113331112211221223331122255334411124421221112211113321122222211122111333312212444122221221233122122111221111221122111111113321111221124422222111221122113331111111122133211332133212344111111443331112223312212211221222211222366334411223333111111443222113322222133233222112222332122112211112222111113323321124422222221111122112212212211122111112332212224422331221111122233133212212333322223313331221221332111222355212331221111221111122222214432221222222122233332111221222222123312331222211111221112212224421221113332346621112222111221111221112211111333322112211222331111111222211122332125533123311133211111332443311111111221221111222331111111221223333122123441222212211111111112212444221221122122222212211112223441111111333313331221221244211113324433322332122332113333111221112233322444312212211233112222112211221332122244331111111112442332112233332211111122133211221222212211112222111111112211111111122221122112212213344211443233211111111111124433333312213333122244422111112222111111111112222112211122122221221332122122666555521122111111123311111221122133222114434441111112212222221133222112211133222221111111222233213444111144455221221222212211123311333323312222111111233233221222214432112244321332111222331111122111221122122221222233211122122233125533111233222233441112222332133244321111122111111221332122113322222133441224443111221333322112211233223322331443311221333322332221122122554333334411223323332213333333221111122111221233221221111122133223323311112211221122222211233112211111112211113323322332212211112211221221334423311234411244412331111221221122112212211111112222221244222222332223311222211111112222122222211122233111113333122122112211221112211111443443311111112211443212223312222133322221133323333311221122122221234414442122222222111221122112222122122444332212333321334433322112211221113323333221122111122122111244222233444222112222333311221111111111221122111221111122333122221332122122221111332222211111111122244223311222222111221221112442111122111111444211122112211333221112244331221332122122122224432133213322222221112212211113333111334421111122111111111111221221244411122221133555233222212211133233222111222233331122111133212211111122111122221133211111113321244211223331111332221122222223441133211222211111111112211333333311221111111111112211221133213344213333221111122122221332122111111111333144421112222122112444332111221222211111111221221122221222211333111221221333111122111112332233311332111221122233122221111123311123333222112233312211122222233222133213344332211221233111112211221221221122111111112223311233332112211133344111222331123553325532221133344112222221111111133322221112212442111222212212233331221112222133211111122221133331133331111233122221332122111122111221111111333111111112211111111332112211221221122222222122332111111221122114433332221122122111111112211113331233122221112211111332111221111123311221221221233222222111111222344221122111221111443332223311122133222111111222212211332111112211122133211111122122222332222112331111133331221112211111111221133311122123311332111221144321111111112553212223442224441112445511221221111122221332221122114432111123311122114432222222111222442233144321222442111221333311221222233322133333321221113321112222122221111133314432233222332224422442111111122111233111122111233222212233332211111332111221133212211222211332222331333311111112211222223313344111224433233244212223311221222212233223322221112355661332221222212211111221221111111144331555444222111111112222133214444133212211111113322555331112211122111123333325533312442255334412212555222222211111111122233111111221111244344112344112332211112222113332222111124422212211122122111111112222112211221222212211111122123322111133222112211222223312223666322111221224432235521222222233222222133442332211111113321122111122122222224421112212222122111221111111221112331222233322111122133211112212211122111111133312213321111111133233555122111113321111221133222221332222224433122113321111221223322211332221222211111133311112212211221222222443212211221111111122123323322233133441122112222222444422211222213331221112212211222211221112212553213322211111122111222211111112442111222211112212211221111221122443223311144321112442221222211112344443222112212344222223552111111222212212212211221222331221221222212212212222111112244344411113322222111111133442222222111122221335532221133333333333111111233233112222112222133224421233111111111221122123311221112223555233111111122112211111244211111112331334433224433111221111332122222211222332331332221144323331111334441111122123323312345523311124422211133311221133331111221234422223331122122122221122112442112332222221222442111221122221111111112332211333223321133233224421333133331122122122233111111122221111113321221114444424421122222212332211111332332122221233221344423322332222122221111234412211332233333311222211255321333111122221111223322211333332222332212331123311111221122123441234411111332255321111122444212444144333233122233221122222442122112211122233122122233124424442221111222223333322111122113344222221111122222332212211111133312211123312211332223355333111234412211112211123442211333322334444333321133223322221122123333331133311123313321443211122112222334422211112211111222212211233122111221112212442122234422222222221222222233221124433233122222222111112442112331234411111111244442113331133223311123311244211221222332212331443212212331222211112212331111111111221221221221111144433122333443321234411112331111122123323311133311235522211133331221122233122111112212233211112212331122113321111111334441221111221333122124421221111234422111111233112331123311332233133312211222233211221244411111122244331221122223323322211122122122111221443222112553313322222113322211111122112212211221223323321123442211112211221112222221111111113332211222211333122133211221112212233212211113321234411133212331112442122221122111123322221122221111111122113332211122111222331111122112553333442112211133553222233112233211144422332211222224421122112212222111333222442221222211122222211122111111111224444552244212222111112212211112211332112222124421111122554323333333441114432222233311111126644444111123312331233122222331111222213344222113331111332222211221222332333332222223333111111112222122123314443311122111122332111111332221221133211223321221133212212211113344221111332111111123322221111122221333311221111221332233221112211133312211221223322211111133233344332111221111122112222332222211244662333333311111221222211222211222331221222211112444123442211113331112213334423322122122122111111114432221221133322111133331122111332111122111443233212211111133222222213322331224432111222211112212211221111221124421122133311111122111111112332223322122112211111111233221111124444422112222122221222222221111122234412222221111111255521332133211332114432223333221333441122111111221122444211124444212553311114433324435524442111333322111221112222125554444331111332122112211233333112211112222122112222233123442212355222112213321111221244222123323311111111112233312215543331122122112331221333122122112211222222221122122111223321112212331112211221113321122221111111112211221111221112212244421111112553442222332211221221122244222112332211112211221133212222233112222123311221124441111124433333222233211133233212222221222331122111111221122113334411221111112212223311111112211112333333244244355211123311221122111122122112211125532233221332223321332133233222122112223456611332122233112211221333311111111122233133331111111122111112222113331222222111332122144344211122221111233112222111112222122122123442222233112211111111244222221112212222221122122122112223312211112211332221123322111111112211222211122123333322122332221221443211122111111112212331122122122113321112222133331113321122122112331112222111112443441111221223333111233221111112211221221221333332112222221221222211112233211222212211111123553442222221111222213333122112233331111111222222111332133222122222222112442122112212211233221122332112222113333111122111333112222221111111111122221111332111114432111233111112233233313321122221221112223312211122111111111112212211111332236632244224421111112212331112212211234411233233112222111111112222111221223321221111111221332234422112213333122221122122221111122114433313322224444413322211113332213322211111221221221111122113322212222133222111122221111112211112211112344123322222211123333331122223321111112211221113322331111333125552244411112442221332221554441111221113333111221222442111111111111332333122111111332111222332211122133322443233212212233223322221221111112211222212222111244222133333211111122122111221221222222122111112211221122221233221122333111221111122122244442111443332222221122111111222331222213344111221234411133312233311335533111133312332344221223332212211111235534422221221111112211111133331221111235521221221233112211111123333222221222211333221111112213321222212211122222222113333221111113333111122332222211133213322211222222122221122112211122224432111222211112222112222111112344221111112222112212442334444211133213321221223344411221122122133222111133211111233332144322233223311111244233222111223331111123311112212222221221221111122222222223331233111233233111221332111221221122122122222212223313321122221111221111112211244211233111113344122122112222111122122233221233111122233111221223344411111221221221233122221111144321123312211221112211111122113322331111111333552122443442113336634433332122122112213333111221111221112233233222221221221111244222111221115543322122332222222221114432111111122113331222211221122124422233322111122111112222221111112233332444434422112331332112222332333333553312211114432233233221122112222221111223331666662221133222332111221233332111123313322333344431111221443333211112233331221122111333322221112212211122122221332111122111234422221112211111133331233332111333221122122112211111111332112222112211222222133211111122111111221233122111222332212222123311221111222211332123322222212211133442113321111133331122112211112222111111222222112211114442332111333311333222212211111112213321221122221244211111111222333321244222221333312211221222222221112211111222331332233332244211333221112212212211222211222223442211122236662111221112211111122133244422212212212211111113333333333311244431221122221221114432332122122112442221222331122221444211133322221123333211111112332212222122111222331111112211112233331122111113331221112244321333311555333222213333111221221221111111221221111223344554344212211133311221233221111112222112211235522211333322112211122221111221112212331111111111123323313355331112331113321223331122233332133222122255322211111222211111122133211221244222221133212211222331221122111111244553222111233112331122111133224434412444221221112211123311111111221112222133212331233221221111122112223311111112553222112223312222112214432223355331122233111122221113344211122111111111112211112212344221111122233112233331222211221112222122222212331122111233221113321111111113333222212331112212445555533111221222212442133222111221221332221221223355211221113322233212211222211244211111111122221134442122222211144321122443212331122113322223312223322111221112222122111332111122111112211332221111221221332221122221111133211221222214432111133222221233221111111233332443212211122111221221111122133331223333332133331111111221112333321221122122112212211332111111112222332113333112222122233122122111222222222212212233211111221222222332111112211221111332122221122111332222211221111122112331221233111111234424421111233112222111222233222112212222332221111111112211443222122222554443466222123311222211112211443212211122111223321111113321113333133333213334422234433331111111122221255332212331123552124422222234413323444233233112211112233332213323321332123322122122112222221221221221111112222122221111222213321222211111112211111112212222221221122111133212223312211332233122222211122222212212214433111334412443322221221332133311222211133222223322212211111112223441133211112212222111113321122222233331111122112211122133441133211333332133222112222122111221244222111221111122122111111122221133332222112442221133211111122113331111111111113321111111111223321221222212233212222111114434422213331122133211221112211112224421122221223321255322222112332233212233222221222222111111111144332211554422331222331221134442111222211112212211112332211133244334432122122122111111111233114442123311223331113321233333122332111113333123322111221112211111111334422233211111443331222331113333112442122122333111222222111124421112211133312211123323311112222122112222122333442331333133224422444421111333111221111233222211112222122333323322133222233111112222222233442221122222211221112233222113335521111112211244553213333112233244333111133222234422222211222222222222122111122332221113321333133211111222332211111123552234412331133222332122332222222111111221111111112213321113321111112223311222344123312211113321111133211112212211255344333322221111221443222133212233244333111332111344433221122233122111233122122113323331244331112244322222122221221123322111122235521221222211332222222122221111112355211123311122332111122111234433211266433111233221222222221122111222233443323312211222212211122112233211332112233211221221111221122221122111111123311221124422331221221221233333111111133441122221221222212222133233311221111233111111122122111222233212211111122133212211221133441113321221111112331221113331122111333312211122112211133332244321332111122144321233233234422133211112212233331221233111221233111125536633322233122112244332211111111122222331122111221133442233235522222122332222211122122233221111122133323312211233221112222123311111122111332113321111333311111221222664431133211112211221332113344133223441111122122233233133222112222222211222211333312442111111221233114445553441332221112211221112223312442111111113334444111111122122123663311122111111112222233221111332111221222233223311122221122221111332111112442221221133331222211113333221113331222211122122122111133211122122222553233312331113323355212212331113321122332221133211112211112211111111233244413332211122111223333111222344111332221111332221111122112212222222331111221122112222111111113321222212233222133223322122111223321122233221221244442133332211221122222212233332442133211111222355211111112212212212211112213336632221222222112211221122133211222331443355522111332111122122111123333444421122112211332122111112212222221111111233223321112222332133324422331234412222111223321443212211111122221124444212233211111111221111221221221223333112213321122111122221112331224432112442221124421333311233111222211221112211111111111222212211221111222211122221233114433323312331332233221222442233112211112444112223311112442222211223321111122112212331113333123322111111221221111333355534412331122112211221112212233322112211111111332332332332122222211133233443311221111112333322213321221222211332221111222442233114433552111111112331111222211114433234422111111233554433221113323323323334412212211112222236633111222442222442223344222112212233442122133222222222111112211122112211221222222113332442221333255322212213321111111133211221122111122122111222223312222221221112442112331222211123322113333332111122221223322355211221233122122333333211111122221111111111222211111222211113323344222111122111221122112211133211122112222221144321114433313321221133212222332111223323322222113344211122111122221221112233323311222212222233332111334411111111133211111111344433211244332211111111443211255333122332221332112332223311222211133222122144345522112211111111122122221222211122222222221111122221112233553442112212222332112553333321333112212332355511233111122111111333322133211111113322222123311255321111333312211332113321122122235521122222222122222553223323312223312222244222111113333321221222211111111223333111111233112332211111233111221133211122111122122122221111123311122222222111332332223344211111111333124422222111222212211122122111111244412211113332211112211123311223321112211444331333223333333133312331333222211111122111123333663211122122112214432221333311221124422233222221222212211122111111332233221221221222222112222244222223321111111222222233111112211111233333112553311244212211122332112233211443331133211112332212334433133211113332222221332221112442112224433113322244423333111112222443331233122111221122111221123311111113321122222442332122111111112211332111222233212224421112233222221111122112331111112223312211122332111112211111122221111122111112331133212212233213323344211123311111223333233332111133211221233222211111333441112211233333322122133311122111111123311222211113321111222211332111122111111113355222113321221111111112331223321244213321221111233221233112211111111222213321111133211112222111221112212233322333122111122221111244422122113322211221122122112211111123322222223312222443212212211112443322221223323321112211111122111111112222111221112211111122122221233223323322233211444211123552112222221111133213322222112331332113331221122233221222211332111112222111111221555321122333221111112212332212212344333122221234413344332331111111255331222233311222211223321443331111332222222222214433322111222222255332233311244347732443222221244411221123324444211133322112211122221111221123313321221111112222122222212331221221122223322211133332346622222112212222113323321111111122221223333233123312331133441122221122233111112213331332112222233111122221444211111244222221221221111111112377433122332111113331122111221222222222233442111122333222222221122111111111222233222112212212222112212332211122233111112212222111111333322221123322333122111221111133311122332112442112233322112224421221223344122221112222112211122112553233224422222122111222222111221221333322111112211221332113331221112443311122221112211221244444333441233112211111123323322233221111122111111133311133331112222332122332244422444423332212331122112222112233211144331133311221222233211111112224444422221222442111144332331122222223552125532244332214442222344255333111111333311221112331122122222224444211221223321111111221133322111133233222221122133212233322221111221122444212222122112212331111111221332111111244233331113333111112211144441112213321122233221122333455233223331333112222122111111133331333322221443211111122122122222233331112223311221221122223321122122111111332111111222222221122255344233332212211221221122112212222113323333112211112222111113322233322111112445533552233112211221122112212233223322223322214433311122443312331122221133211112442244212211332443222122112222222333322224442211111222222221111334422211233111113321122221221113321221112213322222122111112212223311221111122221122112211233112244321111332111122122222225533133322112331333323333331133223311244212211221335552233211221222223311112212331222211122122122111332122222331221113333113321122332111333312331222442133222332221122122122112211122222223311111221111221111113332355212212222122111332133222123313321111123312213333222212211133312213321222222122233111222442111221111244553212233323311133211112212222112222122233112211221333333322112443311123322221122222211221334421222212211221122222211111111332123311111122111111444211111332144322332211112212211221222332212212244321122111122221333221133224421123312222111111332122111221111221123312213322211122222233331112331111111221221333313323322224441111222442221222212222112211221122222212222332123322111122111233111113321221112233222111221222222244233332212212211221144433112213321112332211111221444444111111111221223335523333112222332222212233212442122122222225552223355213344222111124421222222123312222221112213321333323322221112332211133344122332111133222111233244233211133222112233332223322122112223552123322221113332222122111222211133331111223321234423441333322222233331122221221133211124421111111221122112443311122222212211123311122125532122221221122111221233112233211111221111111122332222332211133222112211332221133211112222222211111111114432111111111221221111221123311221221221222222123322244211111112212222122443211122222211112211122222211122122223321112211332112212211112211222211111111122112222111222212222111222211113331223335521221112442221333123311133331111222211332111222222221111111112331112222223321112233222113331222366634412222221112331221111332111221235521332111123312222122233221111122122112225533113322211122122122122332123311111133332213322212222333233112211113331111122222332211111221114432112211111124455521244222332111122111221111112211112212212211221111221112223311133312331111122223321122113321133211111122112212211221122111222211221332112211112211133312211444223311122111222222112331221221112331133211221111332111443222111222222111112211111113333122133212212331443211122123311122122221144344444221122333222222133455122221222212211123311333442355331333311222211113344332111233234662221333123333211223331111233222211111223321112212211222224434423311221222211133233213333111112212331221221111332133322122122222211111222212555212213331111113321333111122115553332223311122222211112211111221124421111111133211111112214433111112233331111112211222211332122123344455321133213321443211244331111332122221332111111111122111122111123322112212331111255332222111255321332122221111112211111111111111112331111221233111221221222211133212222112213335521111111111111221223333133332233322133211111112444222211122111333122122112222123441443311112212233322221111112211332222233225532221112212233331123322111443553211122223355213332222555344112222111111122332221344411122443211112212443312211122221221332122221332111222331111112213332442112211223333331221233122332111221233111144322332211123333366336635533312224422222222331133333333233111111122332111221123311133211133211112331155435552255322211221133211443222122113321133442111221222222221111332221221332133212224422222222212222244211222211123312331223321133331222333333111221221111122122111111333111235522213322223333444122111112212211111244442133344444211122221122334422222222222111255321111112222123311221122113331111111222211333133211332122221221111133211111222331221124455322332212211113336633312212211122111221111334411333111111122112212233311221443311112212213321334421123333211221122221224432333221333111114434412222122122233233237743211111122122122122222222144321112222221112212223311221112211111112442122122222211233111125552123311244331111111111223344112331222233312331111112212222112213333111112332233331443311222332211112212331221114432221111112222111133211221122112222111223322222222332211133324433111133211111443443312334443311122111124422222113331111155533221221112211221221122133223323344331122444444433222212233322222211112331333441221123322111111122244332226663222112211122111111122111244422111221122111222344122122224432333314433311122122111221113331221113333111122112211255321111111221122333311111122111133211144324433111112233222222211111333133311111111443211112223322112344111111111111111221333455221122112213321111332113333333111112222111133311144321122244233442114433441221221233122122221122332222222111111221111122221114436643331221112331333311334421221234423313333111112211111122221221112211233111122122221112211122112212223333211133332212211133222111355533111133332442122122221111122111255332211221111334422223313355222221133332212223322233333122333223333122122444323344321113333223321111443331444366333221111233112344333112344332111233332334422211234411133331111123322221112211122112222112223323323324421222222244211111112211112222122124421112444221123311133213333111144344223322211111233113331244411223322211221221111114432222331122122111111221111221123333664322222221223322211222211111111443212211221234411222332211122125533312212211221111122223346621332133222112212332332211112211221332233123312212211122122122221122222222223333221111236633311221221112211111111221222222112226663331111111111144441122112213331444211112211221443211112333322222234412212331112333322211221111111222332212222112233211111221222211112233331114434411111333441332112211122112344332122221111111111112331334412244333111221111221122333221111221221244211122111111221221113321233111113321112233222334455531123333443322112222222332222122111123444442111122111133322111122111111111111111111221122221233122233221122111221222212211111111222223333332222233122111444222111222212224441112233222122111221111111111111332443211111111112211223321111111111112211111133211222223311112442233112331122112223322113332212222111122111133555346621112214433322221133211332222211233221124441122122335521221133211224432123311222442221233335533122221221122122222442111114443233112332211133214442233133212222233111111112332222221234414433111111122133233555212212331112443442442133233442222233233332211221221122122221111223331122222223311332333111111221111333133222133311123442222112213321221123311233112223311122133211223321112443311221124422211222443312211221111111112332212211113321122221113331122113331221221111221111333111122122134455222211111114442223322211221223331221122122111332233333112211111112222111144421111221111133322221221111233112222332221333122111222222233221133212233311221223322233331111444553322211112331111221112443322111111111111111244212331123322124421221113322233332331122221111332111221144331122112222112233331244332332211111122333313321112211113333111233111112211122443552112211222331112223311111332222211122222212212211221221111222212211223321111222222122223321112211111334442222113322211111122222331133311113321112331221111332111222222221111111234551122111111122332222211111112332211244331221222212222112344133213321334441112212233222112332211111221113333221111221111112212442112222111113344332211112222111112211122111112211111111111222222111112211111111123311111112222112212212455511221111221222212211355522211111111233222222111111122224442111332133455111111333122233332111224432133332213321221112211122111111113334422334423442332211112211221221333324423321111221123313321222211122133311112222122221155433122112222244211123313322211112222122233122122112211333111222355211111113321233133222122221332111222211124441233233122111122221122111222212211111221111122112211244212213331222332223466332233331221233222244331111127755444122111233244233222221114433333553211122332112331133211244412211122244332331111112233442211112211112211122332111112222333311122244222221221333111122111111111111221221221112222112442222333322244334411244244331111111221113321122112233334442123324444422112211111222233344111221112331122111122112212211111112331133444311234413333225544244322212212222221133213333222211221111111112212211332111122122111111112233211123441111122111133222333311111111111112222112222133442221222211221122222213333333244333322222133331112331221122123441122123322221332112442122233112211111133331112211112225533123311111111221221113333233222211112222112213321111333112442221334423321221221111114433111112222112213321255344122233221144334422221111223322223552122122233111244224423333221122122111111221122333311112234442332233441222211112211111333552112213322211332133211112212233222122122111222222114442332111222222122222233233222122221111233111111221233112222122133211122443324443133212233211221122112223322122444222116664335522222122221111233122111122111111221124444411111233111111122123311112222111111122112211221122112222122123455111222212332233313331112211111122111122111221111221111111122122122222211221122111111111111233222366321221133344332113321122112553212332211112332211112222122111112211113333111111122333222211221133333331111122221122122123322112212222111111111221222223311111111111222331111111113323333333111133222111111122111111133211122221112331144333122111222222112331111133311221223331122221222211122221111221122233443331221255333114433221122221111122221112222221112222111112211122111221222222222211112212222221222211333112222443222221221111122111122224432333123312222221113344221122222442223322213355222221122333122332333112553331111233221255322212222221111111233221126643211111122112212211221122221233333455111111115554444421122113321221111113344223322443311122221111123312212212344111333113355331111332134455133333322221221111111111122221221221111336632113321112442122443333212211113321122112442443211133442244332222111221221111111125532333311221113334422111122113321122112212212211111111122233221123324433111332221111123312211221113333321122233222333321332122111221122112442144433112331221112222111133211244442221112212222112332211123441133322122122122122112211221112222221222222122332221332122234412222133223313321111111133222332112553323312211333221335521122244411223332331122221222211113331332144444233322122111122112212222333311112215544223311222442255322211123322222332211122122111111133332211122122444332211122111222331122111444223312212233211222332211111112212211111111122133441221233122222211111122222211334421222211122111112222233134442221112222233244211111111122221333441144322555211122222222221111133333332211133223663332212223312211222212222112223322111122113321112211332111112233211111112442233122221221113322211222225533123311122133355211122234412222221112211123441111111133442111114432443344222211221221113331112212244441222222221122333221111113331126663333244321221111111111221123322233334555112211122111244211333311122221332112212331221113333122112213332212214434444431123322122111444331111111111111221122122222331111111111221221122111332221222211221122244411133443321111221112211222211333323322111244212244442331223321111332122123323314442122133222111333133311111111122113333112553211113331111221443222221221114434425552221112212212442111122233122112222122122112211111244211133312223442442111112211122133233311122111111112222244331123311133552221221133444111233221122221122332112332222332222222233111222212222111111111333122112211112331111333322122112212212211122111133224421333443344422221113331122334422221133322112444421112442111332221222233211122111112442113332222112211133552122334421123311111112222332233113333113333111113331133332331123311111111235523344222233441111133211122111332233133324421222212222221122122112442112211223321122111222211111221111222555233211111233233124421122111222223322111111221122221122221222211113344211111112212211111222345512212222111133332442122111122112211334421122111122223323321114432222332344122112224422223311221112211332221133443312222111111123311223355322211122112211122133331111222223311133211113333221112212211123311233221122122111111111124422222111122113322222221133442211221122133212444422211554331111222233322222212344124423333331222443322122333311111122133224422211133322335533333222111111112212211221122113355444443211111221133244322212212211111221111221234411122332122111222442333774422334432221332112211221222442133222233332111221444331112233311111112222111111221233222222111224443333322221255336633133212222111443322122112222111222211111133211233221222331233112213332211111122221221332122221222211112222111222223311221112213321222211333311144441111122111111112333323333323344222222111122112211221221122122233122222213331222212212211133552122333122221122221111221112225533111222211111112211112233311233333111113333122221122221112211233112211133212222112332211112222221112331112211111111111111233111112331111113332233344113344212444433221111221332122222222222222233112222112211111111111111234422111122111122221112211222225532113321111221133211222211123312442222211222222122222331111236662111221221333122111221122111222212331233233221233112222125532221111111112442122113331221111221122122332111113332212222123441113321111122221112331112222122112211111332112222113322211112211111444222113321334421221113332222111111112223322221222211112332211222331233222222113321113321222211222233444234412211222211332112213331122122222212442333312331111122111233122111333322122221112331222244334411111112223311222442221122221222331111111123313322211124434423322112225553111332111234663311111111133212331221123311221332122111122122122111112555311112444433255324442333111111122122221123312211111112222111123333322111113322212212442112212211122122244212333345522221111113331111111111111332221221223333234411233333112211111111111233333311221222222111113333112211221111122122111123322233122444311133331112212211124421112223312211221122111443331111111222334432114444433212212222222211111333221111123322111133355442144321122222444122111122111221221112211122221122244211122122221221125533111111144444122112213355533441234422233112213344212211111244212212442112222332113333333222211111223355553331221221111221244212212211332222344332332233112233311221333233111235521233122221333552113331122233122133211113321111122221111112211332233133332211244411111111222222111122332233221233112211122122233122133211221221111112223311133211111122221111113333221123322221255322211221122111221111122124444212233211122111133222122111112224433122133212223313332222111133222333322122133211113323322443322221233112211233234411122122221112211122122244344111221233122222211222212222221122555333111112332211221244212331221111221333323441112222112233322122122111122244222111221221333113321112444122221221223333333323312222122122113321111244233311112211122221111111221122221122111233133333211111221122123322221111112223322111112664355212211222233222122112444421122244213322211224432112442113321111112211111443244321223444211122233111221111123344344222213321112211222222333311144433222211112211233443322112211244332442221111222213321221222332211111111221221221111122222211122233122113332211222332211133331122111123312222111112233323313344222221111122111444551222222122333122111221221111111221111335521112331111122111123311112332211133332211123663441112212212233223322221122222233223552233111125532222333321333552222211333111443311111123311222222112211221111111111333122112213322344111334411111112222111112211114432332333322122111221144321223321222212211332111244233211111332332223321222211221221113333113322344222222244212442111111112344111122111221111222442222442112224444222222331111111223321112222221122111111111111111144322211111333221122233112443312212331443322223321244332212211332112212211112211222331112333333111112212222133322111111223321221223332212211244344221112211111122222211222331122112211122112212211443212211111122133332222221111122332133331111113323322223312212344233122133211112222111112213332223312211133331124421112332211122223321111111111111112211112211555446623331332122111112212211111133233331111112211122111111332221111266433311223322233322233111221332111244222133211111111443332212211124421111233111112233322221111332221122222224433111221113333112211221111133311111111111133331222212222122221244442244222223333133213333111111111221221111133333442345511111112211233233224432221111112211112331221111114432221221112223322122133332223313321111222333333111122111111113333334411112212222122244222221133344333123322111111111112223322123324433111222211111111122113321333323442211112331111221221122332223333112212212211222222122112331222211233222211111111111222222333312233311124422222111123322113321221133211122221221221123312211224432122122221222211122123322122223323321112222332112211111221112331221111122221221111113321222442112222122122221112233344111444411144421111122222222222212211111111122122113444411334422211221255321244331111221112211111111122111112211111333322333221111111111332111111111111221111332112442221223321111133212212344234433331244211221112222233332111111112223311111221221133211221221122112212222112331122112211111222331112331111122122122234411222222122332111111111332111112211122122222222221111224432111111111122122112212331112211133222221122222222112331332133212331122221122111233113332332331332111233332222222111122332221222223333322233221233124421111233111111332122122113321114443312211221223331112233212331111123441112212444133333331221221221222211111122122221222211111122122122221332222213321224432122244442333122112222111222332332211113322222133333211111112553311255332444122332122221221112222111222344221233111111221112213321221122444422233311221335533222222112331333311111112222222211122112331111144321112222111112212331111112212211222212211221332111124421111123311222212212211222211112212331122244411112212211113322213322223322111124444211122333112213321111113322331221222211221221221114433312211111333122222213321113333111222212213333221122244412211111144421332221111111111112212211221116655321122124441332111111112211122223331222211223344431112222233112211122123311221112331111111111221233111123322111221111221111222233322122221221122112444422211111221133311111112213321111233111332112211222211122111112224441122111122332112222333441111112211332111113321123311221122122111112442222211112443344333122222331111111111112233311112211332112222111122221122112222221111112442222214444412211333221112211222222111111122133211332133211122223333122122233122111133212213322222111111221111113322332222115543331221333311244222111111122233233122122222332211113321122222553212233444421112222123312212222133311114433312211222332233211111222211111111233223335551112222122221111122133222112331111233244442123313321122133222113332222222211122122244211111111221122112212233332213321554333111122333111122221222213333222212222221111122222212333344411111111122123312222111112331133332211111222211233122222222112212211112211124433223322222224432112211112344114444122112211112333333133212211222211111221133212233224435551332122221112212211122122133222113344211112222112443322224432111224434455222244331133444422222112223322111221332111111122122122112212442221221111221122221221221122124421221111221221112222222211222211111111124422211334412211122221111111122112212212331111112332223552111111332112332211122222223322111133212224421222211233144322222122111122233223334434412211112212333331122221111111222211221221111223331222211111222211112233222111221221221111111111111111222211221111122332222211111122122111122111335522212212442234411111235521332221111122122111122112211133322111233333122221112211122111333111112211111111124421111113344222211122444312212225532111122122333112211112211244211111332443331112222111111233222233441111122111233122233222222111222223322222212222113331111222233222111122111133212233311111244333333255332233331133332211443442233441113331122112211111111221112211122221332222212211122122112211332222222123311332133222333111222212333331112212233311111122122122112211334442331332122112344133311221333122233221155433123322223355211122122144321111123312211113323321112223322332221221111333122222211233122111334443221122111223333122122233112222133344123312224421122333221122111122223321133553312211444222221123444444111112223322222212222111333322223344211133222344421111222211222332211111122112211333312222111123324433133211221122112212553312212211122222212211223334411113321124455122111221112333321111122122332112211111221122111444211244443311221123322233111332122133212211144422211133312211221221222213322212212444122112211333111221111332244211222222235533111113333223321122443211122233222332233211233111113344221122223322212211233133332442123312211332111222212224433112222133222223331221111221221332255321222211244223555112211112442112212334442244222221112211224432111332122111244222221111122334433222212212442111111221224432112212213321111133333344123442233312442111233111123311221333312233211222332222111123312222111111221112212212211222211221111236632111111221144422212223313322211112212212213322212211122133322332111222212344221222332222112211122113321221133222333112211222211233111122221113321222344443222221112666333332211122222212333333221111113321221221332222222233122111111111221123441133332443311112211221123322111332223333111122233112212444133322122122144331112222332111113322211122221133211123322122122233111111122111144321122112212222332114432123311111222332442122113332211133322122122122112332222122223322222122221111221111111123322112212233552222222221223344111123323311112211112222112553441221111112212555332233331112212211112332222144344222212211222331112222113332332211111111111133233233313333234422111221122111222224422211144321355523333443212213322222223333111221221222211111111122111112331221111111113321221111112211333311222223311112222332221122233332111133211221223323331335522211112332212211221332222212222221111113331244212211111333133332211111111133442111222212211112222122124421221112212222111133211223331221334441111223355224423323321122221332122111333322111332122221122111222212331223333122112214442333123311112211555533111112224421333222212222111122233221122334422332212222221221111235521332122221221222214432111443312211133211111221111113333332222112213344553366333222222221112331111122221112222221111221113331221333112211111112222123311111122244211123311443212233225532332122122333443331111122332111221113344111332112214442222211122111123311222223312211111222244431222332212212222133211222222221234422111111222212212211235533335552122111111111233112222111221112212331221122111122111122244211122122111221122111133211111111332111122112212212344221111133311222211223322211122122221133211332221133333332331122122233221122221122111233332233244212331124421112332222111443222123322111122221333111123441111333122122221124433111221111221122221333113344331111111221112331332221133212212332222332112222122221111111113321111221111112212222133322112244422211111112222113321122123311111222211123311112211111111221122112211122122111233122221221111221133332211223333333323313321122221233112233333211122133212222133322111122113333111111333324421332111133344221221221111223332213324444422442112442112222222212332331111554344211133331133442111222222111332111244222332332111112222133212211332113323321222211111144321221122111111122223321111111221122223321225543212344333322221221112211133212331122443223311233221233111124421221111221112222221124421221122122221233113333111111111244211222211111111332111333133331222211122122112211332133213344433212222223321122112211113333233122222331111122221111112331111122111235521221222222244332222222442122133211111133224441122111122133332331111221112211111112222223333244411111111112212222221123311111221221112233466332344144321111333222222221221233111221333322223321222212332211221221123333333322222122112331111221234422111112222332221112211133211111122233222211122133444332122235522211111133331122221333111112225533314442233112211221122111113321113331222442111255332212212211112211133211144321245551112212211222211233112211112211112222221112213323322222122133332211111133312222123312222332111122332112211122223331113331333322111122221122221112211133211122221111122112212331234433212223311332222222112212211111221221244211123313321333113322212331223322222111112331111233111222331122111221112211233111111221111122114432111221443212211233244212212213321221221221112212212233211122111144321111333333311222212212222122221333311333333331221124421112211122222333321111122112211233222222221112442133311111221122233112211111112331111221111111333113322211122144433223333443211122122222222244211221133211133211222211112212222122333112331233122221333111222333331122111122443332222222212211333333221222233331222212211111111111122221122122111221221133222332111123312212211221111111111112211221112333331122111123322122114434433112212211133331122111111443331222211122111333311112442233244213331233233113355222244211122222344233111222211112222123441111221111112211125533322111221111122221122112222332221222212212211112212222122133211112222124441222222122332111112211222222223331111111111112211112211111122221221133212212211111112224421122133332222234433333222223331332111444233223323311221221133333323321111222233222122111111122222213333122111221123312344222222112211111221112211111122123311222331113321112212444222222122112331222211443442212212212442122122221112224433332112331221112225544423322222112214434422221111333112211222211113323322224421111111112211122111233221123312222122133244422444111125555322111332221122133212331221122122111233111112211111122221123312331233332221222222334433322111111233221222211112331111111133331124422211122122111111122221222223322223322222133332222333222213322222122113322444221221221112331122221113322211222211221221114433313321111334421111122332111221221112211333111221113332222111123311233332122222212553313344221133333335555344411222212214432122221124442211221111111221222212212553441555344332123334442222213321221221111111444212211221123322122112211133212222244333334433311112212211115553211113333221111223321333441111224433113331112222133331222222112212222334422233222344122122123333233312211122111333221133313322233211222212211222211333111112211111221111233122133442122111113333332122111112222122122443322122122221221112211244212222114432221222213322211443212211112211111222211113321111111221443442222122111123555123322122111122111133312223313322211112211112211221122123333332212442333221111122122111112443312211221112332212211111133211113344412442221112233212212222443442112223311112212212211111235521112212255433113321122122122113321222344234411112344332122111222212223311111221112332211111111222233211112223311122223321233122223334662122122221111112211221222211222211222211222211112211122113322213321221332221111122333122235522331333225543244422444112211112332233311122122244211133312212233332553213333323321233112222123322113321124422222111221333111221122112222111222212331122111333313331221221221233221122122123323322221111111222233212222111112224421222222111332111113321333123333663553211221111112212211122221133322221221221122122221221233233112213332212331122235522222221122221113333221122122222212212211112211112332211111133214432111111112212244441113322222122223322222333311122111113322211124421122113323323331222211233221221111133331122112212213321122233122222211221125533111112233212442221122222442111111223332212212222333322221112442223322211332222211222222112223443331221222222111113323355344233311233111222442221332111221111112211122122222331122123323314442112212223442332212212331233122111332221333323333211221122332111122111112211122122111123311112222111233111111111123311133311112211112442111112212212222112211233221221244333322211112211332112212222221223333111221221123322332111111221123311111244212332333331112442122333311113333222222332221112211112222221112211221112212332211112211112222111113321222211112211144422211333221112222124422211133344111111111221222331111334422222113322212212223314434411221333311332221112233552111221332222212344111111333311111113321111112212213355331112212211221112211111332122113322344122111112233312233332233333344211221234411113321112331221122221332224432122221111111111111332221111111112222111244212222122332155433112213333331222344112211233221113331221221221122233122222331113333111111221111221113334411111133311123323311111222344221111222331221122111124421111111223331122233112211123324422211111333312224421221123322122111233333552221111111223322331221332221233133322111112222114432111122133211222211122123552111124441144333111233221333312222221221112233212212211122223321222222332221113321234551221222211221133344321222444423332211122233112443311112442221222443324421333332332234422221222233311111111133666244321244423441122122133332211115543212331122333311122333122111332112331221122111111233221112223311122111113334411112331111112211111443442122332332222211223333111221112212211233122233111122333221113321122221112212553331222212211111112334432122223324442111221333111221111123553312222221122222211221133211111111111244332233222112212222122122122122443312333321224432111222211222331233111122122112233442122111111221244212211111111221133233331222211111122111122223444211222213322331111122111113321224432113332211111122221222211221222345662212331122122221332112222221221112212344222211133211111111233221133212211111122133331122111112222111111123441233221111122221112212222222211233233112222111222233213322442122133442112664441221255321223321111111221222331222211111111111221221122333466224421332113322555311112211221111221332221122221111111112211112244444233222233111333333331111223344433222124421122122113322223311112211233221122222332211112355213322331122122255533133553331222212222122233122443244333221255331111122133311111221111133211111111111133311111111112212211133222133233211123323313332211113333122111223321111122133212222144344233442244332211221112222122112213333111333311122112222334422111333221112233443312212222112212224443122111133222111111233332122111221113322222221112211112222221111333311133333332211123333323312211112442112331332111111333122111111222212212211333322122244222111133442221133211122113321111122111112211111133322111113331113321111221244222111244223322122221111111111112223322112222122233111111332222222333223333221123442224421111122122221122112332233344133212222122123311123441122112212211133213322233222222344222331333332111112213322442122112222133233222123552122133312333322222222222222212222112211123311112211122222222221111221111123311333333314432221123442211125533311122111222211112332212442233233122237743333321111112553214432111133344221222444221223331221111111222211112222222211221112211111111122124433111221112212223441222443311112344222233211221122112211221111124422211133244321112211222332222122133444433111221123311222211113331244444312211111122122111125533322123312222122112213321222355233442111112211233112212211112211332233111133312331111122133222111133331123556611221111133211122332122221123441111333222212212212211122111223334411332221332122111111112222122222331222222111111112212211111112212211122444433222222331122122111223332442221122222212212212211222331332233332112444441221111123322114432122221221111123333211233222332211133211111223333233234422122123324421111111222211123555533144421133355211133223311221111122222442111111222442124422331112222221111112211113355223312211221111221221221221133222222331123312211122111112222222222112212222333111124444332122113332222111111112442112212212211111133214433322112212233333211112212212211111223331111111133223322111222344122123322111122233222331332222211111233111112222333111111233144322211111123311221221123344355212212224422211122222222111221122221222555544112211233123313331111111221222444421122111112331221111122122123442211332123312233222222211122123311111122221221111221233113355321221443222122122222222221122122133332222113333124421111444444441223322212211112211113333331443233312211122112222111221122443442112225535521221221122111111112222111221221111233111111112211122111334433553311144422442122133331112222123441112222111221112211111111124433111122111133211111222211332122111233122221113322222112233333321112355223323333223322333441222213322211111221112233211123311222222222212213333221123311233234411111233111111443552111222211112222124433111111221122222212212211111221112222112442112211244444221122122122111222222111111222442221111122222222233111122221133331122221221122111133212222443222111124444412212211221122334433221122222213333233124424442122233221222211122221112222443311221221122111133225533332333555111113321221112331111122221236663322111122123311332111112211122222212212222122221122122221133313344144331124441111221111221122133311222332233213355212222221111221111124455321244212212234455111112331112331122111123441222211111111222331122221112211222211112212212212331111112331113321332111221233111112345523312332212212211333111122221111111113322331122111221333322233113333122554422211221112331222211332122222211111222222221112332212211112222112212211111123311332443331111122122133212211111221112222111122111111443222122114443311221112211112213321332222222111133211222224421221122111332221221122111112331113355233211122123322112212211111222211221112344221222331332111221221122221111111112213332211221133222122221111123333311123322122223333133212212222221111111234411122244433211112224441133333322332221221111111122133331122222223333211233233223323321111221333441221233111133331233223333221332113333124433112553222122333311113344331111122122112334432122111122222442122221111111112222133314442144332331122112244323331112222221112442111133211111111111111111111133211112442222211122221233112331222444422211122223333244411333332111222222111111122111112223322112331133233331111113344221112211124433332111122334411123311111122122111122122221332111111223331124422222221112222221344412255443555221111221221111233222212331221221111111113333112211111111222222222233332223312211344444211111122221133211444212211133222112211332222212222111111111122112444421122122133212211222211112223312222221111233123312553211221123324442212222112344122112442333312331221443211221255321133311112211244366333221111223333111122222333321255333244551122111111222222333111111111223333123322221111221124421112212211111123324422213344222133332222113331123312211111221112211111111233111221111222211122112211122133332222114433111122332122223321112212222221122111221332111111112222111233221221111122332122111332222211111111244211221221111113323331332122332133324421123322111133331222331221332123311443211123322222211122333233122221221122112442123552133211113332222133211111221123323312213321111222222221112331112212212211221111111122122122221222222111221443212222221122332111122111112211244222222442221112211112212211122222212211133214433552332122133442111111221126663331113321122144333112211221233123311122122111122332332133213321122111111122333315544244321111123312332331133222122244331112211221122122123322332112223323322122112211122111221222211122112223323311123313333222211133211111122124433122221123311133211222222144332213331122332124421111222211111112222111112211222211112211222212331123311111332233222211221111332221122123316654322211233112212211123311115543444111233221111223322211221112211333122122113331122221112222443333443441114442111233344411443212223322111122112211112222221122114433441111122221443233211111221221111124441222332211233112212222111123333211221113332212211122111123777331221133222222212442222212222112212222111122221234422122111332332111112211112211122112442123322122235544331111233133331122221244442334412222234413333122222331222213321221123312211122112222333323314432125555412225533333133211332334421113322223441111221112222113333122111111123333331234423311221144333332122111443442122443331233111221122224443311112212211112225532443311222211233222233223441224432222213322222133223311111221332111111221122122443455112211122111221122221111112233211111111122112212212211111122221223331221111221112212211112211112222221233122122222212442144333111221144322255442332122111112442112442122133222112222221222213331221223333334421222331234422111223321123323322111222553211122221111111223332213322211221112222122221111111222235552233221221111114432133312331111221122113321112211221221221122222211333322111111113322331134443314444221122111255323355442123313332222233122111133366643311111133312213331233221222212233322221221111133211222233311233234412211122112211133663222112211122255333222212212223312222123312212355211123312223311333442211333233111113321443332211333221222223323333211112222443222111221122111255321123312212212222122133311221133333333332222332112211133366344212223312212222333311112211443332233211221133332444313322211111111111335533477333112222144321111122122113331222222111222332222332111233334455122112222111222331112233211344423333111233144421122233233122113322211221221111221111223333112553222222211112211113331111111112331124422211111333312211111113322222111332221111332334435522331112211112222222211221122233133222221122122122111221122111222233443311111221112212213321122112212444221124421133553312211223321123455112211333222211111222222122112222111112211221224435522212211111111111122221112331122111122222211333122221122111223333111111221332122221221133331112222221112211333441221123344323333133222123313321111112255432112211111133233224421112233211221221123333233223344423332213344411221112211221111112212211112222222222233221112222112222111122221122112233211333311111111113321233111112211112344222442112442222211111332221111244332211222222332113333113321112443312233311111113333222213331112233212222112222133311221123323312233222111111122122223322211111111222223312222111112222333313333111222223322111222212212222122122233233223331112222144333111221111111111122111111233111222331122221332221111223331443212233233312442112211122332122333441221133311111222211122222331122221111112211233221122221111221112444333133212333344222221221122222211122112222221123311235522222112211222223312211111123312211122113323332212331333221221122222211333112332332212211222212233344255322212331111221222233222221111111111255322211221111221221122112211122221111221111133442111111111133222244233332443663211221112211112223441113331133211111333221113344332111112222122123311222222122123322111221112224424443322111332123311112212222222344222212211144346633112222112211333311113321222211123312346777144344122333322221221113444222212211133331111111221112332331333323314432221123322122111222222112211233222222112222111221114442122222331111222211443222221111112442133311223321112222133222122112211111221332122222444221233221221133331111221112211133311122333312444124443133323311222331233122444411222213331222211112222222211111112444333133211113322244321122112223312444433221111111221333444211221112222221111111122111221333322244331233123322233111332112211111233444312222122144442331133211111222222221233221222212211122443212212211223355211221112223311111113344222111133333332233331223366331112211221233333111122222211111333311332112211111111111111122113321133212212211111112211111123311221112222233333223331221111333311112211112212222222443311122124421332111112344111221133222122111122122333122122221111111111221122112212211112211113321122111222211111223332211221155532222222221111114432123333322221111221332221332111333444233313322211221113321123333344422344333122122221122111124421112222221122122221122113333111333133211111113333122221111114432244411221222211222213321111332233111122222442122225543211333323312332331113444111221223344233112444123441233223355321221112211133332331112331111223333127755421222332331112222111123322111112211111222212222111111233221221112233212212331112212211111112222221221123322112233211113321111332222212211233233111122332133233311222222221221221222442221133211112331123311233332122221111111113321221222244333222212212233332331223321221332112445512332212213321122244422443331333112233442211111111221244222235521222212211122111112331111222222112244333223344112211222213331133344122222211112331111111111122122223322222255344111111122111124441112211112211111111111333323312442221122124444422112233442112211111233122333233221112222233112211123322113321114433322222222233112222113331332333114433314444443122111111222244333112212442443212211333311122333466225532112212211221123322122111223333111222211221122122444366621133311332112331221111221111221122113321112443322122221111111111111122111221111221221222211222211111221332133311222331332122224442332112332233211122122233111111111111221112211233133233312211122111122221111112211222331111222222112212332211111221112211234411221111221221113321111133211133331122122221221122111111133211122122221133211332332111222212212211233111111222222122332111333441222233211221221332122111332122222233211221112211111122111332122112233346621113331112211221122124444233211112355222112213321122221333324421112222133222122111112222221111122221222222122244411221133222123312222111221122113331111122222213322331221112211112212233233222221111235544412211221221122133211112212233233323311244422111112212244355544411122144323335544233211221224433223344211221111112211221332122221133223312211122221112213335552222111333312211111221233111221144321122222212444422442221221111221221111221112212222222222112222221112442222211122122122113344222331122444211221233333111133441111221233122111221222442233111333322332112211222222122332221111111122111133222222211112222112212211122221112212211222222333322133233233332222112213321122122233222222333311221223355331111221111222211113321111333255331112222222331221222213322212213322244322211123312222144331122111111111223331124441222211112222111111221221111221133233222221221221144422213331111122112222122113321333124422233322122221223333111222444421221344442224421221112212211332112355233211112213321333311221111122233111221111122221122333311332112332223322221111111221332111122221133212222122221133211122112211221111111111222211443213331122122111123311111222355512212222221111233122113322331122122221222211123313322211444222332221122111122115544222223321255333111112212212222133211222223324434422122111111122221221111221112211233122122133442122122222212331112211111222222221111221111122233221123552112233213331122244332212332222333333332211133331112223322113321111112211111123466211111221332111221112233344333311221221223322222333112211332111221234411333133322112442112212214442112212222233332111111111122123311111122112233222111122122122332221111133442111122111111112332443333222111222212331122111112211221122122332111144444211332221111113331111112222144421122124444222221222212222111111112332331112331112233222112211332221111112211221111444441233111111443211133211111112212211111111221223322212442221111111122222444133344221332221122233221112211112211111124433221122332223332211244211221333221111111111244233344244222233255333334422112211111124441332112332212222113321221112222113331133211112211221111112211122233122112442111122223323331555331221221112211221111123311122144344222112211333333222111332113333333112211111111221443344111112211122111122133441112233222133331122332222222122223333111122111112331221122221233122113322222221225553332211122111111122112443443321112331112211221333111111122122244332332212222112212211113323321111221123442211222211111222211111113321122221111221112212225553455111222211111133331122333222222111133212233211133345512224421113321221221144321112211122122122112211443442211122221221112211332122144331111222222113321113321112223455122122221122112331221122122122221332123322223322331112222333111224444442211221112333333122122222442124434551122221443311221113331221223344211123323311123312211221122221221221221224433441111244222133332211111222211114444333311221122111332112222222211111113322222111222222221221111122111244443322244212222112211122222222133312222111133211665444111113333332111133211222223311332112212553322221222211111444211123322112222122332112211221554442212332212224422233333322442344433124421111233122111122111222331113334412211111111111233112445532122222331124422212211233233133211123311224442444441122122111111233221122111112442222211334442222221122111111112344112223442211122123455122111133222111221224434421122221221222222112222111333442222113331122333221111111223331111144321111122112212211111122122332122122123312211111122111111114432111221333311444222221221155532332111112222111111333221122122223323321221122133222112233311221222214432133233331221111111112211112222111122122222222111221112211122122111222211111332111222355212211133344111222331122122111112222221113321122222222111112211111221112331233111123311221111221133344133311111222211112222111111221221233221112211123311111112212233212211244212212211112212212212211111221122122222211123311332114434412331222233222221111111112211222211233133222122221221111221221133663222221443331123322111122333553311112223311233221111221222222122111112212222123322221554322331222223322123323322111221122112211221443331111332111333332111133212233331112211111122443443321123333212222144331123311122334411111221111122333222211122333111122113332222332222553555513333321333122123311234412233322123355552113321221333111112222112211111122221222222122112222111233112442221221444773311332122113333122443222133441133323311122144321222333355321222211221333311221122113331111122221112222133344111233122333322122111333311222444113322224444212212222122111112211112213344331233114432113331233221222344122221144421122111222211122233113322211221122111111222211122123312211122133211223332211111133211122333311221144455123441113321111133442111122111332111221111111133222221122122221111122122222222221222355443312211123441133211221222211443212211112211122111122111133443312222112213321233122133211112222111112222122222213331222212211122111123312211111111111111122112344122444442222332332233344112212222122111222344133211222222122122111112212211111221221221122124433111221332221111221334426643212211113322211111443331111122222333332212222332122111443322112211222212212331112212222554321221112222111233133311222211221112222113322212212442332122224433311222212211133322221112553222133244344233211222211111133312213321122111122144322211244331333311332333322122111111111111112211223321122122233111122221122333221111233222331111112222332133211443441221123311221221111122111222222133441234422122111111222222111111122122111112211111244422133774333124421221113321333312442114432111111111111133344333332233222233211122122122443331112332212211123311221122133442222221244213322366321111221222211133211221221124421111221332111122122222223322111123311112211111122111221221221111122111123312442444211221332113321111221112211112222332111235533111122233123322223331113332212222223333111111155433313344331221221111233332443331221223333222211111111122125532332111123333211113322211112222221332222212211222211234552222333222223311112211222222221112442111122222222221111111122112213333221344421111221111221122111334441233113321111133331222211222332211334411112233211111122133222112212331113334414442221111244331111122133322122111332112212331443213323333221122443222233222211113334411332222211122111111111122114434444331123312331333322111332111111122222211233111111113322211122113321222233211244212222221111133211111122111122113323331112222223333221111111123323312233442213344222111112212211111111111111122111122112212233332222122113332222112211112332222222211233111222222112211123322221113323322214432122111111112213321112211221111222332211122122122123311221221112331112331111221112211221122111221112222111112233311443331221222211112211221222211222223313331221111332111332113322222221112211133331222211332112233323322111223333332221111221221334466223552221111222222244211112222112235555533222221122221112211112445661222212222111111221122122113331111222223552111111222223311113444222443331233332221111221221221122112222111133212211111221112443313321223344212233213344222122124422222221111122233332124455112332212212443322122233111111233111112442112222222333321111122112212442124421221443224421233112213333221133322111111221221223321221123312331221112331223321222442222211221244211222331221112211221222222112224444333322212222111122111111111122112344111122123441244223312222113321221111111122221112213333113333233122233233111114444322111234411111332122122221144322331122333311112442112333333233221111122221221244211123311112212222233111114432122444422111233122222211112212213322233332211122111222211332111122111133332331123311123322222222333221133323553312222111112213332211133211111133312211111122122111112211111122221122133314442112211122122223333111222223311112211122443212222221111113321112333321111111122244244334424421332123322332122221233114433322111123311111111125533112213344112211124421133222111111221112212211122155432112211234411333322221222211443211111112211221111112233355455552221111233111111111112213322211111112442113321122233111111112211111111122244346621112222122222212222223323333133331221244223322221333312212331122112211111222212331122222222122112553322122112223322122133222122122223323334442111111111111234422221111333311113321122221112222122122122221122234411111123311114433112212442122333312212331112233222113321221111221133211222212224423334411133311111222212211332111111111123312212331112222111111122112211111111112331133211244331122111221122124433112233443311133552222553443322112212222221233332125532221332111221222211122222211221122123322111123311334566233112214433312222221111122111122122221221333122221221112211221113331112212211234566332122244411111112212222111111222211144455122222214442222222332111122221111111111332222223663344133311122111112211111222331112442123323313332211221112212222222331233122113322211221122111221112212222122112211111112211122221221233112332211111223333221122221221133212222221112222233113333111112212211221111122122222211112222111443222112331221335533111111111225543332222111112211112211112211111111221111111222211123311332112211222233222113321113331112442221111113322332344113321122111233122443312244323323321122221221112222122122223355233332212443443344111112222244223312553222112212344222443326644331122221113334662111122111233122332221111112211124421255533222212212222113321111221111233111221222211233111221222222122244413321122112211122112211112233331111122244222122111111111111133332222221111443331111221122111111111122111222222112222122112222333311222222144422211223334411222211221221111333314432344422133312211233111111111236634422211244211112213321112331222211133211122111221111111111244331111133211122111133311124442553222244211111144421111112212555344111133311233111111112223311221111111335533311122221222222333122112222122111223331111122122114442113322223311333133212222112331111221122122221112222111112233212213331333323442213322332331111133213321221122122444211111111332123324421112331111244222112331111122123322111111123322222223322111221112442122221114443312212222233111222211123312224422212233332212553211124434422122244442112222111113321233122111223331113332211111122114444422112223324441111112212335544444223333123312211111221111554321111112222112212223322122112223311125532223321221221112223311111122122111221332221332111244443312442221133211113344222122122111111112211122444222122221244222112332331332111222211133211333111112222221111221221122122133332211222222221122122111332221233122111221221255331111111122124423331266662133331111111221221122332111122122133211443331133344332112211122221332113323344223442331223334423311122236632223344114433221222213331233222211122221222332211221223321123441112211133332222111221112443311122111133212233442233111332111124422222112211111111221111123312211111123442211334433331233111221111122332111122221111122221124434411111122122112222112222221133211122112212211122244411244422234551112212331123322122111222213331122133313334411112211111221113334433221111221111111112331122221244211122122122221122124441111221111134441122111111443223311112332233212331111113322222111111133244421112211221221122222212211332333113344212213321122122111112211111112331123311111244212211111113321112211133212211221112212331111113322222122234411221111111332222223322332133211113333334422212222122332111221123311122111332233111112212222444355233211113332214433311123311112211122112212211111221111222212244321221122112213331111112331133333355212211111112211221255331122113321223321111112244431113333221221332221122124421255321112222111122222233332344122221122221111113355522221122111111112223311113322223311221244773212212211111123311223333222222111111221221111221122111122221332221111122111233221113322212332212222122222223322332233112233555211112212212223322122233332221122222222332122122332144422331333552333122133212213331221112332211111111122222225533312211123313332442122133223311112211332221122221221244222111221221221111122155534433122111113355331133346622344222222122111111122111221333311122111123455111221333332112211112211112233244344332111221112211332221122123442212331332133311244332212331133331335533113321233233222222222211221111221122113321133331222331221221111244213321222442554335552331123323322233221221112331113333113333113321122443222221133331221111222212233331122244331122111112212212211112212553442332122221112211122111443331111223334551111111221112211111222212211221122222222111122222222122133323312212222222442122111221111111111111122244444112442111221112211221133441333552111144333111333312212211122333312212211111133331112442222222111222211122332133212332211113321333112211111112211111113322344123333211234422122332111444331111122122233222212213321111111123323333312211221333122222211221222212222222233212212212223312211111221255323333113322222114555533112211133212233222111113332222112222221221111133444332233122111221224442111111133212212211111223333113321111332221112213333112222111443322111122122112211334422222113332211333111112223333442122233122111133212222221221122111133211122111112212211111222331221222222221155435553333221123311112331221123322221122111122332111233111111221221123441235551221244222111222212442221133212211225553222221111111244442113333112244321332111122113321111333122111112332222222233212211223321111221122112244321221222212222144333332221335521122123312233222113331221112212222221222331111233113321222211221113323331111111133331112332331221233234412222333221111111111111133332224422553222122113321443331223344346621125533133222133332211111111223332211223332211122122334551122111233221221233122112211112332212211111221222222221122221133211222332331222213321221112244331332133331111111122233111133311133331122221111332332122111221122111221222222122221113334413344122122122222212211122244211122333221122112212212211111111122233221332221133442122111112211122112214432111122112212211113321332221112222443211133212211221333333233221111221221111332122335551244412222332122111244222222211112212332211222333323331122332233111332221225543211222233211221221144332213333111444223312222112212211222212211221244222112331221111122332221122122112212244441111221112222111112211221133331221222233211123312234444113331111122112222112211221443211233112222221332111123311221334666113333112224421333311122332111221111111112233331221113322213322223333211111111221111111122122112211221111112212211111123323322114444422211123442233331122111122221111122123312211111111221122222244322211111112212222332122111111112332211333322221122222331223323321333111332122221221222211221233112222122112222221122111221122224444133322111221221112211111332221133332331332221222211333322234423312332222122333322111111111122111221133233332222111221122144321111221332223333554421112212442233113324442222211111222211133312222123441112553212222222222124421336664421234422123322122122112222111112211111122111113321221332222333322211235521111133311122122244411111223321332222223311111122125533113355333233111221223332211112211133312212212211111122233223333111444211111222233331222213323321113355321333311112233322113322222221111332122333322111122233112222233126643311112213321222224443112213333112211133331223321233221111123553312333321111222224433111554432212214433311133233212222111112212211112222111221122111111112331113321222222123333224441111233111111221122112211111111111244211111112224422211222222122221122122112442221123312442233111222442122223334422111111122124421112331221122444422112222244211133211223321123311122123333211444212212211111122112331111111122221122112332222122113321122123322221222332331332122122111112222244332223311233112212222113332211111221222211111122221133224422222244211111111112212222233112233212222111221222211112244333111111111332222224421111112211332124421111233222212222123312222112212233211124444412211112211112332211221112222122333313355222124435522222111111122221111112222111112212333324442222211113321123311113321123312222332112211221133331255321122221221122133211111221222222123322144322211221222213333221122221221111111122112233312222122111221122221112211112211133322221111233122111233122122221112211111221111233122111111111221112211221113322212211111112222333322222211113321111233222222133233213321223332211221111113333333322122133222122221221111122112222111111111222211122111233221122222211333111332222211222211221221111122122111112211133442111222222112222111111111221111122122111221112442333312332442133222133212211111133344111124433221122221223344111111111111111111112233212223441112442111111111332224433312222221332222212211222211133233312233344111221221122122133344122221122122111111122221111221122111223334423322111112211221122221111111111332222222122221111221113321221111221113321333333444211113331122244211233111333122113323321222224421112211123311111332111221221111244212233322133211233112331112213321122133222122111111111332221233221111333312442122221334413322212211111111122221113344266634411111112222112331122332113321221221222443311112212233331111233123322112222111222222233111122222222221222211111122332221222442112331122111332111122123311221334444211222211122112211113344211221114442144433221111222332212212233211112332211233333322221222211112211113321112223442211332333133331112212222222222112344122112233443334442122333111333221221112211122133441112331222333333111222222112222111223322331112211222555332211111255321277773322333222212211222222233113321111122221222222444412211133212244345523311221112222332222211114435533112211222442222211223321222222122223444442222222332221223322211233221222222122222222221111122112222221111144433223322222133311233111111221123322111221111111111233333333233333212331144334424422222111222212211222442111443314442111222332211122221111122122222331333133212211332111233133333213322233333334444422112223322113323333222223311133222111113322212211221122122221111221122221111333222211122113344211224433112212211122124422213444122221111222211112211112212212443313331122112331233222211333221112211133211111334422122133222111221122112211333312222112211122221122112442332122224432122113344111112331443211443212332212222222222112211112222112366322445553322221221222222112331221221122221111111112211221111111333111122113344212222111222222223322332211221221111221122112223333366333221133332211144443355544331233111122111112211113321221221244211221133223311133322222222111112331221122113322222221332112444455111112223312223312211222244321244442111111332111111221222211122124421334444212233441222211122122122113333123311122122233111122111122122222222443332212211111332122111443222112211112331111111221234412211221123311112211122111122111333222332331111113331122122122221133211113331333223322332222222222221111221111111222212331233122111333322221123322333221144331123312222123311221111123333233233211244422122332221122222211112222222213322211221111122233222333321221221112233443332222111112211111111222212222133331221333133322123322221111221123553312224442211112211112222223321111222211233144322212211244212222122122112222111233112233211111223333126644422222223311133322122221122223344233222332122332133312212222122122112233222111111111111111122111233114443322244211112212212331222222111333311112214432223321332114433552122222212222443233233211122111111122111111112244422214432122122111111333111112553443311221111222233211133311133442111111123322222211222212233311125533311444211332111122332244211221112211112211122122221221123311222211112211221111332222332222112212211144331443212211122122222555223311122111332113321112344111221332333221111334423321244222111111332111222211111122111112211222222111122111112211122111122222211221111113366321122111332111332244211122221133332331125533312211111122113332211221144331123312223311111112222111443211221221122221111112212331112211112222332444331122221133222221111221111122111133331111333442211443333346623331223333221221112443313321111333312222122221112222443233211112442113321111123311221111221222211144344212332233332212211221221122234411111244215543222133211221122122111221111122222211122221332221221221221122332111112211111113322211112211122122122114442222213321122222222112222333122221112331221111112211221122112223313333333233111111255322212233222112211333311221335533112211122112344111111111111334422111133312222112222122221222211122222211222212332226643222111221221113321111443211233222213323335522222111111112212212211111111221123313331133222111222223441222212332211111221221221124442213333124444332222221221332125552233111233122221221332111133212222221144332212211221113321123311221111122222213331221111233111112212233443333211222212233212212211221112222122222212211112222111221233113321122111112212211333322122221221224432111221113331111133331221111122111112344235552222123322221333322334421223344213344211155434422333133331111333111122133212211111333112211112555346621122112211332112222233113322222122122221221111111122223333112332211221221233112233211221222332212211133222111233222222222222111111111221126643331222222333323355442111333122122122221222222122112212331122233122332111122122123311111112211122244223313331332122112211123552221122122221111111123313344211112212211123312222111112211111122112244322213346622211224444422355344333333312212212244344331255522211123314433221221223321333221111122332234663333211112211111222233211111122122111133211122223323333233113333221113321333122122444212222122223322212222333111233111112222244211221112333321113444221112212222221222224421111113344333333133211122113321122122111111113333111222211244444433233222233212222111333312554445522222211111111111111112212211222332213321112214433311133344111443222443212212213333123441114433311111111111222331221125532221111112331221222222221233333233221133311111111133211233233233111133312222112331122112226644553322233111122112211133222155442122333311133211221111111122111124423333112213321111111222331111122333313323321221112213333122122332444212212224441233223322444112211224432221111111113322211333255333221113322331123311122222212223311222222112223311222222223324432222211122112211112331222366322213323321112222112214434422355211111222222235533133213333127774432366322211333442233222122221111111113331443444111113324433144422222133211111221222222332111112212442112211111112442112442221113333111244213321111123311221223333111111133322221111112212332233212211221111222222112211221112233312222122122112443322332144334411111244211122133322222211221221332221333122221112212222111122221221133211221223344222233122112212222233122133211122222211221221133212212331133442124422211112211122114432123322111111444331112211122221133211112211112213333221111222222111111111221111113321222212222112331221123333214434433111223322331332122111122221332113321122111112233211123322133211221111111133211222214455533111111111113322331133213333111235533111112211223321122133211332221122111222211122221111221111111222211111222211222212331111244211111221111333311112211221111112211222212214444421111233443222333322111333221112224422344443311222331112344122111255321222212233223322221112222112211112222111222222133332344224442122332221113321111133666333122113323322222333311233123311112332211221122333111334433111123322222213332211133355511221233112222221233122133444112332222233221233223333122111111221221244211233113333111222211111122221233111111123322112211111222211112344112211222331111123311122133211111244411233112222221443222233112222332122111332221221113322212222233233111112212233233212332223323322112212233213321122111244211333312233211111233112443441334411112331111122443214444112443312213323333111111122221221333322111112233212233442222211221111111133322122111221222344111122111133442221133212331133211123552111133314444122222442111112223322111111111112211123311221122221233122133442333333355443442233212222222223552234422444211221111221122122112222111124444212213332211222212233443312333321221221112333321112442122221333224433111144331335533122155433223334411444211122221111224432111221443233211113333112442221122122222212211122221221332144421111333122224443322221111221112211112214444311133311234411123323441111111244212211233334412222123311111111122122244222332111222222112224433221221123312223344433221221122221111112223323322222223333211133222233221222224421222211122222222233333323312212331221122122333312222122112211122122112222255344212211221221123322111111123333211111111111222222222211133233212211111221112223311332221222222112212212222114432133223311111221111113321221122223322233222123333443311111221111112222221332221233111221111122122221221112212224422222112212553233222114432111122112222221336632122233333312211221222211111111112331222233211222211111112211111133322221334434411111133213333322211233144421333221333111221221222332223442211122133211111222211444434442334443441111111133331111222211221111332123324441122112222233221222211221111111112212211122111113321122233221244233332442111222213321111112222255333221111113333443331122221122122332112211333122112211114432122233333333211222331222211244222111113322331124421113322244323322331113322213321221222211233333322222332212331112222233111221224432233111111133212211333333211122233111221123311122122113321112222122122122333255333224442111444211111112211111233222222221122122112211113355322344111111221122122333312355511332123441111111111221124422212331221222222111112211221112332222112211112212233213321122224433112331222222122112211221122221244211133332211122221221111221111133211221124421114444221122222331122223333112333333321122332233112211221111234411111221111111123311113321112331222222111111221221122111111221222211233122111233222223442222113334411221221111221221222212332331123344331112211122332221443211233111112233212331122112211122133311221122122111234423311111111133211334433224432333223333111221122111133663332331122221113321221122112332222221123322223332222133213344332233122221122111333221112211122233221111133211333111111111122222211111333311221112222112222332112332212211133322133212213331335521111233111123312211222211222331332122111122122111114433311111221233221111133211221332144344442442111123311123311333312222122113333112212331111112222122111123322244331233144344113332233212222133331133552112211123311221111236632111221112222122111122255331125533322112211221112222221332221111332112233323322122122122124443111122114444551222211111221444552222122221221122221122221113321112332332344233221222355211113322222111122111111111122112331122122111112222223321112212212212233211133311111111111111122112222122112212223311122332221122112244466211221221122122244412222333111113344212332211222244322331112211333222331133222221122111222331122221133223313321133211112211111112442244222221222225532112331111111111221133331122122133233222111112212211122111122221113321221333553442332212446644213333111111133233211222211221332221221112334433133333331222222223323321222223311221111122112222221111244233312211122244211112213322222221122221122223323331111112212222122333313321222223441112211111111221221333122222211233222233211122332144333111222222111112211112211235521333312222221122111122332221111111111112344332133211133211113323333222222111443322124433122122332111221112214432222211111221122111114432122111111111111223333112212211122223322222111133331123312212222111111112211113322211221112211133442112213666322331233333111332221222442222211133331111111221122221233222223334442442332333111221122112222122122221122333223321122112211221113321332333311333322233222212223313333122111221111111122221221111111255322222122222222332221122554321221111111122222331221112222111122111332222332233322111222222112233323312211122221255322233213332222221444211332122555522212211133211336632111111221221111111122221133222223321112233214433221111112222111111112233212211123311332111111332111222222111122332221335521111133211122112212223322122122332123322111233222212213321222212212212211112211122123323322133222111255333122124433112211111233122222222111332233112333332223311112212222332122111332122222331221233122111222222221122112212211133553222122112211111221134442111111122122222211133312212211124421122233222211111112213344411221222211123311122133222133442211333311122133331133211122113331111111222213331133211111333322222222332111111333332111111111222212222111112222111244332211222222221112222333333346662223311221223344222123323312211122111332111123441111122221344411221244413333112212211332111221111111111333221332221443211221221233222333333122112332212222122443222122155433322111111332111122244333321111221112211122221221122221222244331332112222113323333144333111222211123311122221222211133323663213333332234662111123322221221221113321223321221222213333321111112332211133212222111122221221333122122111112222233122111244222333312331221112443311332443552112212211112233553311122224434422442123311111111122113322222122221244212212344111112213322224422222221332113321133222221113333111111123552166643355514444332133222111122244212211122112212222112211112222332133311221123311122133233211112211233244211111111122111333122112211122122233221111111111111111221221221111111122244211111221222553331122111122111111111222211221221332221122221111222222111111222213321111221111111124421122111133311221133312222222222221244233212211112224421221221112212224421111111133222112211122111133333331111111112222224444443244331111223322212211112233212222111111123441125533221222222111123313323321155433311112211222211122122111133233212212331223321111111224444421111222222244224441122123311122112212222122122223321221111222331123441233221122122333111221133211222213321233111111222212212331122122123324421111221122133222111221112212212211133211244211111221222211112212332211111334442212211111222211244223311222331113321122221122221222222122111244211221111124434411221333322221111122111221113333111122111332111332123333222122111332223321222222112331122133212211123312212442133233222122111133212233312212212222221111332122111122233222331123311221111111222213322212212244421122221221111133442221111111112222111122122222222111122222344221112213331123313333111112222332233122111111123311221122111221333111111133332222122133233311111221122111222222221134444112331111233334421221112211221332111122222212212222224443311332332222331133311112222122333333333444421111133312212212211112331122221233333221223344221332114433114443322332233221122122112223313321221111112213331122221113344331221122122112331122122122221122122221221111112331123322111122111221112222133442112211222211221112222122133211122233111122221233112211222223311122111222211111112331334422211133222113321122233443233211112355331114442221122112244466334432133311111123312331111444211124421114444111111111111111112211223321113333122122221122111111122133213331111133211332122122221233221112211133312211125552122112553332222224442113332211111332111222443322113322211222332223555532124422222221111222211112331223323321111122122123312222334773211122222211111112222112222112331112224421111111244211111221221112332211111111333322221111111221111111222211233112212212442111111122255333144421124421111111222211244444112212222111234433323311125533112212233553311111144421112223311222222221111112331111144334411221122112222123312331111112212446623344211111111223355344233325534444222221221443443322221112222133222223344422221221111224434433233112211333312222233122221111111111223321122234422113366333111223331221113324433311133332212211112211221221233122222212344223331112211111332222223322111133442133322122111111112224422211122122122112332331113322211112212212224422222221221111554332222122221122122223321221123324421122221111123311222211221111122123312333322212213333233111221111112211111111223321111222222221221221122112222221111221333133211234412331133312211111112211124441111122222211221122221122111111122233332111111233222222234423333312211233111221221123311221233112211333323312366331233111333311122222332212211233111123312212211122221122122111123312223312332213322331112222333333211111221112213333244211221332113333122133332442111122113321223331122112211221222233312211221223344122111111112211112211233332144322223333222111112331111122133222111122221122122111233112233332211222222122122112331112344112332444422222111113333221125532111334421112443333442133222122221112222221111113333221334412332331122111122221122222212222112212222221333221221111133211122333123312332442113321332122333133222112211133331111111221221122443211221111122222212222111112332222111112212222333311332332133211113321233112212213321221123442212211112211111222222221221111113332233212233233211122222664444111222211223323323444332331122122113321133441333221221443442111221443222125532221111111111113321111255322222111113321122112212211112331112222111122332122333111221233122112211112211221333222332212222221111111122221123311332122122133213333113323321111112443314442443312553332211233122133322221122111112344111122221221221111222442111111112331221221133332211112211122122223321112211111233221133333344123311123311112233311112211112211111112442111333111111222211244233311122123313322222111122111123322221221225553244333222211111122112233312212442221334421234411333311233111111112212211111221111222222111233221122112211122234422122111122221332221112212222122111333111112211122111222222222212233222122221111223331221144321123333312211221221111133331123311133444112555311122133322111332233112212224433122111112332212222122111122221111111222244441122233333312233222221113322224422212222113331233112223555233111221223332331221113344222111112332331122112212444111111122113323331111244211111111122334422233222113322211122112211221124421111111113322212233211111333312233222122233333111122111222212331221111112212211221111112211112222443311112211221111123322222211112211122112442222213333233112211111332244211111111111221133222111123322111233443455333111112222221112211111122222344223322222122111111133442133311111111221112244332213321122112211112331222233223322122112333321221122111222212212212355213331244212233344221333322144421244222112212442111235521233223323344222233112211122123311222222111113321222211112211111112331332123312213322233331125532111111122133322133222332123311332111221122332122111123311112214443311221222211111223321122233111334412222111112332211112553312223324433233133233222122332112211111221122133211333123311111332122113322222122111133442221112331122122111111112226643211332111111111112211221113331111111111222331111222211222332224455321333222444444212222133213331122221111221221221111112211221122111122112211123312355212211235522211112211123312211332112211111111111124422212222221255344112212443333222112212212213321133333312212211111122112222111111443212211222233212224433111111122111133222111234413331122111111355521111221221332122122221112244422211111133331332133331111233123311222211122222331123311111133233222111224432144321221122