2332211221122221111124422211222331222211333455222222221112222122122222211111122111125534551221122223332443322122112211122221122221122222331133442222211111222211111111222233222122112233222133224421123312442222332222111233221122332113321122221122112212233446621111234552233211122111122122111332111111221221233221111222222133222122111122333111221221111221221222333321443553445533215553331222222111111111133222221222331332332112211122255334411144321122221333133222221221111111122221112222114443312211112211221111133212212553222122122221111133211221113331122221123311112442244211111221122111111332443312222233111112222113333133211122112223322111221133332211221122335521111111333222222112212222332112211222331122133333332211222211112211111111222211221112233222222212233311123322111111221112211111233111332122133212212332222222211233111122111122234411122332222222111112211266433311221111233222211111112211112443311122221122133212331111221221122112212212211122111221111112211111112222221333553311111112211113322444224433223322211112212212211111233122234411112212213322222222211221221221133311332122122123311332332233221334434423311221111221221122333244422122112442111221111233111332222212222334442211222331221222222221233111332221223322331124433111333311221113321144344211332111133212344334421222664332211123312331333111112212331133222133322122244214433313331221221221332133322111123311122111244331112233331111332221221133211222211112212212222124422212442221223322212211124421112212211111133222244211221124422222443331221221221112211112332213333221111233111111111221122221112212211244222221221554333222222133222122221221332111221221234411111122112222111122122221111222211233221123312211222212211221133331111222332223311122223321111222212331122122112222111111111133222221112223322111333322221332233221111111221122221111222211221111111332122221122221122111113331221333311222211221332111335533111111112222111221111221222222221112331233122112211133212211122444211221221222233331221111221244222221111122221111122111221122332122122233111122555333111111233123312211221332113321111233111144344411122133322122233112233212222244233346621133211111111112233312442122332111443222233112211223321111221333111123312222111113333321111122111111133344112212211113322333333122112332212212212331122233133311122122221122122111113321111221332333222212222221233224432222366331112244321233112211111111122333222213355521221133331122333221332113333332122112222111124421233233333111112211334455221122111221222222122122111111111222222111443211111221221233333111111221221111122221133211221123322133211122233125533112222221111221221112355212211133233311111113355522223312222113321112442122223331122112233211133223311112211332112222222222133222122122111123322221111111112442111133312211332122122122221122244332222333144355442111111111111235544344123333211122221221112212331155433311111111332222211111112212442112333344111233111221222331112211122122111111111233112222122133211332111122221111111233114434433133211255551123552332554322222111122111122222222222211221223321222211112244321122222212223311113331122221122111111111111444213323321122122221112212222221122244331112888655212332443333222111122122221234412212222111222213331111221222211333133332212331113333122221222332222133442442221124421332122123311255322222111122133214445552332233222334422211144332211112212444133311111122333112212222554321112222122112213332212212332212222122123311221111233221133322111111111122112222122122112211443355442221124421221113321222211443212222112331111122221221222222221111133441111111221233223331221221123311133331111221333111111111333311113321221221244432222122221122122122111223321221113344433212224421111122111222332344111221133311222222112211111111133311222442111112332225534422331122221222332331221113333444212211113332233331111115544311111111112233222111221221111111111112223441111112222111123311222222122122332223322212222111233111111111221111122221111221332443222122233112211111123333444312331111221332111111233111112443322111221111113321111113321332233122122221133212222122111334421112331221333443344433233213333233221112212222122332133442553331222211332111111111221111111111334421221222445532111555333244244421233124421332123441443444133222332221221122221122133211111221244331112244344122255522211112211111123322112222133331221112211133312222122333112211111111111111111122112211332244444112211122221111111221122122334443112331111122113333122444213321144321333322111112331111112222332111334433122133213322211233221111221443323663322122133211111221443222112332211221332221222331122332112553222333322123313331222211111122221222213333111221112211122122111112222222331222212233212222111222222221333324444213331111123322221221112211122222211334421221111112211223334411122222211122112331112222233333112212332222122221332234412222233554433123663331221244211111111221122133223311122112222111111123443322223311122112344332221122111122111122112222332112211144422222144333122112331223321133212331221111112222233122344411112244344123312244321111122112222113335551111111122333552111133211233221221122332333221111221112222112223466222112211221111222211221133311112333333333111112444144322442122221222212225532122222211244211222331112222233112212211122222212222111111112211122111221222222124422331111111111333311111111111333311122111111111111112223344335522212212224421222211333222341010664322213322331233332111221244211333112222221111221112211221122122333332221112222111123663332211332111122122111111332122111221555421111222211334666221112212331112211222222122223455511122221122111111114444221112211111122113321443311122332112222233133233211221222223442222244211332111233123313344222222211223344222111221133233222122122112212223311233144422211122233112211334411111333221665533113321113322222111122112212211223321221233221332112212211221221111334411221111221221122221333441111111113344211122222212244455322233312211222212212244332233312331222222111112211111332112344113444211234412211123322111221221332111332122111112222112233233211221112211234411112332222112211111122221114443322222213331111221111332112212222111111123311122221112222111221111112442111112222113321123311112211222233442112223322122244222235521233112212212212211112442233221114433311111122333311122112212213332212442221223344222212331233122111133211221111443442112211233221222222122221112211111111244553311223333332221221112211113321111233112233444111111123312214432221124434422333221111221111111222223312332331111332333312331222213333113321112222222211222442221111111554333122332221332122122122111221221122112211133332222221122122443442222222123312223311133211144334662223322331222222111133212211332223333111111221443552111233112233222111112331133211122122123312233312212222122221332113331111236663322122444444433112211122111222442122113322222333333222222222133212211122221112233322112244321111112222332112222122233133331332122122111221112222244212332334433122223321112222122112222111333222223311221122122333222212222111332115543552221222331235521222222144444355332211111333221235533133211222211111221113331332133222112233211443211233113332331112211111122111133211122233111112211111332112331222332244331222213344334421222331133211222211111113333221111112222122332111111223322222221111122221222222112664421221122443213355332222111332122133322133322234551233221222211122113321221111443442333332112211124421234411222213333222212211123441122111111122111112211111123312331221123322111111221244211333111122111111124433221112222223321221221112244321222211111244222123312212331122332332111333663223311221222212211122111112212233212331122333133323441111235551333332111111122112442111222211233221112212211221122332112332211111223322222122233221112211234664422223441111111221443311221344433114433221222222112333322211112222332222211111123322111122233221111221111124422211223321111133311111244212213323344212222332122112213333112222221333122111223322223455444443311122333552221221122133311111112211221122333222222133331221233221111221221111111112212222122111233122222444222211133344112233212222221221111112211122221222222111122112331122244211111111222211133222122122111123311233112233331112442122123311122225553331111223344422221113321221221122222222133344112212332211122112213333222222233111112212331233113321123666215543222233122113332222133222111124421113332211112331122122221221122111112331443331112331112211222222221332112366322255432123311122133223444433111111111122111111122122123344331124421221221123311111332223331111123312442111122111111221122111222211122112331111111332111233111334433112211333311222211122133222122133222111124421112223441122333311332112233211111221112211124433113321113321223322224421266442244211112223311223321122112222133311122221112222111221111222211113333222211221111112233331112222122111144333112222111111111223331244211122222442122112211112222111122123311221332114432122111221111113333111221222211233222222221112442233122113331112331233122221111123311111111222332332224421111222212222111221221221112233331112233332212222333311223321222222122122112211122133212212211112212223324423331133222113321244212442221113321112213321111111144333111111223322211221111124424433312331443222233133211111233111221112222122332112212211112442221233111111111113344212222221222212212211221111124433233332221111221112664421225543332211333233221144421112211221122222212223441112222333133311332112212442111122111124421221223321111111332133331112444441222211333133222112222111111115553331133331222213321123333311221113321221122332222244333224442111223321122443331112211123311133332212233311335534422211112211111122221221122125532221221244211222222111113331233122111122111122111223321112344221111222331221221122122222222111122122222211124441222211144344212355512212212222122111221221123312443312255432112214433314443666312442221111122221111222211113333555321222222113321233221133211113344222233333311222331111234566122112233212331221111112211112332233322222222222212222112211133442221111111122111122244211112211221111233221221122332332133211233111332111221111111222223322122111111221123312211112444332111111124422211333322221133311111122113331223333335521221122122112211222233212222113322331222222221111122113322224421244332344333223332222221112222221122221111111333222211333112244333221333441112332222122122112331133443312553444222222221221222332211221123323333211133312444113322332211221122133331112244322233211113333123322111112334442112212212222111111112222233233112211221124442211112211221221233111233235521122223322212223312355224433112222111111221233112222114433222222111111122111112222111112224421223321112442221111122123312211222331112223323312212332211122111222212212211122332133222122123312224421112211221222222122112213332212222221332112333321223321113322211222211233112233332211111221111111113321133331122133441111222211111111233113321111221122122221111221223321221111111333311133211221112222122332221222331221112224423321122114433333122111111221111112211332111222211244442221111122222222222212233211111111221112211111111234423311112331233112211332111111334411112331443311122133331111111222222111112212212222333122144333113321233332144442222111111111111221233111123322334443123322443213321222331111122133222221221122111111112211111333441122233111443331122112212212244433221122111223334411221443666212222443212211332221133333222111114432122111124444211244211112211112222221123311333112213321112211111221112222122122112211332133333323312211122111233332221122114442333221221111111122113332211221111122111111133211122122112444223321111122112224422222111222213321222255532133331133324433112211221111233222222332111111122333312344111111123322113321223323331123441112211112222332235521122221111111122133331221111233111112211221221122122111111221122223321112213331123322111443322222211112222234551244442333311133441221113333332123311111221222212233211112222111222223311333311223344221333311122112222122223331334423333233123441221332133212442233111336633122111223333133211221111155533333221133222332332122332221122112211224432123552112211111133211122122221112211133222122112222111221333111221122221221222211233222222332443212211123311221122112334433311111221111221111222222111123312212211223344111112331111111222222114442123312212211122221111111111221122111112213333122133213322222111114433313321144321112331144335521111122221222211122222233233211122122111333122123311122122111111111111122221112211221111111333111221221122122111222443323322112212211223331443222122333111332221221111124421111223321111144321122111122113332213333233111111111221112222124421444213333111111233111123552111122123311112211332221111111222233212442123312211332122222211111111133443322133441122122122123312333333112223663311112211244411221133332211122221122111123663311111113322212212223313321111233222211112211221221112211222212222133331221111111222212223312222222222123322443212333344222112211221233122233111444444244212223333222222331122223321133332331111122221122112213344212223322112211233123333311443344221122223321111111111123442212222122133222332111111133312222122112331122112222113322664421221133323441224435522211222442144421221122111221111111122112211112233441133211112442443211133331112211112331334551221111113321333233221133663223311122112332211111221122122233221233122122113344211133322222212211133224421111244211221111111111123333322111221113333221221122135552333314443312211222331221222212214432111124444366344233443322332112212331111123322113321111233113322222123322133211332222233214432223322333322331113321222553233233222123311221111111221111222212222112331122133331222233212212212212444444212331122122111122122222212211112344112223322234662113322211222211122233122111133331113331111122111112211111122111122123311122122111333311111221122111444442111222211113321223321222222111111122112332212331111111122222225533322133333332222122333111221233111113321332222222233222331244211122133311123333211111111111111222222221113333222331332111123311122222233212331223321112212225532122111222211111111113332222122122112222111221255333111133553225533311122233244211111112224421234411255333221222211221233221333332221332111122112225533111112211122221111222442122111133331133211332221112442123322111122122222213321221333111111111124421114444422212332211111111112331221221111122244211333221111111133323311112222333322112333331222212775442112222122333312233211122111113321223322211221122113323322211111221222332213324433144333122133211122244233244331222211111122111222332222221222233311111111111133311332332223321221111222442221111122222222221554422211221221122133212211334411111221123311222211112444421221122122122111222222223331221111111244222122112334432111112222133311133331223334422221222211113322331122222222123311221112223322122221111122221222442123311221233111221443211124421111332222244333221122221122123323333333312331122233122122111444211122112333332222111222211221122223323323333144421122112211111333311222212222133312213321221233111111244411111221111111333122111112211112211122111124421133211111333222233332332212222133311133344221222211111122122111112211111111222223441233144333111113355211221122111112333322233322444211111221122221112222221222222122221221221113331111134442133222111223321112212222255321333113321111133222111112444411233111122122112212553442221122221124421221123311222213322212211333144344133311111233111111112211112212344112212244344122111223333122111111221112233323311112211111144333112331123552111112331223322222222212211221111233222345544421222331123311111221222222122111233111332222212222122112331122111235521112211221133331222223323333553211233221122332112344124422332211112211221221222224433111222211221122122221122122122122111111221111112211133312211112211221332122122122112222111221221221123344321221123311221122223331332344442344111221122221111111111233233111221221233122112222133211333313344331122112223441111111111221122113344122332222331124422331133222233233112212213332211334412211122123312332211111233111233221122113332211112222123312212213335522212211111112222222332442221221112222111221332133213323332211111233111222211111111122112222112211221123311112222222233212244333111111221122122122222214432122221332123311111332122112222222211111122122123312211133213321112344112331221233122111332244212211221221223321122222223552124423333111111111444411122123311133333443663312332222221221113344331222233331111122123324421221112442112222133442221233221112211112212213333133332212211112211144322555355211122332124423555222333221111222332212211112211122221244223322122222442332112331122122221122113331333311444333211113321111111332112332332222111113333233111122333111111112233222233112212244322444421332111112212211123322123322221111112255432133222112211221112332211221122221221221222222111222244333233122221112214433311111225544211335533111112211222213331222442133211133211123322233221111111223332211133222221332111233222211122111112213331233122122222222111111221111224432111443313321123441111221112212211333112211111222212233312212222222345522221112212333332211112211111221122222211222211111113333244211133553222221133331133211122111122333133211111112331122221111221112222233333222211124421111123311221122222331255321222212222112211112222221244223333233331332123313322211111112224455555533112222111221221244331111332233122122111221222222221133211155533324433111111234411112212222444332211133211112212331221112212331111133212211111233123311222331112211133212211111111111112331111221221221221122122122255322233222111123311122123555221112222223331221333322111111133344112331221111111221221122244211221111221221111113332553332233211112212331111133212211221233222233211234422122221334421122112212222112212211332122111111112212211111221111111122133312211111221443212224421221122221112331111122112211222222122113344244333333112211112211222211122111113322222233111111235521222212211112212211113321111111223321122122122233112331333122446662244222112332331221122111123313322211123322111111111112222233111133212211221112211333122112233211221122122112212222221221112211221221122111112222111332155432333332122221122122111111244331111222333321222224422442122133311222212211111332221222331222222122222212344122122221112211444223313322233331122222212211335533333311233234433212211222212331443441221222212211255551111221222211333322112331123311112213322224422211221122122222211233223334411111244422221222213344333321332111133211111221233221111444215544422124421111122221233113321223335521133222111222333344331111134445512211222211123311444211221111111111123312211122122122112214432223333221221111112211122332234413333122122111112222244225532221222233213321122112213333111122222222133212222111222212222133222122221233221122111122111111233111111112222221111221122111112215544333322212211111122111112213333355331111111112211111221111221221223322214432333112222122112442111112233332211112222111123311125533322221221332112355211111112355511111221111221133222111122122111111122111112331222211233222211122233233123322111112212211144421222222112332213344344554443113333221111221133212344122112211222331221111233234411333332111112211111122111111221122122133222112212222111111111221222223311122144321111112222111111122221222222233122122113335522211113322211221333444211221111123311333311124443333133332222111222222333311111112222112222333312331111112442122222332222111122333122221122233111221114434422212223312211221222331122123312222123311665532112211222211111332112222112332211111111122332133312211221122122111112211114443322111111111111111233111112222112211332133212222112212442123311111222222122221444444332111133222333133311113321113321112211443355212211332235544233211111233221111233221222223322221332112211122111122124421111221233133331111112442122122112222113331133311112233334442111111133224443124422211133212223311133311222211333244211122114434442222223321111122112233233213321112222221222212223322221111123333233553255442221332112332222122111113321221123322111233222222221222244444773222222211222211111221111221111111122222211112222111244422221223322211233112223333441221125534422443311332221233111221111112233211112212233213331221133212211122221112212233211111122333112344133212222333112213344331332122122444331333312212223311111111133443344332332222122111112212212331332244331111111113332233442111123322123441111112444422212331221223331122122112332211111122112211122122111222233322113333233111122111222213321235521221333111111122122222331133222112331111222211222213333122332221222233211133441113333221222233444435533111122222553322122111122223333122244233233331112233223311332122133311223333244222221111112211111223333113333113331133211222331222211112211111112211122333122332111233133322111222211112553233444122221221333322111122133333333111111112233211122133211122554331112211111222212211111111333311222222221111333442443333233313333122122122222211221111122332112211111111233333111222233212212233442221111122112212211221122333223322222443344144344331112233331113446621221111332333133233322122221222444112212211111333221124421111244211111332112211122144444111122111222331332235533112212213321221122224433122144331112212331111113355211221113321112211122133311233111122122244211233112222222212222123322223321332333111111222222122122221111111122122111332111122123322233221222211122111122112211233112222333221111111122122111221233332112224433111222222221133322111122233133555332111233233144333122233221221221233122111222211122234412331221112222223331111223344222112211122122111112211223321332111112233222122133211222213321112212332222111114432255333233223321223335543311111113321221221111244244344122443312233223312212444221111111221122122221112212213333221111222332211123313344552211111333322111111222233222111112222221222332212333333221443666331444443332332223441111111111113321111122144333113344344443444122222222222332211221334422332123442211443332466621221112222122443331225553211122122122333332221122233111222211222212222122112222222211221233111223333222211112223322111221221221221112212211233113321113334413321133311111223334443312222111233155532111133212211111122113331123322111221222212442123323311122332112332211221332111111144441112212331111111332122111122233111122112444441111122224432144344344255333112211221112211221221111122111333312442112244321112211221112332222244413334411221112211222211122332112212211244433333211122111122111111112211111122112442111233124434411222211111122112211123555112211112211111113322222133314442333221111112211221223344221144422233222111122224443311332122123311444331111111122221123311122332111122113321222211111111111122111123311122112331222222221233221122122224433111113321222222111111113323333334421221221233111111221332113321221122122221111122112211122111112222133311122133211112213322233222122221133442122221112211112211133222333111222211111333322111333111123323322113322446633122122111333111221112331233123322112222333441443444111112244466211122222233442222211122233221111222233222111111111124423321112442111111112222334552332213344221111333111112233223441221113333111333322122133441122113321112211233221122123312331112212344122122111111224432332233111133222444332333344442223311122221333333211111222222112222133211222211332221122123313322233233366321133211122222222222211221112212332212442122222211111111334412555511221113333111111122122221223322233441112211222211222211122221122111111122255333144422333322212222111111221112212355222122221221333222443443333332244443311122221222212222122112223441112211133212233442111111111111222212211122124421111221222211233123324421244212211111111443344233111233112211221221221111112442222222113321221334444115543211221222211112355233311112211444331111332133332211112332211122112332344122244211111233112211111233222222221112222122221122333122233221111332111111123322123323477321222222133211222355211222211112211123311221112212211112222144355522221122111112331443444322111222211122111113321221122111334421221111221122112331112211122335521333133212222112211244222111122111334412212331111221111133333222112211443211111124421221113333111244233222133212211112211222233322111133213333113321233112211221333111221111233122233233221112222111233221122113321222212211122112233222332122221122221222222332113321111221255332331221144433332221222331111221111221122113322331111111665442221111122111111111111333133331223331123311332222223311111122111111122122123441221111223321111122111111112222111122444344123322122111122221222222111111112223311223324434433333112212211123442222332111332122111333122122112212222111111221111111122221122233122122221122221122222331112331332221122233333111221221122122122221233221111111221111112222244442111221332123552122234424445521111111113321111111112212211221122122255322211111221111223322211112212233311122122223344222332111332233122111221122122111221122111133311133222111122122221122332112222111111122333322112233211144421332111112212331111332332111111221122221111222332212222223321332221133222221345551113331123322133222221221221221122112223311122111111111221221222442221111221111112211222222122111222212212332212333336632122222233311112222124422211122113322212222444212211112212212222111144323333321111122332244212244344233212222111111111122111122111113322212223311112212222122112344123322112211334412233222123322112333321221255333221122222332331111332111111111113331112233211333323311122443211111222212211222211221223321112331111334444211111122134444221332233122111333312331111122112222222222223322223324444123311112211111122122111244331221125553311122221112222222222112211124442233312211113321332111124421124424432111122222212333321332333111233112213331122111333322221332122111112211221221133331234422133211112222111133311122111111113331333111221124442222112211114442111122332221332133212222221111144331112211224442112222111221111133222111444552211111111111144321233111133233223311222553222122112244332211133211111122332122122221111125533322122111222222221244411221122114432133222122221122112233312222122122133222124442213321221222332223311222211223321333111112331221221222211123334442221221122112211122112211112211112213331122112332212222112211112212442122111122222211223321111112331112212214444421221133323554421111223321112211233112212212222222211111122244211111112244441222222112223322111332112332222133212331133222133222244222122112233222133222221111124422211111221221222222233122221221122111133211221111122111144321122221122113333112222111111111111133441122112211112211123663211111122122244212222221111112222222212222122443211111111221111221111223331113321221113321123663311222211124421111111222212211111221221221221221221112222123311233221112222111133212212443311221221332111122112222235521112211124423321112332233255532233111111222211111122111332111111222222122112212442112332224455321112211221112332213333221112222233221155533122111111122111123311122122112443311112212211133211112222122133322122233111233332111221122221221122111112211223321124422331112212331112222111112211111111122244411113321221122221111113332233212224441112211222211122222211333441222222111222222112223311334423333222113333332443322221114442111122111111111112212211122111222443312211122221122111122221255331122221222212222224432112212222333333222244222112211122144443332112222111125552221111332123311122113321221221222331111112233211222213321123322233112222244233322133313444331221111122112331144333111333311111222442111333441112212211222211111332122111333311222332222111122112211123312211122332144332211332332244213321133213321335553123311112222224434433122122122221111334411122221222212212212212222111222211221221112222111133211122122222212222332111144333221255344133211221221111223331112212212211222212211111122111133213331224433332124421222213321124422211333323313331122221111122224432221133211111221123312442111221111221223331123322111221333133311122111112212211111333312211111113331344411233112211122221133233222122111233111221112222332112211111222331244255442222222111133311233122122332222211111122222443323311221111332144444211221123311122333124421221111111443233552111222212211332111111112233211123311112211233221221112222221111133222122123311112222111133331123311112212211133311122111112211111111332111122113323321221133211123311222331221122111122111133211332223344122333311223334411665432221443312211112222221221221111133222333334422211122122111112222123442222111111221112211222212211112213321332133222133211221122111221111221221111233221112211111221112331222212233222221222223311111332112223441244433211113322223311124433133333321122111122111223333221112211111111133211223321111133211111221111222222111122221221111111111111122221244212224421221133211221112222332133455221223321221111222233323311222212211111221122222211122133211443211221233221444222122111122111334413344112213323321223323321122332122122233111244444122332233234411111111122111124444411221113333124444211125533312212331111122124441133233441111221111144323344332211222211221222244321112211111111221133211112222122144331122123322221112344111113322331111112331111112233223441333312442222331221122221333122221133211122122111333333311111223323321222442111112222123311111111122122111111222222111111222211233221221244212223313321221111333111134442123312332222244222122334421222222111122222331333322122122122122111133212212442111234433211111222211221221333441111221122222331111221221221111113331111114442111233123311222212553211111122221333133222111111255333111123333211234411122111123322112366344213321221333553312222122112222112223313322211122133222221111133233331133212222111111113321111221221123311221233133222111112222221332111111222332211133211123312212214433112212331114433222211221332111222211113331113323332211111122123323311233233255331221221111122122234411133222122122122111225543222111111221222222122233123322333221111111332244211111122221234411111122111133444311221122221122221233111122222345512212222236633344331222224555221112211122122221111221112222111233122133233312332211112331234411233111221133311112223322111221333333224421112332331332123322111114432221223333122111332234551111113334411112213322445522244442332111111221332111112222122115554212222221133311333444211112224434411123311133333222133233222332111222223322221112223311111122112233211122111112333322211222222112211111111111221111233122122112211234411222211233111123311222442122111111122111114433332111112331123333333444311111221333332221222222222211332221122122555331114432221222442332222212211221123311122122133211222212212213331333221332123333222443322112222244331111221222222112223311111144333321333111221111334422333455112211122111114433122133222112331223321122122133233222133222111113322331122333477321236633111111111111111111222233322221133322111122123455111113344112212222111112332225534433112222111125552111111124421112555222111221122133331332111111233221221221111111221122112214432221122221222212211221114432222222221111112211133212212222233111113323321112233211111111122221221123314432222331332333223331122111112355222221111111221332111111133311111122233113331111221122111112212211133233233331233443212332224423322222112212222244211222211221221111233221133322112233222223321122221112211223322212222133211112233331122223323321113333244331111233222211221111221122122133312331133311111111111223331112222112331221225543311221111111112222112211113344332211221111122112222221133322124421133331122233221223322222133332223324433333323311222211122111221112211124434411123312333344222222122133211333124433222222112222221122221111111123333211222244444211221122111111112331111111133333344211113321222331111112211111111122113333221124433111111111111221112211122111122113331333144421221144422222111333112332213331112222333311113321111111221111122112222111122122111111221221221122332111122222211122123311332123322221113335522222221112211221332123322221112213331221221123552112211222211113333122222222223321332332233221112222133311112331113321122122111222344233112233332233553211122111122221221332234422122233112212366621111122111111222212212213344222122111122233222222111222222123322222212211222211123323322122112223311111332144433123442233212225533122334441113322211112222332332122122111221111221255333112442221221221144331111122111112211122122111333112211244555331133222111122222211222344221111233112212222222222221222224443321111233244555511112442133331111221133211244331111111221332443233233222112211122111221234412222112444122112331222233331112211111223331221221122221123333211122111112212211221221111233112222111112212211122112223442211221222212223311133222112442133233333321122223333112223312222133222112222233112553333331332332133211221221234423312222111111122133222111133322122111221122122234553377442112222112212222221111113322332211222212211332111122233111221122122111112332212244421221332125533111332123441114433333111221122112331332111122244223311115544222112211233111221122333311133355233222332222223311111236632222222111155433221332112211111332244332331221122221332122111111221111221112212212233312211111221113322222133212212222122222222333144321111332333113322212211222211221221334422222211332122133212211113344411111223331122133223311221332223323332222111111112211111112211222211443332331111334412212222122223321111221221222224421122111122334433111221244411233111112212222221233122111112332222111554332211221122112224444412211111122133322122122112212212244332212211222224423322211111111125533322122112215543324442222221112211123441122221222222112222222233555222111255521122123311111221112213344331112223441112344221333322111113322211111332222223322112211111221221123312211221111112331443233211122112211221221112442144442233442122221111124422212211443311221122122122133332222122112211112212213332211111122222213321122112244322222221122111111112211133322233332123441113321111221221221123355432112222333144321221221112211333311221111111122333122221111223333244552331122222212211111122123333366333122112211221112211122332111443332331221111332111111111122112212442122112211223334433366344212222111222222221122223323333111133212212222221111113322331111111233133223322222222221111122332332111221221222222221111111223332333321111233443222221111112355213344331122111111222211111221123441111332112212212222122111122111221111111222331122332221233221111111122111112211222211122111221332221122112212212212233333211122221223332233211221221221222211233111124421222222133441122222213322212233331222331122333313323344411133222244211111122133322221123311233332112211221133311244413322332211332333323322332221122333111233233221123312211112222223322331113321222233222111122244212222111122123311111122112212222222211332222222333324433122122332221144433113323332233222221111111111332221111244332331111123311123311233122221112211122112211233233144421123312211122111221133312211133222111333122111112222155432221221221122222211123322222331111111111112222443333331133211443233331222211233122122333311122221112332332222111122122221221112222112443322113321221124421111113333112233442221111234411113321111122133222111112212233222233221111111111222212212212212333321111111221133212222221111133213321223322211112212211111112213332355331122222212212222133442122244211122111221122111111233332122122111111332122221112211111222222222211222212233441233111234422111124421112233222224433221111221333122133211233122111332123312443322112211332222333321123441111122122122221133211222211111223321222223312211122221111111221111123312214432233111111113321111111111112212212222223331111122134445511114442223333332113321112222122111111122233221123323311111144421111111111333311233122244551235551332221122123311122144321334422222332111221111111111111111122133322223331111333111224433333322221233112332222332133211111124433123311221333112244321244442112553224422211122332122112223333312331112211133332212211122222212442221277553322133344244212211133211443332331111123322111111111113321112442111122122112233322111122111155443441221111133211111122122111244411111233222355212212233233211333221223333332233443312223441111223444212211122111122221112222111122111222222222222332221122111112212213331443211112212211111111112442123313333122111112222233223332211122111333122333322221221111123441112443312212223312212213322211112211332332223333122112212211122144332212211122133331221221111133331112211123441333111122111111111113344331111122221255332222444332233222122233333122244355211221111111266433322332113322223311112331255522212211112222112211113322331221221111113321222222244222111112212233443314432122222211112211144321111111133223312211111221133212331222211221112222233112211122222222111112223311111221221124434411113334412443312331123311133355355211221112332212211122221221112222111133233213321111122233332221113321111111266433123311111111112213333344411133222111221113322211111112211221111221334413331221111122233123322113321111122122221335552221122111122111112222125532114433123553312442112442222244334553344122122111122122221111221111244331112211111111221122122113333221332221221222223311221122223331221111244222224432112222144422211222213332211222213323444442111222211223331111221112233222112331111255322211332122221111221111333344421334421124421221233111133332212212222111333334411122123312442222212222233133312211112233331112211111111111222222244332213322442112331221123311122111221111333311221133211233111112211113331111123311112222222211122443332222443311111133213321111112212224421122122133311124422222111221221221111111111221122133233331122222212222223321112553331123322111111221122221122122112233211112224421333442212222221144434422111112213333111112222122112212211111122111233122111221122113321233332333333312244321221221112331112553211111112212212222111111111122111112212233322221112211332133311222222112355213321123322333552233122111221111332123311221332111133332211122122111123333322333332111133222111111111222211133442222223311221122112331122111443222133222111122221112331112444441221112212211222211111332221122133222114443442223333212211111133312211122233444225532332221122244331113321221122122221123441111221122122111133211244222111222332222234411133233222133223311221112211111111123322222212333322212211111443441221222331222331333322111244442144441233233112331111133222221332111244223663212443333212211111122111221223344122222212331221332133233233311222211222211332111222211133322133211111123311222212211233222211111233221111122221111111144332212211112233311112222111122233122332111122233122222212212222111122443211122122123552112212222221221222212211332112211111222233233212222111113321123311123313323333112212211112211221123311133211112212211122221333221221233221122111112222122114443312332332222112213335533223333222212211122233111133442223333111122122221111122222233212224422211112212213331111221111111332111114433311554331133442111111111122122111122123322111112212222221111112212334434411111111111111221111122221332111221122221221221112233222221443222235521123311112233215554222122111333111111111233112212222123333212213332211221222233233211221122111332111221222222234411112213333122122221133212211112212222332111332111112211222331221112211332332221221221122223333122255321111111133212222122111114432221111111112222112445533312212223322122123311221122111221111122112212212244421221111221122221122112212212222112212222332111111112213335521111332111111111112331112213331221221111233122222233444421333442213331111221112211111333221112222122112212211221224442111126643211133332212444122221112332344144434432111113323334412222235522212332211333333313333112211113333233233111222222122122111332332333312211122122244412222111233333122112211111111111111112344133211122233111333111122222222221112211113322212211222233222111111113321233221111114432221111244331222213322211112332331111111112211233122122332332222212211111111111111112211111133312222124421133323311112331123312212213322331112211133332332211112442225543442244411221333112211222332222222233222112444255331114433455222244333222443552221223321122332122111332133211111111114434433221333441111222223322222212211133222222443322112211122122133211115543211111333311223334422244211333441112211111122111112331122222332222122111221122111111233124444411123311222222122111111221112442221122221122332111112222333221122221221111111123311133344332222214442111123312212222111112233311122222212211221113321111124422222122122111122122122233221221333111334433333222332233122111112211122111221111112442221333313321112212442122122221333221222211223322345511221221125553311111112222221122221112222332122332122222223311122133442133224421111222212212212211144433111122124422233222222211221111122111111221221221111112211233113332211333312211221221111133331122113321333312211122221221222211233235551223333112211111111444422221122222331111443444122122122113331111111111233123322222223442224421443331333441122111333555333112331133331122332443333312222133312233211112222111233111133332333321122221332111112212222111112222111221221111111112233332222221332221122221233133331124444332211332122111221111112211122122111133331122111122111111111112211112222221123322332111122111112211123344324442244222112211123311122332133222255332211221144421221124421133212332222223331122122221233123442211111223321111112222221332233221111112223322221111332144322222111111111111111122122244211221111112211111111123441221123312222122111111111443333332211111222344122443222223321111112212212212212211133211221221111111223321111122111221123322222211133332222111133212331244211334411122123311222211111111113355331111244411122222222233222332222332123333222111133211111332124421111223323322211221443312223322221233233125533312212211333122222222221122113331221221221333312222221123322111122333221111115553332211221111221221122113322212211111122221222233213323323322212222332221112355522112222221221112443314432122122221123311111222223311221332111222211221112222122111221112211221111233112211122111221332111113321122124443333221111333111133222111112331222212211111111443322122113325544411112211114443223322212211111224432133222222233443441144444211221122112212211113321111221333322122113333112211111221122112233311122112212442122122122222222333222211112212211111112211334434551221122221233122221234411111112331221122222334444111122111123441133211114433122122233221133313321111111122221222222144332222221221233122221111221233113321133355222111443211123311111221233123322221221221111111221233221123311112213321112211122122223322332331222211133331122112212211332221221112212211221222222233222211111111111334421233221111233111222222233223321111222212212211111111221244411222212222222233233311221222212331122221111122133311111112664332222123441221222211122233112212211124433111221221112331221111122222212222111221222211221223321125533112212366331112211222212211112222122332112211222211111222212344112222112222111221444422221111113331222211111233332244211244331111222211221222222122111112222112233211133211111112233226643212212211111111221111332133222111443211333311112212442122111444422111332122111122122111111221111133322122123314443311221221133211111111111221113323322355233311122443312211221122221112222111222223311112211111111222211233235521222211222211112211111123441112211332144355331244222123322221111233112214432222442233333333442211221222332222112223322123322234411332112553323311111111111221111333442332211122221112333321112233211222442111112344221111112211221111221111223332223312233233212211223355321111221221123311111111223332212211112211221112344122111221221222222112211111122111233222211124444344111122221133331122122122114432111235522211112233212222122233122332123311122233113321112212213344331222211222331123441122113344113321122221122233111112212222133222111333112211112222223322212211123311233122111333311221222212444433221221122111112211122111112222122112233311122221221122112211221112224444344111333112222221111221112244334413321221221221221111133222111234422112355212233211122123313321111222332211111112222221332111112211122113333111221113321111443455221111111112222221112222222222122221221221112233233211122221113321111221112222122122332122221221111113321111122222213323333322222123322122221122122112332222221443312222113355331221111122111123312211112222122333312222133212222221222222133212212211111122122221221233133332222111233233133332222122221111443211111222233224421112442112222222211112332211333221122112222111221111122111111122123311111332111233222211111112212212222443212332444111111221133331111221122111255321333122123311111122133222112223322122122112211111122222222113323322212211222211111122122111122222212211111244411233133213333322331122111222211222211122111221111233223321111111221133233222133212333321112211133311221113321113333222442113333332111122112211234411113321233122332133311233122111112222133331332111221122111444212211112211333111224433111111111112223552332111222211222222223322222221133311112211222211112477733122233444331123344331144466445522112332211223321333111112211221223321122133211111222244441221133312211222211112331111234411221221244222221112211124421112212211133222221221332144333111221222213322332332212212211122112222221221122233222213355211113322211333221123663212212331222222333122122122334421111332233122111221112233222111122111332332222211122112211122122221111122133211222211221122123312212211244331111221223322211111112222112211144333233124433111122122332221133222222222221111221122111221222211133442111122124441122122222442111332221233443331113333233112211221122111111124421111112212212211111233111111111233111111111244422221255333122144323321334422213332222111244222221233332223321332224432222331113321122444222221111111122122221221233333233123311112211333111112211111111111111221244331133312211122112344221221144421222211112212355212222111332332112442122122111222222122112332211221222332222122123322255322331112212331122111222211122112211144322444443334422332212222112212233222122123313333244212212211111112222111112212211111111124421113333122222332212222111122111122122222233213355344331221333221222222122112222111333112223333331221133322333442233222222222111122133211111113322233311111111221222331221332111124422222221221333133333224433233221112211122113332211122133212223312224433122221233111221111223344211443441111112331332111222211221112222233122111221111223321111233255533221124421222444332221233111233111111122332221555321112333323322211333312212211222233442221133212211122332111122221112332212211111222212222332221222212222123322112222111332332111221222212222112211112442111112224433111122133311112222111221122222233211123324433122112212233311122111223322222112333321221111223332211111122112443311221122133233344221111133331222212346633123311112211443344113321244222125533222211221123311111222331333111111222334442111111111221122443322112332553311223321222212222112233444111221113444212224422332355331133312331222331111124422211222211221122112222111111133313333221221222212211133222111112211133344455221255553123311112355211113333122122124422211133312212212233332332331111111133331122112222233111221111221133332222133212212213321123441133212211111223322213333122111333221112331111221112211112331122444412222233124441113321122111111113333133311111111122233221222211233122122221122112211124421112211122111112212443311111223321221222222221113344212212212442111111122111222211221122122122133212222111122233221124421112222122333113322355442111221221221133442244212211111112555532122111123311133355211221332335523321111332223334422111111111111221111113446622233331133211133211112211332221112223344321113331111111122111233222222222222112212211233221222222554421234433311112233211122111244222222344233111113331111133222122112331332111233111111111221122111133312442333322332122221133442332333124421112234442212222133322111122111122112212332233223311221233133212331111332233123311122122144331122122111233112212333332332211233111112211332133211122155533311133222111124433122333111111111122111223322212211111112211222223312233322221223321111123312555331111125534421112211234411222212211133211221112331111111122133322122222333321122111111111122112211122221111222211133332222221221111221221122113321122111122332111221221333311233221222222122333332111221111332122222211122122333112212444221334413332211235533122221112212211222222111221133322123333331111233111122222222112222123344344332331122111123311112211122233111111111233333311233223321112225533122244222111112222221111113322331112211223321111111221112212222122111333144322331122122144333112331124422211112233331112211112212224433122111112211112222122221111111221112212333333111111122221113321233122333552221221222212212213332344222331122222211113331244411133223313331133211113344212211122133211111222233212233211111233122221333221112211111222222221235551122111122111122221111255323333112212212222233233133331222211112212222221221235521221222222111111111112233444111244222111111111113321113321222211122123311123312211333112211111122222555355777442233122222211111114444332222212222122222212212222122333332233113344122111122111221221122111122122122112211112223314432222211221112222233111333311111222222112211122221133552111111222444222332211111112211111112211123312344112211112344111111122111111122221333111112222111221221122111111112233331123312331111111332122221111111233112222111221221125533455122112331111133322221112223313321222332222332233111221122112222122221111221222214433122111112212211222355222133212211223324442112211222444111112222111333111122122221234422111333333222111111443212331221112222111222211123442211122221124433112331221111124441123312331332221333441112211112211221111221221111122112212233211111111113344211111122111122122111333312211111111111111111221222222223321332123311112222122122221122111122111333311113331122223321112211221221221221221122111233332113333122111111221332112213331112212443322133322221144321221332111112355222122113322222332221123322233111112222123313444212222111122123441133233222112222222224422224433122221122122122144322211122332122111221122113344222112355244421233112233441122222223312442113321122111122233221112212212331223321111122111334422122122112212222122111111122222223311223321111222213344211122123311333333213321122122221122221111111221223321234412442111111122113333133322113331122112211221111113321111123313321155444422111112222122113332213321222223322332123441233113355222111133211221112211221122144332211223333122124421221111133222112442124421112212333321222222233112222111122111223321112211123322222331223331113321222211133211122111332112211111133222111112211222211111112233322123311111221111222211234422221111111221112211124421221112212222222211112211112211122124441221221133344111233111222233211111122111332122333223322213331222222122111122123311244445511112211222211112211112213321221255331112211122123311122221122221221223333221222233552112211113321122223323333221111111332111133331122332333441123323443321133233212211244553311111122111122221122111111221221332122122144323331133211122111221122111122221111221111221333122221112211112222111222222122122333133311221112332222221233233123552111112212442111122221221332112211122111233111113322211112211111111123311122122111221122233122111122122221221111335544552222221332221122112211133211122221122122111111133222221111244331111224433322221112211122111123322111122123311111443222122112211111111223331221122234411122333111333312213323334411122112212222123311124442332211122111222211221222211444311223322211122221555444212223311444331112331221111444222111111222211221122111111111111332123311122122221221111122221122221111133331111221222212222221111111112211123311221221122111122122133322111133244321333233222553211221233223324444221233122221333311111221222211221111333122113331111221122554344222333313321124441133213321111221122112233222122123322122114432111111111221133311111221111333312211122113323331122332122111332144333221221122221111111332222213322332442112442332221123311443211122111122333323312331123313332233222122111112211221221221244411221222213344211122233221112222332222224422233211223321333233221122144433123315543312211111221233112211332111223331122122112212211221223333122221111113322213322211111112233311122112222112332222332332222222332111111133222112226643344112331122221111221334444123322123441332221133211332333313333111111122222211221222344223344233221111333112344223334432133222221113322443322112211223331122222355211244222111221111332122111233244412233311133211222213321122221111112211111221112233212212212222111111111122122111113335521122111111113322331111122333311112211234433223333211244422112222222222332333234412213321221111221222443324421221114432221111133333233332222123322111112211234433322233125532133331221123313323331221111133311222211133331112255443244442244334444221113355322212211111111333222211233334421221443211333441233111333322111122123313321111111111111122332221334411233221233122111111111222555233222221112211122233112212211333133222122122112223311122133212223312211122244211133553211112331222212211122233111122122133222222222144333111332111111113335534411111111244333332233331122111221332244223311233111133311111112211112211111332221111111244233331123311111111111111234666333222212212211112213322211332221111111233221111222664421222444421111112222112211112222144433221122111111221221133223311122221111122122333311111113321332111111112331122111233111133211112222244444332212222123312222221122112211112233233331112211112553323322112222122133211122221144321122111112212331222211111333123311123552111133331133331122112212443312211111122122112222112222111111133211122223344222122123311332122222344111221122111112211221112331221332221221333111111122332224443311223444222444332331122133311111133213331112553331112212212443443344111221111111133233222112331332112211111111332221133333331233222334434411111111332221223333223321133664321221122244442221233111236634413333111221221221111221221221332133233212244421111111122111233221111122122111221111112222111221112212442122111112211233111122221133211111111111221221111123322244213321123333331122244222133211122122111221122233223323321112331122111221122111122113321224432333324421221334421112211133212222221332221133211332111122122222233443321122222332211122233123312212212233211111221112222112244433221233222211113322222223321223333122122222212222111112442111334433111122122111133332211122112222144441122124422211333555244211122221133211111123441221112211222211122122111111221122234413322223344443321111111224432112223344333112212222113333113321221112212211112212211111112222111223321122133444455222211222211111111111333233112331111112211122112222122111111112331111133211133211113333222233344111122112331333122222222222222222212212222123311112222113331222211112222113321111124444212211114434422111222222244212212211224444441122111222332211111111221221122111113333111123311122233222344111332221123312211221233112222221122111111233111111133222234411111222214432222222111112233322333311333222224444212212223311233334421224432223332213333111112213321223325553222334422111221111221112211111112211221221111111111122221112213333112222111233122112233222122122222222221332122112223312211111111233111122221112222112211122233332112233211333322112331122111111222211111133312212212211333111133222111111112211111112211221221244222111332111144321122111123312344222442221112222221221111233221234551124421144444221221221221112222112443441221122112344111111133211111111222233233222221111111111233113322222122244422111111221133322233332332111111221122122333325533333311221334411111222233355211221112211222211122335521221111122112222112553331222214442112331333111123311112222113332211332221221111133211111333122111111233111133211113321334433221221133466222221332112233233233211233221332112212446621113321222211244233312211122333221222222112211111122111244212211332221111112233212344112211111111111221112212222332233111122222211112222111112213321223321112233213333333111111111111332222331111333233111111111111122244424421222222221221111111113331112333332211122112211113321221111111113322222112331332122111111221111221122255322331123311112344112443311221244331222213321112211444212222112211111233111221112222113344221222222111332111221111222212211123311222444221221221221223333122244333324432112211221333312211133211222212211233111133211221133212211233221111122333111122233144344221233111222211112442333477322211111233332111221122112211221111221111233355533123311112444112331122112211122133212331111221333111122111112211443331332123311225553211111111122221111222211332332233122221111133213322213321111223321122111332221333233233122222214433333312211221122111233122233221112212233331112212212222111123311111234422233114433221233122112212212211111233332112222221112211333111111244212212222221222331221111122222212331221221111123322233665443333333322222222122221111122111144455221112222222222235521111122112223311221222211122233114442222446663221113331443222221111111123323323311122133311122222444133222122133211222442144331124422211333112222112344113321221122222344111332222211133322233221111222213321122332112222111332123311111221223333223321244222223322222222211221221111133244324442111112212331112211111112333333332111221233332122224432111111112222111112211122111111233122111111111111122113333113333122244422123322112332211332235555551221133322332111223321111233111221122221122332111133332222443211133344255344211333124422212222221111444211112212223311222233311122332221122222211124423332211221112222112233213333221133222122133211332221112211111221221111111222223312211122122111111122122222211122111221112211112222223335555322233211112233212553322113332212331112211112211123312443344421111233221233111223331221221222212224422211112222244412211111222212222123312213333111112222113332233366331111133211222212212222233111122112212333321114433466211111221112211221112211332221221223321111111112211221144333122111111221113334433322122122112222111223333111123311122133344332133366332211221113322213322332222112212211113321124422212211222211223344422112212211111221221111122111335553323322333233122122122221233333111111122111222332223441332222331112233223311221233112212233222122112211125532233122111111222212442222211444223322111221111122221221111221124444355211122221221122221122112222123322222443311233255544432211125555521111111112211111122221221111334455323322212211134441221244411122111332113321233111144332222122233221111111221335533312222221333122111111233122221133211133211122122112331112333321113322222112212212333323332222122111221444211112332331222212222122222223322111122122111221122221122221112211133331332223333122133313332222222222133211133323312331123443332211233222213322222112233332233222111332332133211222213323321255333112212331111224443111113321133322144322212211113333334411114442124442211332333111111122123322113334422443331221332133331111332123312211112211332123312333322331111122443222111122221122111332235521111111233122233133211111111122111221123441332122112211133311233111111111111123442211122222211111221112442122221222213322212222111122112211112222124421221221222442111233133332222111111112222233111112212444221133211333112331114443322332111333122122122332123333441113331221111123333233212225534421233122122111111111221221111221123311111344422113331122111111111443222122221332332111332133313344222212211122111133333331225543222111122112442113333124443321124421111111221221133223311122221111233333222211221111122333244213322331112211221221221123311112222333322244222111111221221221122122223322211222442222222112222111112212331111333322124422331222331113321332111111332122122332111112222112331223321222366622223313321112331111122443224421133223322122112211233111111221133322112331223321111221111111122122111111122222444422211222211222233331133311223333334433212211112211123322113321122111111222344222222223333223321133311112344112553333321244211122234412332222112211111122332222331133331223322443311122111221221223333122111222211133212211133211223333244212211221111111221222222112212212211122111233133211111125532122222331112442123314433122111122333322111221233111122124422331111112442122123322221112212214435521222212344112211332111333311111221113333332443311111221111112211133323314444322333443333111111333311333443211112211221223331221111111332111122222331133442112212212222123442212222122122221111111333312331221444411221122133313323321122133333312211221122333111112212442222211222212332212214432112442124443133311122221111221111122122122332123311111111223344124422331221222222111112222233122112211122112233211125533111111221122111221111112212211133212212211112222122111123335553663311112211111112211221332221443211112223322111111111112222111332111112211111111111123322111111221122123323311111221111122112233212333333111222222221111221111123312212211113331122133322222211122221221112331244331222211113321221332122111111111221222213333233111111223321332111334411112211221111122122122222255434421122133211122111222211122122111221122333441111222222112212442222332233244333122111113333332122133443322222111126643444222332222112556661221111221122112211123311122222211111222211332111111222212211223322222111115554212211133222221221123311224433133233331221221122222222111122113334551112223311122112211554332331221111221333222331333312212212211122221112211221111111122111443233332212211111221111111122111222211224434412233313331122221122111133233331221122111111112211111223331133222221111111113332211112212222133215553332331111122144321233112223443321222442221124423321333322222331443211111122123311333221123322223333444412211333311113321122123322122233221111133442223332442133212332233211111112332211222212233233331124422211111233222211221111112211112344112214442122111133314434424444433443333211332223323321233221123311122221133323311221233233221222355212211111222211122111123312444421122112222133312224422222222211133233331133444111133211113333111443313322233333222221112212211133322122144333111222223311332122133222111111221332111111332333111122221122111332221111111111122112212213355344112222111244212442221122111112211233112553312214433122332122122111112222112212222122233124421221112211333442222221111112211122111112213332211133211111222222125532222213332211335521122123311222233331111255333111124442223322112222333133224444331112211111122221222212233222112211221221334441111112212211111244213333331333323311112223322221221111221122113321122333111122133211112223311122244211122221114443322112222221221112222233122222222122233122122111123311112331221122332112222112211111332244211122122111333442212223323311221114434422212211112211223321112222222334434421122112211222222233221224432111133211221332112333555213321111112211122112222111335521233221233111111221233111111222553311221122332112233212211221221223355333334433133211122133331221221111125533311122111234411221113322333333111332112233211122122235521122111221112211111233233112222111111113321233133322122123322221112222112211111133444222233212212211111112211122221122122133311112213331133222221332112222222223311221111122221133211233111332122111133244332332211112213322211221122222211221122111111221133213332222333322332122112331123311133211111244213333112211111111111221111221112223311111111111133222222233222222222111111112212222111111111113322223553311133211332222212222122123312211122111111233224432111113333112212222112212233331111223444662133333222123311122221244432224433112222122111122233112222333222222111221122332111111123311111123312332223552133322221111554422222111332122114433311112331222211112211112222112223441222212222332133332211221123311111221122221111123663222111122123322114444412211122112222224433455222212331122222211332221111123441111111222211221122111235533122333441133222111223344223311111223332211122221111111112244333221111133212222112212222112211112212212213321221235555344411122332221221222222222223312244321112224441222332223311133233322122221112212222111335533221111112213321112222111133345512211222223311333122122112222112233322221111221222331111111111111221222233332233223322111133331111221122332122111133444323333222112212331111221221221332122333112331222233233331443222221111221111222212211111122221111332244222244551332123311334423312332211122112211111221122222213322233214466632222443312211221221133233322333222212225533122111222442443211221111112344111221112211233112222221122222224423333111112331122221122333311122123312211123312222221111333222224433111122443344333112222112211244444122111112331221111332111123442211333122222212331112222112211111221443441111111111223335522211111111123322122122221122233222211222211332133322221223333111112211222222111333312223311112212211111111111113321123455334421221124421112331221122111111144331332111221122222222122112211443211122112212331112331111111111221222332233213321122111111112332212211111111221123311133211111233111332111111112332233333311112212212212214444443321221233122221221122111111111235522222133222122112211221233332133211221111233113321221111222211222212233212211112332222122123322122223331112211112222111122112331221221123313321221112444122221221122122111332222225533311221111111111111111222222111112211111112211111144422211122133211111222222221111122222442221111144434412331112211222212233211333333233331133211222222122111112212331111222212222111221222211111333113331244211221133211221122133331111443311133222221133466222111111122444322122112211221444211221222211221221123313322332211122233123311122123311112211222211111333313333112233311222222122221223321222233212331221111111112331111111112212211113344233222122122122112222133214433323322332222223322133355211221111122112222112212233233212211133322111333233333311221122122332223321123325533322221111221332133211123333311222222112211111111332221122111122233111111113344211112666331221122111221112211133222133331221222211112211255544112442332111133212222122122223322212211122111111111111111123312211122112212212331111222222124455444311221233122111222212212211122112366333321244222133211111222331112213323321222222111133441111344441111332221112211133312212222111222211122111221222444422222333322255332442111244431221111244411122122244662554321112212233233211333123322333222211122111122111333344331111112211111111221112442112333355442221111222212211111332221333312211111221221332122111122112332211112212233233443311221112442221111122122333553441111114432111233233221221112213322222221133222111111221123322221111112213321113332222221221111444211233244331221133222112553211122222222221111221122111111221111123311111111111122112212211122133211112222111222222112222112223311221112211222331111112332332211122221332221111111112212212222221111111122111111111221333441113344213336632111443332222111111112233212223322233221123477322211333324421222212222112211223333443322222211122111221122333322111111221222222114443556611221334423321111111112331233115543211111222211112212212244333112222122112211221222212211221111123312332211112223313332211122234412211332133211112211111111111115544331113322212211111111221111112211112443333345511222331332233221112211111111334411221221333221113355533443212223312222112223333211221221112211222212211111122223333221111223321222244331113344434443111123442223312442111112211111221111111122112223322111111111133223333332442122111221122221122221333311221221112222221111221122113333124433111144322233552222233212211111233111111111222212212233322122222211221112211111111223332211111111336633112222111221112213332212211112211332233333223334411222331123333331244222133212212211133223322332123311111133331133344111221221133212222133333333222225534422222122114433122123311133441122221122122222211133322233122221123312222222331333333211111111112213331221112211111111554321111113331112222112212211244233323441221111333221221221122111332111221222331111333233112331113335521133211111221221233122111233111111122332334421133312442111221122221112211332112212345511332112233212211221112223333212211233111111133222113333332111333311111133212211111112211122233112222111113333331112212222111221333122222213321112331122111112211221221112442112211443211221221221233111112331112222111123311122111133322111111224444123322112233211122122133344321112332212332211111111221112212233211111124443122111122221122111221333443222234423333443322331222212211111111333122122333324421122333332122221122221112344133212211332223332222223333122123312211332122124421222212213322212222222211122222211122122244211221112212222221221123311222344335552211111112332344221333441111112332222332233111124444211111111122112333333112211221122332111111111122111443212212211221221133312211221112222112344122111122222212233322111122144333123311222212211133222221111221221222212555222112211122122111122112222221113333111122233111123312233441111111123552111133211112222221112332213322211221111122112331222211123311113321111221122221111222212211332222332212211113321123322221112211222222122222211112211111221111111122332123312211111333112445512332212442111133222332111221112223311221122222331122221122122111233335533112222221233111133211155444111332221221111222442111221124444884334411123322111111222211111221334422332333321332223344211332122111233221111111111123333312211221111221111222211112553322221112212212211122221233122233233111111122111113331221221332221113331221122222222144321554321111332244551122113331113331221112233312212212443312233311122444233224422553331122111111223322213322331112344233221112212222233221221111112331122112222111111221221122111122122222233322332222222111125533311223321123455113322222122221112211112222111111122111112213322244444331221111123322122122221111113322211332111112211113332212213555321221332233221222212233212223552255333112211112211111221111222331113331221111133344111122113321222211122221233443331111122221111223331233222222111122113322222112233331554322355211233112334443441111133322112211221233113333112211122444211222211222211112211333333211221122222331332122111222212213321122122122122333311221113322211112222133345533331221122111111112332211221332221114444122221244432211111112212442334413332443322122122332224433111111111123333211233133222111221244222111122122221111111221111444444144431112222113321111122112211112222111333122113333122222222112222112332331112331111122332333323313321334441122112211332122335533312211113322332444122332122221112233223311111221112211332122111112222111111222442111111111122332221111122112211111112211333112211111122111123314432221111111111221112212211124421222212211111221221111133332222111221221333111222211221444211112212211111122112212332222244212331221122233144421221112211112213331111111244212211332222553311221122123554421122133332212211221114432333112344222233222112211221111122333112211221112222122223333111122222212211221221123311113321113332211222442222212211221233222442111122112211111111112211333311111112211112222332111221111222555211122112222122133331221122221111111221221111112211111111112233211221443233331332333244212332222124422222111122332221332443212233311233111112211122225543331333111255322211222212211111221111133212331112222112213355533112211111443211111123311221111111221112222111122111124435522331223321133211443213322233212331234444434433212222223335551221332112331221233123311333111122111112211111222344332221333322111122112211233222212211221221223333122111222233312233211233122112222221221123333331333122112442111122122123311122244331111221122111221221111112211221122122221112233322111111332221111221222222122111111111111333333222111112233222244211221112211133211332221122221122111112442111113333222211111112222221122221113333222331133442332233355212222111111122111233221122244213332222122332221113321122122113321122111221221333322112212211111111223333112211111113331111122111233111222212213321133211122332221221133212222223331124433221123311112211123323322332111221233112331111111221222211112212233553311111332244211111222222114442222212211221233111221221122111111122222222221122255322222233112244442222122221333221111221221122221111333311244222221112213333122112224442222111112211111221111122221244332224433333123441111222331144421111111122112223441112331111133344111111111111111111112233212223322112211111222224433221221122122111221114434411222211221221113321122111112211133211221223321111111111111122133311233233113344111112332212211221112331221111222233211221221222211221221113332211221111111112222111222333321222212211112222221122133211113333112222111112212445511255534444333133331111222212222111112211244412442133212211233111111221122133222113333122332111112211133222233221122111133211122112223333311111122122133211221133311122122122221221112442122221122111133355514444221113322211112212222222332211114432111112444112211221122332112222234422221111111111112222124422214442234422133311123442331122332233112212332233211111133311223322212223313332212212442221123322333311111233221244213344422111112442221122111233221122111122221122333311221111222222222331233112223311133311111122122111112222223322211122111111233221113333332333112222111111112222113331111133233222111233222211111111122111123312222111222331333222244321122111233133222222211122122111221333442222221333123325532111221111133212233331112211112222122113321112331112211112211111222442111133212211122111111112233213333321222442112223312222221112211111113321221123312211111221111244211111155532221112222112222112331221221133233312212211123313321112222111113444222211221133222111111221222233331222332213321112211133331122221133344113333321122221221111113321133212332212255444422212212211233111222211112211112211122122233221111111222211221111122221111122111233233133331122221122133333331122221111133442213355332333333111111113333111221111111221112212331111222212211112211112211122221233122122111122111332112222222211111112222222222233221122221111122122111133211122111111222211233222222122122233221222344332222211221222212211112222112331112212333333122221122111133344111111111111113321111221112222221222222112442112222111111112225532123312211111111133666223322111235523333124434552211222333322442233113335521111221112222221332111334422221221244333334422133222112222111111111221122112211122332221113321111111113332211111111221111111122111112331332332111111113321221122222212211112211111114442113322222122111221112332212213331111111122332122111111333311332122144321111111111111333552221122112211112211221111111122221122112442332233221144333133211222222221122111122234423312233311111123322111112222221221133233222144331122332122111111221222212211233223331133213355533111233221332233111222332222222233211111112211332111112222221111222211133222221221113322331133211333133331122122112211112222235522212211111223321221122255331244211113333111221112211333311111122144421112331333122233113321111112222221111111111111111122221221122334422222111122111133212223322111111332221221122221223333111332334421111233111111111221112224443111111133213333123311122222211111112333321221111221222212212222111112211133442133442112222122124421133331111111144332244442212224422212222554321221122111221332111111113322222122122222211122113321233222222221233221111111111223321244442444411334442211122133553311111111122222344111222331112211112222221221222211111112332222221221122122111111111122111112211111111111111123313321111221112233331122111122111111222211122221112222111111133331133222221233112222224432112211332111111122133223322233112211233255333221233223321111111111111122123323311133555332133212211122111221111111122111111123311112331221122111124442211133223311133332211233111112222111111333312331111221112331332222331111111221221333334551112222113322212211244423313321122333312222122112222111111233111112344221122122443211244412344221122223344221112233311333122111333311112332244421111111221111111122221133332211122222211111111111122221111133442444331221122443211123312442112224433122221222222221122112212211111333312224441155432332221233332221112211112211111111111222211221332443212222122113331244411111221221111221111222223333222112442114433122112332212211222355222112222554332211554442211222211111122221111222224441233332221233112213321122112211332223331233111221222211224442122111221111111223344221111234411111224433122221221233333333441112233311112211111112223442332222122111122111112211122112222233222332222112222111122111123312211133322111222233355212211122113321443224421111221111111233122111111111221233111122122111133344221111124441221122112211332144322211221221111112212211112212211221122223322212222113321233221122221122123311123322113321122111122144441221122111112211333221111221111332221222222111221233122221222222122114432221443344122122133211112223312224421111111111111221111221122122111112332222222212442112212331233111111111111221221122111112211113322211112222111122111333441335521111111222211221233122222212213344332211333233112211221124433332224442122333311222255534411221112222111221332112211112212211221122122124421111123311112211111221222553211112222111111111112211111222212213322222111113321111443442233233112222123311233222224422211112211122113321112211112212212233324443111221222211111112331236632113331144321222443312212211332122233122221223321222223442211111221111122222223333222144433133312213332211223331112211112211133344333222213321244211122123311111111122333441122113321221221122221111221122133441113332211233122244411123311223331122332333111111111221221112211112331112244333334411111244332222443455122113321333222331221112211222211122234422122111221221111111332233122112442111111111122122221233332122112212211111111221111112355555212331221122112222112355331122332122233222333333111133211222223322221233122124433111112211111221111113333111221112211122333122333323333213333332144321111111221111112222221112212553333233212233222133211111221112212344111233122111332221122122133211133211122133222111111122133222113331111122112211233335533311111122133312233211123311221221114432111123311233133222111233111223321332233222222221122224434433144332333321122112442332124421122332122233122111122222222233112222221222212211111332333122111221233133313321112212223441122111333322221112211122222332211113321122221112223312211113321221122333221133331222222113344211221122133222221112331112211224432332122122111122111222211112211114432222222111123311112212211111112212211111111124422222133331111112222221221133312332212331111222211111111122144433223322222112211233112223311221222331332111123313331144332211112211122222214433311221221111111112211122112222266432111222222221221123322111221332122112244321122122221112212211221233223321122221336632111111111124421234412222221221114432221122111111222211111112211111113321221111111113333221122112222332233221332221221221122123311221222211222442122123311112211133211112331123322332333312331222213333113321112222133331124444332213331111123312233222235521111111111111332122112222111122112331111233133212212222111124421111111221112331123311122111122221222211222212331112222111111111221221112213322222332111443344113321122444442112331223321222332212222221112331332111332222211114442125533133222333312223323312222222233355211113331233223321221221111112223322221111112332222124421113333111221112212212331112222222222122112222221112355223324422332222111222213344122111332221111221223332212222234411223322211123312211112332222111244233211123322233122122111122235521122111221113333112211114443312331111111222211113321122333133211133213355331334422221111122233111112222233111122122244211133211223344111133311223321113321112553213321221233113321122122221122111332124421113334423322111443552122221112211112211221221221112212212212211133553212222111244211333312213322222233111221123322333221122112213321111222222122144455211222223312211222211221112332233222133334432222212222111332244211233112345533344122111221112211222211332123315553233443553312331111111111221133331113331221222244355523331122111111111244212332222111221113331221111122123311443222221233111122111113321111122233221222224441111123312211113322211111111122123312223311221122123323322111221111111133211222332233222133332211111111332221112222122111222222222332211144334444112211122112233222221233222211111111113332211122133211222211111221223331221111111111112222111133311113344331122133222124422211122111122133322122111133331221122244211122133355212211222214432332133312223322111221112211233111111233111114432111113332212211221221111222211255334411133222112211244233332211222222111122235521244211122112344221222223311222222112222222355442112211123322111233133332211221332221111122112211112211122332111133325532111332111122111221112222133332211111332332333133212233444113335522222122111112233211221333122233233221112211221233122234411114444111244222113444212211111333222222332133213333133211123323322221444222113322222122244212222111332333124466444112233222122111122233122111111332221112211221221112331332244211222211111122221133333332212442111111122223322211122332221133552144433111111122222223333211122111111221122111111111111122111244442111233221111122111223333122332222211111222211122111111222211122122123311122221221234412344233123441221123323313321443344111112331221133331221111221133311122111333333334421122133222111222212212213323321333332122123312211333311244222221221122122332332122221332111133211122333112344123311122122221122234411221111222211334421122112331122332221112233332222123442331111123311113322213321123322122221221122111112211111332111133211111122111111222331122221221111332111222222222222111443211112223311111112211111112213321221233122222334432111122233333334411112222123333322111112222244212211112222222344111221122112211133212333321221222212223311332122111112222112211222222133222333221122113331332112211221133233212222223345522112224421111233111112211111222222221234411222212211123344321332111233233221112211333111122112223312233333322211122333133222233222344333311111113344222122221114433441133441123333331111111222222221125532114432112331122111111111221235523334411111221222222221333123311112211123311233122111122332112211111233233133442233222222554333122111123311333311332112212442221244222222211111113322222124433155532111112211123322221112211113331112212443311234422144421113323355211133331333333212332211122111133222133322221332133222221221111221112444312331444332212211333111122332122122133211443322221113331222212211221222211122233333663311112212212211332222222122221122222211133331112211111123322111332123311111111111222211221113321123312442111555521122122111112222144333221333111112212211112212233233333222111133211122333322233123312333323344222124433122111112211111111221122333322113333122133211122122122112222221221255333112212212211233144421112442111221133333332223312211111221112211222213333222211122112212442221222344221111123312211122233221122111123311221332122112211112331122133213333233111133455444331233223322233444113332211332111112212222221221221222211221122222331111332111122111111233244332212222111113321233112211111122111223321223321111222211122221123322112233331443211122333322111112212211111111223321122221221255322222111244212222122133222222233213331133212212442111122111122111112222221334421111233112222133344122112233442111221233112233212222244222111332233122122221332111223321114432233222442133211112331221122112331332221144321111122255332211111111113324442111114442233111111123312211111122233122111221111221221221222211222332211123333331133211223344244333223321112211233113323322211221111233122221244222122113322211133311244332211122122221111222212442111133331221221112224422331332112211234662344433222331122221122122122111125532111111122122223323331233111122332111112222111221221122133244321111111123311111122222224422222221122111221111122111111122122233111123311112233311111113333334422233222133212212211222211122224432111222212211233221111122111221111112222221111235566122111221221224434423311222212212212212211111112664444221112222222212332331333333211221333133211122122111221333133222221224434421222332211124435544331111122111122111111111122123333331222331122112331122122144333322222122221233221111111332122222211122122111221233222223441122112331122111111133323312334432222223311111122221225544333322211111221122221233221112224422211332221111122133312212344122133332223311244331233222211122222222112222111122123312224423321112211233122233111233111112222332111221112212212222111113322222111111111221333244444112244344122221112233323311122223332222222331111113321234662123322112233223442211332221332221233122222211112212211112212345522122221221111444412213321112211443331221233221155533313322222122111221111244223466632224422213322331221111445553211333223333221122111123312222332111112211111112331122221111111221221233244331255322223312332212244422443333311122221221221111222211233221111111112211112233322221122332122122122221113321332122122122223321222211222212444422211122233111111221111112213332553212212211111112211222222112214434423321112211112222111111144331111221111222211112211122221112233222244355223311112222234411221221222212211112212212222111122222213322224421332221221221244412211221222332211233111221111111122112211111111221112553442122222332442332233222222112211111133322111111111123312331223321111111554333335533443222122221221112222122122221112211114433222331111233332112212212212445533222233211122122221222211111443331221222212222222553311122122112222111111111222332211122112331222332211222332211124421111123322111111221332222331111123311111222222221114434411111224433555111111144323322224421233112224441221221112211133222111111111244212211111233221111122223332222122334421221122221223321112212212222122111233123311222214433311111233122113334412213332223312442122111122133222333552112344122111255321122111112222221221122111111244212211111123443331111111221233111222211111233122111122111123322235522211233112211122221111234433213321332333332122122333311221144331111123324422553322111111112222221111222331221111123442212212442113322211111222211222443443344122233111112211112214433233221221111123312211111122443333311123311122223344112212211122122111333333331112212222221221123311222332222122222211222211554331333114443222222112233331112212211111333311221222212212211334441111122333311111221221133213344211333311111244553312211332332111122111111122111122222331113321111444222332111133442211222211111122233112222122111222331133322112224421112211332222233311221111111221122233144334412331113333126644211443212331233111111222222332221111122332122133344122221111122221221122223321332221111443442124421233244211221221113332332214442333111122233111221221111221111111111111222224421122133311122111221123663225533311155432221123311111112222111233112222221221112553211111222212442112212233222122114443311255333111221221112331111122222222111233113331122112222332112331111111111111112211222213344211222222114433323322122221122112212442222344122124422344114433112223311144332332212213321233332332111111223321124422442133333331112211333111221122122222211222331111122233122111124441113321111221123553322332332122123311123312225554441222331332122222213321111114432113322224421233111122122333322234411122222553211233133311222442111222212255442111111144332213344222221222222122221233122244222112223333552114443333211112223312442122222212331233223331112225533122111111333553312331222211111222331332111244211112213332223312222112222244212211111111221233122122223331111332122333112211113334422111233221133211111122111112213321332111222212233311112212233331112222244333444112213332211111112332223312223322112223322111221112211332112212222122122111221133211111332233222211122122233123311111122222211133311332111221221122222222112211123312224433122233221111111112211113321112211133333322122443311122255331221122111122221221122123311112222122111221122122221122123322122122122221221443211111111235521221111233334421112212223311111221112223322333332233111222331122112211233222211133233443311111222222111222213331223323322212331221221111112222111221333552332222211133212222111112222111222222122112222112222122133311122111133311112214442122112212331233222211122221112331223321122233122221111221221122221123311223323346621222211111111334421122113331111122111333333211111332122111332122112211233332122112211122123311244222124421112331123311333333223322344112222113344332212224455332221122111332221111222212211123312446661155432112212331221111122221144321122111112211223321111221222211144321111111122112233222222211133312212212233311221133223311122133311123313335521111122112211111111111221221112222112233312211221244213321133331112212211222211111112211111221111112212213321111122111221332112355233211233133212211114443442233211111123312233311333311113332222122112211332221112212233312222111332223444222113344332442122112211122111122111111221113335551113331111222332223323322133311222442111233221221221221112212331244222233123322122333111112224444211222223311122332111112212211144421123312244321111112233332222112331111122123311122111221123311221122221122112334432112222112223311233221333112331112222133311111221112222332113322344112211221332133211333111222212212222222344221122111112233222112211111133211122332113321222222332111122122112212222221111221111122114433311123322122111111113331221122221133222224442111221333333333233213344124455223321133211222211122221133233211221221255321112212211111112223311122221133322122112212211122122333122111221222442221222222122221125533313322331123311122122111223332222111122113322223311112331133323322111111122133211221111221111111133331332122122554433333311222442122122111332112212553442221111222212211111221112211112211111233112212211221122112211122111221111122221111133344221111112222112211221133211113333122233112332211122221112222111122221111111221133222133211555344112211111122223331111111111122112222221112222122222222112212442123322112233211221133442244224421443211332144333112233333324424433333442333323322155447734441112331113331122111122111222212211124421122333311443212212211333122114442122234412212442111122221122122221244212222122221221221111233122333322333311111113321111122111222213331133331112444555122221111111222222111122122332333111111111111144321111111112212222122233122332224442123311221111122112214433313324432111223322211114434411111112211122112222221122113333111122222233213322331222332331222224422212212222223333332211332221225544212331111122112233331111221111111111112211332443223344442222111111111133212211222211222222222331122221112222332111233332122222553311122111443311233122112332333322212211221221111333322111123322221221112222111333441111221111112344122221122111111111244211112443323311332123311111122222211111222331332222233311111233221133222111221122222344122111112222334411111233222212211222211221112331233111111114433332332221111112222336633322112233311222233212211123552144421122221111222211111111111221112222332112222122112331111122122111222233233312212211133332212212331111112211133331125533312213355211122244222123311233112332442221111223321111111112223311221122222212212223322111221111233222212233211133313334552211221112211111221111111111222211122124441221122221111111122112211111111111233122112211113323333233233112332233212212211111111111111222211112213333111221111221111233221113321122333111111111221221112222112222112331221221122112344111244222221122333111122222223312212211333442224436632233111221112211333124435521222211111111112222122111122222213321222331111244331332223322222444222133211222211111233111112212211333312222111111122222233553312212223324434411233222223312212222122111111111122122221221221111113444212211112331221113321122111111111111222222221122221221111111133211221111123324421111123322112331222442113322664333111122244344122233222442334422213331333124421111444211332124441233113331222442233221332221221112553331112442111112213331221221233111111443312331222222111115543331233444223323552112222222211122244222333333331443211122111111332122221233111244332332211122221123312212211122244331221221221113333333111333311221123322111221111221221111122133211133211111332111333112333333111222212222221112212213321222222333112222221133222122111221333441122123322233123333553233441111222211122112222111122111221222444111122112233331221111133311133211111111113321221221111122112332222111122221112211122112332211112212223552111133212211332332221222211122221444222222233332211221332111244431111112222111443331111112212211112222122112212222222233211122222211333455122111333112222122122222333322332213344332211122333221112222111123441124442211111111223322331122122244331122122111233122221122111233122222212455511111113322211122111111133213333244222333111112212212212212222221221111333332111122244211114444111111111332112222255344222221221111111122221122221111111133222111111111222211111124422214442111222233214432122222212212233322111334433221222211222211221332122221332221444662332111112211222223312211221112332222111133331111111221112212211235521122221122123312222221221122122334421223333111122123311112211111111233122334443112211222233211221112222112442122332221221221233111112331133333321122221112212377432122221221112211221123313333122111111111221123311221233123313332212212211333133233222111221222211223331112233222111112222122111221223344112211222211222223322111111333112222112211122221122122112222332122244222111334421111221332444211123322122111221122111221221111122222332331111111122122332112222111122111122221111111111244211221113321111233124421222211221222442123552332221111111111233443312332222221111123322111333112332211122113444412211223333111233223321111133442331112331122112211221112222111222211123333212212222123312211113334422111112212211223323333122333122223322212331111123311111333111124421123311443311111114432111111122112233212331123311222212223322223333123312442111111222444133212211221111122111222212211133211122221111221334421133233311233111222222122112225533332113322211255533111111233223331111122112211221111222211111122333441111125532112224422211221112211112442332122111113322222112223442222114432122111221111111112222233111112444221111122233111221122122221334423332212442122122112211222331443211221332112212222111221333322332111122332122111332333322111334422221221122112222122111222333321122123322111122144431133211223321221221122222211111122332233112331332122133211111122122332222222122112212213322233211112255533311111111111113332331233111443211332222332444123322111133212211111122133442111223321112212211124421221111222211222223322112331122112233233332211333122221111122112332334433122122111332112211112222112211222222111111222355331233332221111221112244321112233311111112211222233233234442113321133212211111332221222255433111221133442122224433111334411111122332222442221344455321111111111111111334422333112212331223331444311221221112244322222122222222222331112222334441122113331443311122233112222112331111122332111111221111221133211111114432332111122111112211113322222221122111111111333122112222111113321221113333222211123322112211233111111111244442111112222112444443124444551334421111122111111332133223322133211112211221123313355332211112443311111124433111221221112211332244331111111113322331222331111332222222221112211112212212331221112222222211112211234422223321221233111112222122123312211111112222123323442212222112212331221122111133222111554321223344333333122111133331222331112444122222332332211113321133233222221111112211112444422211111333312211111122113322222111112222332333122221112222123312222221233111111233235522211222222332221122125532111112233211112213321122111255322211221221222331112211123322221111112331123552122111223333221332221222213321112211111111133222111122233112212222111122113321111221332111222244321112222332111133213321133331111444211111112222122221111332122334444331222222335535521221144322211221221123322122111223344233211111112211221221122122122332222212442111112553211221221122113331111221111111111112212233214432111111112212331221111122334422222332123322122221221332222213322332222111111111332111222211111111111234422122122221222345514444441221112213321111133222112212212212222144333223331122111332144321111111111111222211111122122111221233222331111111221221112212222112222111111122221122222222333112233332212222222223312332211122332133311332122112332222111112222122112332211221221123322123311112222221221122122332111233333333221133211233332123311122221223331111122133211221113333113321122222222122221111222223322221221221244211221113332332225532335533311111111111122111222222111223344112224423322212213331133211222213344211222223312222233332122233122111233443331332122112212212332211113321221332122111111334423322223321111122111221222333334411222211111113332211222222332124423321222211221123311111222331222331233123335555444122222211113321133322112211223321111122112212222111222212212211111122122122122123323322144331112211221112331111555331122112211111112211222222111122233222212211221112331122222212233211136664321111111111133211122111221221112211111221122233133222111111122133224423321123311112224421333441122113321111221221233444411222213333233221112333321111221554333122235522222133442221122221112212233311111244331133212222222211111144344411122122332113322332211133332213321111111221111111112211112222111222212211112331333323663211122111221221122222234446633122113321122111111233222212222111244211112214443322122233113333111112213322332211221222211122233111112333321112331222444422212244321113321221122122222211111221333111244222112211332122332221122115544423333331222233332331332221332224433221333233223321111221111122112332211111124422223322113321122122221122222211244222222211122122221221333221123441233111222222112212442112211112222221221124441112442112222112211111221221244233312211122122112332222111111221112224433111122111332111221122111221122332332221332221122111112222333123553312213333332233441332111221122221111112211111122111124444213331122112212233222112212442122144334412331111111221221111221123333222122222213323321112233663311113444212233222332111144333111122111123322221111112211221122222211244212222221122332111111112223322112213333221112223311113344111123311221122332333441223321221221333322221221111332122221111221112233333355321333322233111112234441122122222211111122111221112211111111234411221221112213321221111111123311122332233333122122111443222222222112211122111221332144322331111112211134443321111112211133223312212331122111114433111221222331122122113324443113333111221111111122221112212331122221222223312211111112222122222331233223331223321111122221333311111222211111221122554323322442112211133552221111221133552122111233332222222233221122112212222222211122111112222111122122112211221333325533322122112222332123322111111111115544441122122122221333223321111111111222211112212331133553322233122122111111111111111111111111333311221122133222222211233222211111112211332122332221221221221222212212222233112213333443222221233221222331144331111122122221221133332211222211344422212222122122122443211112331221111443355522333111112223312222111111221221122112222122111122221221244444221122221221223332344221111122221221333322111111122223332233323311111221111222331332122333312213322211112211112212212212222221112224422222122122222553311222222112212222221122233222233331222233344221111111122221122122222331233222211112212212212223311133222123311333311221111133222111111221133331221112553212244333222212222111223332211234411221222211111221111332122233221233113321112222111221123312211115543331221221333311554421113333332221122222233441122111222331133313321111133212331123311221443311235523321111112211221133312211113332222221111222212553211334422233331144333123322122223321221332222214434422123312211122122244212224422213323321233112222111333332222211223331113321332233111112211221222211233332333322122223331122122221111223321333122222212331122221111244222221124422442122111122233112212222221221122244411112211133211111111122222212331112212222221444213344122111244411122122333244211111112223322113322222111112442112223311111221111444222221112331222212223322221221122133322122222333321111111122221223345513321222213321123324421122123311122111111112233332211122123323323322233221122112225534412213321111113321111112331221133223322122112332222111235521221111222332222111222211123311112222112224421335533111122123312215553311332122122111111111221111223321221113333112344112222133211122221233355551111122122333114432122133312222112211111221112213323331222212211113321112211111333112233233211123311113333321122221122221111111122112214432223322233311221114442233111333333331122221332112223311223332211122111111112222111111111233112213333244332213322224455333332112222112222222222112211123322111221122122112211221113344444332111111111111111332122221112211133331221222223355443312233223322111332122222331233112211111223321233112212332233312222123311122221112444333112211113321122111222212213321111133214443552333113321221111123323333211111224432221122221221111221111222211223321111122222212211233122123322111111223333123322332133214432221221223321332111112222113377433221111111133211112331122122221122236632112553212332331123312331222233333321112222221111122554331221222211122443312211222212344222223333211122111111111133443333223323322111111114444122221221222332233311122221123311122111111244411221113331122221111111111111122111221333333234411111122122111112553331133332212331122233111221333333211111111221112344111222212222443312212331113344211113321112244331111111233122443312211111112222222442113321333322221222212212444332111133311122233333111122112442111122111112222333111223332211112211221223323344212212222221221113321221133211222222111112212222122122111122111222211233112213321111111233333441122111222212211111112331221333313321235521221122111112444144333222442111333111122221111122111122333111133222332111133212212222222222221111111122111111111233122111111111234422222331122111111233122112222122235555333122113333111222211221122144441111111332111334424433111221123322112344144321112211221122221221114443312223443321221111111221111112233312331123312222122222331111113321124421332222211333222244333122111123322122124423321334422112211255333123333211443345522221221111221111221221123325532111221112332222111112213321111111111244211122112211124421111111122443222122111112211111222211111222223312211112213321223321114432111112223322111221222222122124421111125532221112213355222332334421334423322122221222213333113321221221111223321222331122122122221111111222222222222111221122221221113334433212211222234443311111112222332221221112212222111332122114433221111111224444412355511111112332211111223331111115554444312222233333324433111122223333221332122221111332233221221111111123311222222112211122122111111332111222211221111133313344224422212212222333311221244212211111255522222222212222335534421112442332111111111111221122113323322211332111111114442334442225533112211111111111244332332212331111122124421111111123333212212211111122111122112222221221111221221122222211113321221111233111122223334412211122111333311111332112224421123322112222122224444312211221113323333112233222222222111133211332222222111144444411233122134443455244443324421221144323321111133332222112332212211111334421111122122221221111235521443444421221122221111222222133311222331122123333311111122112442111122122112443311221133211112222111221134442122222331221221333112331112211332222333322212222112335544222122332122111111111333111112212211122122122122122221113321221111112331221123312331122221233221111133344332111133311233112211111443212211133311333111233115544551111332111122233233133222233111113321112233211122221223321221222211111122133332211123311123323311111122111111332122133332331233111112344221111122235521332221111122112444412222112224441221111222333331443311223344213322213331234422111111221122133331133244321221112222133442233332221221333333211223331122111133322221111222212211221133223311122111113331222332211112212222233244331221244211133213322211133466222111221144322233212332211111111332133212233555233233233225534412211111221112211111221222211332223333233133222221111332112211332111112233244323322212212444111112222255333112222222212212211233244444233113322211112211222332211222442111133233223333442444442111222211111221333221221111332111223322211221111255344555212211122112211332112211122111221111111221133211221221221221233221122111111111222332222112211221233111222223312442222211332123312212211221124421123323311122123312213333111333322122221332111112222112244322211222332443311333111221222553322221111221112223311111133332211133211122112222112212211112331111112222122221233112211333311221122221113322233331443344112211111221112211111111122443212212225533235533333311222222332122222331112211133211111233112553212331122111221122233111233333221221221221122113321333311222224455344211111223333112222111133442122111333111123774333112211111112211111111133212212211111111221111123312212212211122111133322112344112222111221221233111111111112211111233222223312211122332444335544332212211112211111332221122122221112211112212222111133332331122112211277555346664553322443322133212442112444422211333221332221111111333555333111113321122111112213321443322111111221122233122332122333455112244355211111221222222221111111122111133443322111122112332664321112212211221221221123322221122221111111233112222222222144321222332331222222223321111221111111133332211111111112331113321155442221112223322222211111332234433322122111233111122122111233333122124421221112211332111111122122222211221111333111111122112344222211123311111222211112211222211114442233233112211122111111221221333221122113333333122113321221111122333311133211113322555555211122112222112211112211123442332222222211111222442221113321111111122122122221122221233111224432122112211111111221244663333211122112212211233221332332122221244211333122111111332133223441122222333321133332212211221111111133311111332112211244212355222223321122112212211112212211233122111133322111122122333312244333113333111112212442144323331332111332111122144333344411443322221221112211233221112212331221222442332332111112222233112244321123312222111122111112211332111221222233441122112211122111122111111111113333112222111223321133222111122332443211122112355233233312213333332221111221233555441344411111122112211333112211111333233122111122111222222122124436632333312553344221233122122122122122111122112211111222442223333122221122221111111113331221221111221332112211122111155432222213321133212211221444332223441122122113444213331111111111221111111332112344111221222212216664332211222222112211133311133441112222222223311333333222111111133211111111221221111221122122332113321333332111112244321221332221122221111122221221112222221122221332112214434422122224432112222111122221332133212331221221112223442222113321221111222222221112331333311111122221113333111333312211133211233112211332111111336633444432122221223321222224421221221221122111122112211122133355211112332211124422223322233122222222122112212553441332113322211221223321333311244333322244321112222122111111111112222112331144433112244421111443222111223333233443212222111222211123311133311233111112332223441122122123311221111221112222122112212212212222111222211221111111122221111111124421122111111111112233223312222111221112333321122111221112222112332212211113333244331122332221112222111221223321122333443332222221222331334433122122221223321112443322122122122221222211111333111222553311122222211122111221122112233212212211233122222331222222113321222233344321112212222122112211111222211133212222222332212222122122122122111133214433552112331111222212331113344222213321133322113321111122133222122112211125532112213321111111122221222222111221222331112332211111112213321112212222224432111234422111222444112211111112211113321133311113322442112555331111221113321111111111122222223311233111233244552222221112222144344333344111223333333311332122122112332211112244331221111133331111221112212332212222113333122223331111122221244211114433111221113322222233221233111111113321221111444212211112444221244211112211221222211122144323333144321122111111112222133311111122123323312212331123311332122111111111333311333113322222122122221443355222111222212331122122332122222222222331144331223321223321111122111111133442133222111133212442332222212222333122221111125533112211122122111334421123312212212213321222223323312442115543224421221111122221233112222222222111111233332221122111123311133442211112211222211111112211233221111222233444332111332221221221133345522255321112223322123441222442111221112442222211111133311221244555222114432332223323321223332212211112222221113331122221221333112331123443321233111111223321111221111111332111112244433122222212332366321122144455111111122333333233112211111111233111122221111333133552111244332222111334423322123333442211111111133443442332222554441111332443211122221221133211221333312212211221222331122122112211221111122112222111111221221122122124441111112211234411221111111111112212222332111444211122111111111443311221255324444222222222223314444112211112332211112331111122123311112331112222112332223455122122122111332221111122113323355332212233322332222212212333321222211111111112211112222111111221133222122221111111221111133312222221333122221111233443211122223321233111111233112223312211122443212333322222111334423332244432222122234411332112223322111332111332122113322211111112213322222332223366322212211221111233122223333221222211122122124421122332123311332221111111123322111111111124442331125533113333333221112212332332211221122222344233122133331111111122111221112222111333311332332233122112222221222211122133222123322222332222122444212333322331221122332112211112212211221122111221112213321113344331122332333133222222212211233332133333332222221123333211221443442111123311222211333333312332212355222233112222122133311111221133213321122111111111122221111122223321222331333222211111244211112211112223333312222233133212211122112213321111332122332111111334662111122444222122111221221111223322211443331333552122113321112331111112212222111244411222333355333133222221333332144321122221333322122111112211133233212222222331112213331112233331111111111122222222122221112222222443312222221111122111222222111233112214444332122233111221133332213322211221111333311112211221122122233111112442112211221443211233223321221133333333112331133443321332113333333222553211222222122233112211111111122111122111221111222332222332111333311122221221122221111112211122122111133244321222211233233221221554333122113321332123311223321112212212211222211244222234433222222344221244222222222111122234411113321122222211222331112222122334433112211332332233443212344122122112212212222221332221133331112213331222211122444211112212211111222213333122122122233223335533244422133222113321111122111111113322331111443311123442233211122111111221124421222212211111133333211144331122244411122221122112212212223311111222211221111221133311221223332332233222111221221554322212233331443211123313322211111111111222211221133212222122122112222221332332221111112222122111222213321221124441222212222333312212211111111333332221111221112212222111333234433222112223322122122122222553211133312443322111111133333211122112442111122112444332122443222144323321222223312344221221344422355211112222122112355212211111221122221111111221111111122112222221333312233213332331111112212233331233221111111221111122123311333111133332211333311222223322113322211221122244212244441122111333311122333266433311112222112211221233123324421222212212211133211335532221113331332111221124422223311221111111113333122221112332331222211221233111113322222111223321144421111222331122111221111222212212332233244433111112223312233332211244331111111244331122221112222112211111443222122133323313333122133222111111222212211111112233223311222233222133224423323334433312355212331112222221221111122221255531222213321112233355211222211144377773125552113322211111133222123311221113331443211221221133212332211222222222222233112222122233332221113322233222111113323334413322222221344433233122111122122221133444122222211112212222223331244233211122233221221111333111133212211122221112211221245552332211112222112553233223312212212211112222133355211111222331221112211112222234411133222334423321332111221111221221133211221221223332233322221112211111112212222222211122112212211112222112222332111111221111122112222111111333311444222221244211133212664344133311112442111221221222211122144322222221338854421122133332212213344114432332112222122112555222221111111112211244233213321122133332355333321112213322212211112222233223332332442332111111221233233112211122333314433133212211111123311111221112332211122332221332221221122222211122111114433112233211122221111221221111122113334551111111221122221111332124422211111332112211111112211111122233233332111333446664331111221112211221112223313321111221113322344112222221111122111123322112233442332233222122221122111332221111223333221111122111133442112223553312222244211222233211133222222223311111223331221112211122133211221111122122111122133224421112223333333333112331122333112222111111113322222112211221233122332113322212213321111111113322233212211111233122221122122221111112222334422122111244211111111133331133322244422222211112223322111122111122222331332221332222222122122122244222221112222332332112222111112222122233111122332221222211233111133331111112222224433113333111221111224444444333333112211222332223552221122221122333123311112211443332222122133211222211122222233212331111112211112332222122221233222553211111223322222122122332111221133311133322111222211126644222113331221222212211123322111221111333112211222332331122111122221222222221113321111122233112233323441111112442112211221111112233222222212212211111221111233123311332333111112213321111124421111223322344122222211111221112222111113321122221332224432123459944412212222111221133222233221221133331123323312211344433332111332333221111122333123552112331112213321221111222211122221133213321111112212223333212222111123333212222111124421333312212212223322222233212211223322442111113323321112211233233111113344111111122333112212211111223321221112212211332123311111112233222111333133211111111221221111112213321122112211114432111112333344112222222211112211111122222444312211133323311244222123313321233334421111112212211111122233113321221123443321333332111112212223322222233553331223355331111255355521233333133331111111111111221111122112222222233211221122221122665433221122222222111111133212344222332211223322331111111333124421122235521222212331122443211111122221244244444442222223311233332112222112444133211122111123322111133442333322211222553311122221443222133211133312224455125532111111111221122122122111221112213321134444441112333333133222221233222211112332211123311221122124442211221233111223323322331122112233212222112224423321111111112212211333112212355212211221122111122444663312212211222345514433311111122122222222112211122112233332211221221122144333323322333333332222133211122221112223553311122122111113344334444222122133222122111111111111111112212223311133333333111221114442221111221221221122122133212212211122123333444421221333133312211124422211221111111112222112212211221111112211111221221221111111111332133311334421112355212211133322255531111332244223322233111221122122233133333311332111112212222122112212211122221112223311124426654441333552111111234422223322212211113322211122111111332111221123312212331223332211122222211111221133211221111122124421133442221333223333113321111122122244344111222212211123311332221122222222332221444443113331332333111222211221233111222331222332222122122111111222233223311233111221111122112222111221123311222211223335552211233221223322211332221111112222122111233221123312233313322211111113344233112213322332211111122111224442112233331221244211112222122111116664344411111122221111221111112212222233122112211123312444124421221233222222122221122112442111111221111233122112331114432332111333112222222212222332111111221111111333333211122122112211122221112332233211221111112233244422553212211221112222221111111221124441112211332221122111122111123311332221122223333112233331221222233211122122111122222213331111244211122221122111133331123312213322211333234422234413321332122222222111111122122111333312211333122233112222221221332122111111113334432113331111222222222222111133331111221221222331221221122233233122111221111222211122123322234411223333222211112212244321112233331111222334444211133457721111111122233122332122221111123441221133222111221332222332344221133233332222221221221112212213322233212212212233213321111222213344331222331112211111112333333222214433234411111144322222112233311122111112332212344222222111221111234433211144434422111112442221112211244222112443312222332222212211111221112233222122111333466212444112211221333311234551113322211223333221111111233111221111112211332221554433111221221122221122221111122122223321233222331112331244433211111122235522211111221122123333211233111111244222122133312211111122332333312331113322223323311111122223333113321112222233122122111221112223311222211221122221122122111233222334443144331133313335533221222211333112223311111112244331111122112442255344411222213321443222332554355321122111333124441122332112331344441133322113444122112222234413333111222442111111111122111222233222122221332112223322223321233111112213355211244213322211122112444333111122122244211221224444111333311233223322211222212331333111111122221112211122111124422222133211221112223312222111233111223321221113331111122111122111221222244333111332112212233222223323344332221255322222122333122233133344122133212331221334422331111222222221222212244322223312213321221111122111123322244211122122122233122221333112222222222111234566554334411122133322122111112222122222222111122223321111122221111221222222122222211223321233112212212222443331332123311111123313321113344211112222233111111112211111332111332122111112211111444212442244553213322211244211111111112223311111133222221123311221112233442211111443331233333144321111123311112211122111112212211111443211333111223322211112212222333322111122122112222111113322211235553333311222212331112442222331443322222212212333344422235521112331221222222221221222211112213332211221133222111223323332332331111112222111112233224441233122123322122222222111111221333442331335533311111111111111443442222122111332112211111122111113321111113322212223311221333332111113321112211122112355331222211111133311111223331332111123443333111222211144331332222213323331122111112332233222222331112244333122333244431111111144441111122111122111123322112211111144433122111113331133366344122221122122111443211554433111233221222331112211333322111443344221221122123312211221122111333111112211111111122111112331112211111122123311233333311111221111111221222442112223323311221111111111133222122221123312443322221111221222211111122222211221112211133333331112222111221112211333222223322112211111112212212222221333112224422211221111221122111332123311233122221112211123333211221332111333322122266432111221133322111111444222123311222233331113322222111111111111223331222224441221111332122234413355332211112222233112222223322223311334552222221144321233233111113335533122122244222236633311333122111133222222211332111111113322211133222111221122111111111221111111111221113333322212223311333324422332212211233122112222123312211221221112223311222331111111133444244211221144423333221221111112211111244213332211122144422212222233221221112355512212212211111222211113344223322122111112211111332233133212212233211244412211112211112442122221221122111112233322222211111221111222212212223322124421233233222222111332222333333321222211221111122234422111122122233111111112213321111122111111111122111122111235521111221114433444444112212255433322111133322122112331111112223311222222221221113331233123311111233111333311112211333221113333113333222211221221112211221111234412222223331332221221122221222442111111122122122122113333111111221111123313321123441233221221122222212222111112211111233221112211122221112222111122122122221233221221333133333212331221133322123311111332221122123311221111221222214433111111332111111224433311112211113355533441111112331332111111332122111221221124441111111123311111332122111112212223311222211122112222111122112211122233114432112212211244211112222221111111111222222122233111222222221221111111244211244211221122221111124421111222222111111112225553322112211122122111122235523334411112331111112211122221443222112211222222113333144321444212331222211223321111112211111333333331111112212222112212211221111443331113344211111111221112211111223322222111122111112211111233133442221112212211111223321111112211133233441221221111133214442444222221221222345512223311144321112211221222222233111122144333221222211233113322233244332213333155432112211111112212331221124442222332332222211122111122133333334411111221123322122234551122112222221111122111122112211122112222111222233442122221133552111221122221111133311122111222224422211244344112222111332113321112213321111112331112211111221222333355512222111133552332332122133222112211112222133222111221133312211221221111133311133222221123311111112332223311221111221221332111112211111144355321332133322333322332111111221233111221155434421111112211333322114432112331222211111111332222442244422111122133213333111221112233211221111112212222334411112223312211233133331111221222331221112332212222221122111332221112442111122223322233222112212223311113321111111221122334422221111111222222111244224442212212223312211244566113355321221122333124433112211122112212332211333122235544223322122111244212212233331112222332332332112222221111111112213322222111133344333122221221112344122113321112211144333112222332221122223332233222332221222355222123312211221111133223333331332221111332133211122122221122221223322212213322212222122333111112355211112211233123355433774321111122222332212211223334411111111221222211222212212442233221221111244333322222123311114443311111122133222221111111233221112212442122112331133355233211111122112233331111111222233212211122244211223336634421334551111334411122244332211244411112211133233212332331122111221112223311222212211221111255333111111133222332221221122122112444423331122111122111333222222111122122112211222211124433123311221111122221333441443331111113331122111221123312442111221122122221122122111112222221334422211244223311111223344211221112211122122122111122111221123311123333212212212233322112211122221111122222212211133311443312223311221111133222221114432222553312223322122111233111111123312331122222212211122221221332123311123313344224421122332222211111111223332222133312442221223366444144321235544222233122335533111133222332233111443331244355212223322233221111122221233221122222211111111122111111122133331122133344221123441222331221123322233112222113332331332112443311155432221221223334435522211112233213321222211112211133211111123312211133233211111221111333311332222211111111112211221123314433123322133233311112222111233223321334423344211111111221332222333321122112233311113333133212212331221222222332221123466212233222111233222211222222122111122111122222211122221221122112211222212333321111111233224442112233333211333322221233112331113331133212223324555122133331222222233112211111233122122111111111222332211233221111221221222212211122221113322222111112213332222111133444421112211222212212212222333311222212211223322211222233553211113333111122221112223552124455551221221111113321221122111112333321221112331221133331112332233311221122111111221222212222111112222111113321233221124421233223321443552233112345511122111111111223346662211233221222222222233442222211221133331221332221122333335534433221222222111111113322331111334442211234551133222133211233112222111111133211112222333332221122113333221112212212211111332112222111122223355355211124433221221112222112212213334411222211111112333331113332233222244414432223444223322111113332212211113323344133211111112211113321122266662112331111332332222211222222221221111221111111222222111332112212212211223333112211122222213322225533311111112211122133312211221221221222233212222112211222222223333111111122111221112222123322111112331221112222223334422111112222221221222211111222222111112211221122133212444122111111111222222222443322122111222332211222212212442122111124433222212213323332223312211112222223321111244411244214442111111222213321122111332113333111333221122111221124444211111221221223323321111112212233344332222211111122222213322212233552221112222113323322212212332222112226663322111233233111222233223322122133333344212223312211333332111111111221221122111333322233122111122221122111221133211233133344333444211221221221111111111122236662333111444211222212333333111123323311221113344332122122111111111111112211222331222222221112442122122221333223331111123324421112211332122112331113333221122221221112222221122111122221221133233212225533322222224444344122221111221221113333332233111111111333111221111223321123323311332223322331113323332331221133214444133322122123312211111233221122122221333312222133331133211332112331333111112211112331233112212333321112331222211122221221112331111122233133311112211111111222244321222233224433221133211122111112222112211111113321122123323313321122111333312211122111233235521112211122222222122122122221111112212211111112222333332122111122221111111111111111222223444433322123312355223333331223321124422212215553332212331234411111113344213322224421333455133552123333322122333112211221222344122244233212222332111334422111111332144323332332442111113344244321122122221112223311124441443233443322122122222222444445522111133233211111222222223321112355211112244433122224433111122122112211122111222331112211111111115553222333111221111221122222212222111221133344222211112212212223311221223333222212211113321111111111332223321111133211122111444344331123322123455123311111221122144332213322224444412211122332332111111122221111133322221122221332111222222221222331332112344111122332122111111123312213321111111111133222123311111113331111333244331111112212222112222133331122112211111123322122221122122222331223321233111112224421221332244344111221112212222332221122222212211122111554433113322212222221112211123333311112233311113321111112211122222222122221112222111221554421122112211221222222122221122111111122244212222112211112211222211133212211133222122113321112223333211112222111112553212223324441111122111111221111123314433312233311112213323344332112212211122112211123322123322122122221112212222133222122221221221332123334442233221332112211111111112211111333222222112233211111111112331122233112222233122122333322111221122221133311123325533111332333123322111221122233221233133344111233221122122221111221122112212212212344235544211122123323312223313355233311112211111111221133233331111221122111111111111122234422111133332212222111144331112222112212211112244434411255332211133344221111221111111122244211244213332222133311244212212212211332112212222111233122111233221332111112224421112223333312222122111111255331111222212223311111111221221112443311133311221221122122444211333111122332332122221123553322112233211122111112222221122122332122112211111122113321222355355211221112331114432233222212553311221222213333344211113322211112233333212233322123313333112344111222211233221233221111122111111221112222111221155433222222111233111122123322222222123312222111112332233211332111133444311111111221111221122111113322211333122113333112212212222111111223321111222222221111332111123312213321113333111111122222212211221122122222222122111221222212331111112211333233112344332111122333312211133366331221122222222233123311123322221125532155433122113321233112332211332221112214433313322332211112443442233211111133322111221122233113332222122112331112355223311111234551223331113321122122222222111223333332234442122221222332222221122112212225557722211111221111221111222213321111111234662111113333111332112212211233233122221133331221111111221221114442111221111122221244332211332333311122221223323331112213321124422211123311221122221111221122223334411133222133331122233133311122221111111111111122112212211111244332212233312211111221112213344211112211112332222222212212223312222133443333331111112213321224434411332112212211221223332222112211122111222244321332221133211113322555522221111221122111122332224433221221111123333211221133223311334411111221111112211111332332234411332111221111122332122112212222221111333312222221221112222224433488443442225533111122222222111221233221332111221114442112212233311233111222233212233211233111111111123322111111221221113332223312222122332112331244211123322112331112332222133311111244211221112332211224442111112442333111111221133222111333112222111112211144333122133211125535522442221124421223321133331111122244233212213344412222222212213332233311224433312211224433322124442211111122111133311222211111133212211122255344211112332223312222111111123344321111122111222211122221133211111221122113333122112212211113334551244222111112442223332212211112211133212212332212211111111233111233221122221122113333221122222233443312212331111332133344112222222212211122122222211112211122122221111133222222333344212211112222111332222211223344111332111224433221111122111222444221111233123323312333321222212211221221333244211112331221221221123344455531113322211122115553311113333122122112332222122111111221133553223313333133233222112553355331111133333212222112223322221333111133222233111122111113322213331122233112211122222212553441111122113322222111333233111222211222332222123323312344111112222122122221112212212222111111111111111123322112331111111111233111122221113333221444442221122122221112212331221122111111111122133211111224444433233133223324422211122125532111111223321114444211221111222213322211554421113335533122111111221111233122123311221221235577233322111111111133331122221233223321222211233122111122112233442111112211221222233332222122221112211111221221221122332233122221112222332111221113321221233112212211122333221111133244321235521122111111111122122122222553211221233222222111223321111333111122111111122333312233212211123311112211122222333332211233112222332112211111111222222122221111111244222133442332122111112211133311332111111112223311111111113323321332111112211123312211222211244422222211133332331112332212222111112214432332233222224421233221221111222211233112233211111112212233211222233332222112333323321111444211233233112212442222331123322222212332222223321112331222222123311332333312331113331111111122112211244211222222133211111112332222112244322212211122111222222112331122112211111255521111221111112331221122112211112223311221221123322255332212212211113345522112332211122112332211113321114433111122233112212212331234411221122122221332332112331112211111112233331112222122221112211122111233122222211221111112222133333332222122333332111221112331221122221122111233111111111222212212222332233113321332111332221233112211111255521111111112222111221122122221112332332244321111112212344112332222111221332111111222222122111222222144331233122334411221111111122122111112222112211221221111122111122333312222233221112333321122113331221112211125532122133311122222332211112332211122233333112222222211112211221124423321221122111113333122111111221221112212444312332233331221337773345512233222111222211124441112442111133213321233112211111111111112212442111221222212211222211111111133344133331112211221122112223311122332233112442234422221235533111111113331111221221122112222223331111332222211221123322111123312212211221122144334666144333221111221122332221112212222233133222332122221222222112222221221112442122112332214444125535533323311234412222133222122111112443311111332122221221233333111122244211244431133211123311111233244211221111111111111112213331111133222133211122133233331112331221221122244211112222221244411443322133211225553333322211221122133347732112244333233111122111233133311332122133223314433122222212222122223355211111222223311113345772222222222212233233222133332212211221114444255322214432221222212211124421112331221233244331112211111122333222222111233221221221444331221222344221333311122221123311122111122221233221122111111221122222223322112212211122113321111111333311221222211113355322233222221122122122122223344211332111332111122221332144323323344222212211221122112223312331221122122111444222122122233221221222233311112223323311333113321222211133322112211334411332122444331122221111344455124421221233111133222111122222212331333311111112223311111133331111123322332221221111111122124433122112211111111122144332332442122221221125532112222111443222122333313321111111222222122133212331111113321221111111233221244212211122111111221233112211122233443211221133442112211221123441222213331122111221133333332222221122333311223321111133211111222332331133211112222111111122123311111133555222222211112211111112211333311111113321111111124421222211111333312212222221335521122221111221111221233113333111222332211233244411122112331122133212212224441111111221222222333233111332222211112213321123333224443331112222221333111332111111122112211111222334432222222111111223322442122123322114432234433344221221111221123444444322333322111111222211111332255321122111133211221123311221221111111133212211111222223322112332211114443312233212222124422211111111221221111221111122111111111122225555512222111221222222133211221111122112244322212331244344221123322244411221332221123312211244332212223311333312212222122111233122111444433111122112211111443311221443211111113323321133222111222331113321222211133211113321111111111112212211113332212211122221113321133211112212212211133222112212222222222111122221221122222222222211221122122332123311122444413332223466211222222111122111221112331222332332222111112233332212213336632221112211111234412211122111111122111125532122111111221221221111122111113322222122332112244331111112331333114432122112332213332442221112213321133332212212222111111122111114444211332112211222442112222111233332122112212223311112211221111112244422211111222211123311122111111111113331111111221332443233322222443322112222111122113321111111221233233112355222114432111113322222255521111111111222222122233111334422212211222211111332333111221133222112211111111111222211122111332111222211244211222222332221111144332331221133442122111112331221113321221221334421111111133323311222222122112211222224421221112223311122111333312233331222233322113321122111233122124422223441234411111333312333321111221221122111221333312213331222212212222111111112212211111444223441333133222333311221112211123324433222212211122122113333122113331221222211221222223333212212222122111332221113344411113344221233112223322122221332221123312443322111221111111222223311111122233133211111332122111111124423321123311222211111222212211111112213323321332222244332233212212223323311222331233133314432133312244322331332122111122221222212222133466211112213322344333322111221333223333112553322111133233444122112233212212212212222221111111123333332211332111333111334421111133212331111222331333122112212332442122112222223333233122122222212212212211332235523333112211244211332122114442234411222333321133211221233133211112211244422111133255532221133322111235521221111111113321222212212222114442112222122111221111144321112212212211113333221111133555212211133212211332111111123311223333133223311221122244333333133311334442233211111244442222234442111332133211123322112211111111233221133554433111111336632235521112211111222223311112211221222211111122111223344211221233222211221333221113332213333122123554421122222213323321222211112213344444111133332333334411234411223321133553222233444422222331223321332144435521122332221111112222122233111112211122221112211113332211221111112233222122113331223332222332111123322111443322133334444221122111112211333111221122122221233133333321233122221133223442211122111112212333321122112223322112222112211122111111133322233332112233552222331111221221112331111222212211222211221111111122112332331123313333123312233322111222233211112213331111333311133222332122122122221112225532221444211122244422122122111122223331111111111122335521222331133211111123456611224432222332211111122332221221332133331233122221221111221111122222344233113333111443223311122221111111111332112223312222112211222442236662333112442111221111222332212211111112233213322211123441221112222222212344221111133212332222133322111332122133331122112212222244332211112211244331122122112331333113331122222212211221221111112233442222112222111222222111332111222222233111233133312222222211233111221223323332344111111221122144344212214442112211221221112222444412212222122112213332212211233233111111111114433322112211112211122122233122111233112211111333322112211233122221122122111112355331112212222113331111123322123311332111332112211222211113321266444444214432111222222332221111113344244331113321111112244331111111222355332222222222123314432111221111111223321111223333124433332111122122221122111222224442443322133324433122333244344222213334411221244332344113321111112331112211333322111111111123333212212212212233332222111111221233111221223445522111111221111221111113321332221336662221111133323333244333111111122112211443312212233211133312331111122111221111221133331111332222211122113331333333133555212222111122221221111222233441111111244411221122112442221112222222212233311133331112222112344111111112211122112233332233311221122112222111122122112331123311333332222222111332111111221144422211111112331222212331123311111112212331111221122233111111221111111112222122111111111233133331222212222111111122111221122111111111111111233111221221221111111223332211333111111122111123324421111221333222212211112211222211112222111133332331122112212211112443322233111111221111122122111222211222222111233112211111221222211111122244222111333233111144431221111233111122222444441221332111222211221221221112233222222244331122221222212211221221222444332123552111223321222442222211111111111122111123311221133311221144344255432111221233122111244411332111233334422111112211222212332213332222221222211111333122222444222211113331122122234422221332111223333122223321124421332133223311123312222122123322133244332332222111555544122112222112344113333111122222222332233112222133331122233111111111222212222113331111112212211221122443553333233222133211111244332222223331222442111222222221122221112331111111221111221244211122122221133442221125532221111112212211222211112332211332222224421233112222111111221221133322122133333331221124442222223333221233221112455511334412222133233442122111111111122221123311221223322222112444443333344212212211111122111122111333311122223321112222333221222211122123311233333311111333111111113321122111123312211122112211122443442122111122144333111222222122221333122122122221222211111221122112212553222111222211111244422223333221222442122221122234412224421122333111122111233233122122111122111122234411222442233111221122113321114442111111221111111332144321111122122112331112222111111111111122122112443441111221122222211123323311222222111222211113321444222221111122111221111111113333122112222111133211112212211123313321233221221114442332334421122122122223444111123311111122333123311222211122112212211221221233111122122111221221444311221332122122222211111122122112211112212212223333222122332122111244331111221122123311112211112331111233113331122111111111111111112443333212211244212214432122122111111111233122221334433114434433111244412442112211221133333322211332111221255552211244422333311111332111111111222211111222442112222111111122221221133311133212442221113331112222124421133333311222211222212222221122111332111133312331222446644212211233111221333122112211113321112213355333112333321221332111444212442443331112213333221111123311133222112212211233221332112211221333441124421111111111122111112222122122443222113321222211133212211233123322112222233112332331222222113344223321111221122111332111113333221122334422222212222111222344123312211221221124421222331122123441332111111221111122122111222211114433311233122112211122113321222223312212222333311112233212331144422224433111112213321111111221334421111234411234424455332222221111112211111122123312212211221111122133211112212222123311111221221111221122221111221221112442111244211112332233331234422221221111113333133322122221122222223312212355522111333322123311332122112211112332222112211122222212211111111122221233122122332122122111111122133211133312331111111111111443212212211113321333221233111222222221221244211221221111332122332133222444211122111233244211332113333443355331111111123312331113322233211233112212211111332122133322111123324422211234411233111443211332122111112442111123333211112212222222553311222212222222233332442111112212212223312233222112213322442333111112211111111122111221333122223333222244333111112212244334411222212222221112211134442111221113344221122112233222332111122333111233111113344222133331222211123322111112222221333443442344222211223323344124442222113333112212442221111123312212212211122122122122112211221221111332112442123312214433221332221122111123323442332211233123311122133323311222222111112222122222444111221221221112222111111221221221221221221122112222111122111221122113344122111333312222133211221112214433322233111233233123322112212442122112212212212331122221112331111332133311332123553311222331222212222122221144331124444212212212222233111221111221111111111222212211144331113333111221122111111223344222144334412212233211122112222221122123311222222222331122233122111111112222122111155443311133345512331113331122222222111223333114432443212442122112222111122111122332221334421133331122222222221112222233112553233211133332211111122111221111111222211221333133332331125552111222211223321111221112222224433222222111122221221221111334414433333344221112222233111234411332111111111222222221123312222112211223321113332443322332122111111111111221443212233212331111222222123333332211122112222133332223441221144421222442111123311111112212331111332122112211111122244211221111221234411334411222222123311111111122123311233123322111122122222222221111133213333113333111122111112333321111112233323311122122111222211332114432111223321122111122221221222331332221333552111122133442233221113321123312442221222211335522222221223321124421122122111111123322111111222222111111222211221111111112211111332122222211124423333221222444111122112212332334444441122112222144323322233443322113333122111221122133442332112331332222211112222122133331133233222113331111111114442221332221222332211221112211333222222111221111122222225534412211111221122133344443222221122111222333333112214432221122111123312222244213321113322212212233322111111221332111112555442233333322221332112331122222355332345511111221122111122111111111221111111123311133211111221333112213322211122221112211222213321133443322233133211233111221111221222222222222111111122222211112212211122111124422211113366321112553331443211332122122122111223333222222133333222332224432122221133212553322133211113334423311122222233442122111122133222332221111113333122112331112222221114432222223663322111122333311332111332122444212223441122122112333321122221112222222211122221122133212212222112331221111144422211221111122111112233664421332222211233112222111122111111332333324423322332211122222212211111221112224421122111221123441111122111122111221222222244212214432222222113331221123322221224433223321122222222112331223323322211221111122444224433122133311333322222222123312233222233111113322344112211111133212344122122112211244222233222211122111111112211222211122443322122122111221221122221122111221111122221111111111222333333114433333223311113344211443211111111222331221233222222233111221122332111221123333331122111122113321223333111112212233222222233222333333222112233441122223323321221222442112212222111122122123313321111122332111332144332212211112212212211333311112212211333323322111122111233225543211233111123311112233222222211222333331221333124433221111221221111112222111111233221221111133211221122133325532111223332212211111333133211111113344422133553211332122221111111112211222212331221133211123312211221333222222221111111122112222221233123311112212222111123311122112211221111221111122222442111122111122111222223312222222223312214432222233222113323333332222221122221122112211133444433133344333221112344111221123311122334411244414434411122122123313336633333311122222212222111332111222213332331221223331111122443323466212331122112212211123322234411222211111222211111332122222212331233133442221221122133213323322211333112233442233111122111221111122133312211221222442221111122112222111112331332222222112331443344111123324433112212332211112212212355211123441333313321111111111333333344122333111333111233124421221111112211122122111112332211111133212222222355511233113331222212222111111334433111221122112211221133223312332233331111111122221221333122333111335552113321332111332122221133222221123312211122111111122113321221122244212233331124421133322222212442112211233123333333331222222221124422233212233222332112211332333221112222111333441111133333323312222221443212211122111332221111133311221133222133233366331111332133332211222222133223311144331111221332133312332212213331112211122111122123312222133222112223311334421122223331111112213344222111332112233312223322221221221111111221222211111112442122333222211122112211112211113332233312332222111111112212224433221221122222233312212211111111112331112222122122221122122443344111112223312211222211112222233111112222122133222112211112331122112214433133244334411111233332112332212212213335544224421111122233123322111221111222331233332332122224432221111133211111112211122223332344222222221112331332122112332222332112211221112442111233123324421112331111111112211113321111221221123322111111111222211112224421111222331221112211111122122222211112212222112212222111221111122221111222212222222222111111222223311122111221222222111235551111221113322211111122332332112212222112332212211111111122234422122111221333111111333322111122112223322221111122112211244222111335522222122112442234422122221111123663223323311111111111221221224444111334422331111122133222112233211332122122222331111111111122333311122122122123554421111222233211111122111113323321111123312223311111111111112331443444122233221112212211332221222225532112211133212222233112553211111124422442122113321113333111112211111112211111221112222111111111122222211124421112211111122111223321112213333122112223552112211333123312331332123322244332212442233111133212222221123322111111221233112222222212211221111221233123311133552113344211122221123322122133331111443444111244211122112211112222111111444332222111233122112211222211333312211332234411122222332211221112222122122221221122144333112222222233331113321221122221112211222222111221222211111222222111111244425553311444431111112222111221221223333223333321113333124422211111122222211112331444233312211332133322122333221221112211123312233211111123322222212233211111111223321111133244321114442221113321112211221122112222221111332122334411333221122122222212332332211122111125532111112214432112211111223321222223311122122111233221111222222111233333311333233111221221112212223311222222113334422223331133311223344221122111111133212332222111123311122221112214432333322333233123312331221122111221122111123311111111155442112332224421332443222122111113321111122122111111122112442112222111112211122233112222222211221122123311221221122111112211122221111111111221222212211221112212233211144322211112212233332553332222133312222222332222111111111113321233221111233333312211111221221233133222111112211112443323311112222112211112211221333322112213322332212211111223344332233322123312212331122221221122111236632122122111112355211233111222222222224421111221221332221332222212222124433122122222211122111221222212212346635521112211112332212222112222111111123322111221255333111332222211221221221112233212233332244441122111332133211221332333133211133212332331113333221235521111111332221244344221111112233322223344344223321222222111122112233333331111123312212442221112212211221111133442123312211133332211111133333442113321122122222222111222244421222211221333111221122122221112211111112211112233322111225544212211222222111112233331112211111111111244222111112213335523344332442111133222333122233133312212211133311112222123311223321122112332211111122133331133331332122111111111222331222224421221221221111111122111112224423333111122122113331111112211332111222222112211221111112332211122122112212222122111233124455331113323322331233124421133212331111112211244212222111112212211126643211111233113321222211223333221122221355532122255321233221111122112222255331123441133211221122111111332111112212331112211111221222332222122221233222222111125532122123322112213331221234433211222331125532133222221111122111133332211221334433211222211122234566133212331222211221221112211223322223311122221111112212212224455533221112233222112211222331222222221333333222222122112222112344111122133322112211221111222211112211122221236633223321122122111222444111221111111111221111112331233221111133332332233211113321333311332122332221111112211111223344212223311333221122122334422122112212211123312211112442222331112212212212222221332111112444333111111113321111122133212211122332244211112442112212211443222112211443322122221222211123333311222222221111443312212213321223323321144331111112212233311111332122333322111123333553211122221133311112222333221111112211122221222211111221122222213333443211112211222222122332244211111221122221124442332222221112212443441244211111221123312233553443663213322222112211122111332111111112222444422332111111111112211122112222111221122111113331333221122123333334442111221223336633322221123322221111122221222333321111332111111112442233221221233122122222212442233112233311111221112223441221223333112211122332144344222123311133222111222233233442221122111111344422211111333333111122111112212233212211122222222221112222221112355211133222111122222211234422333222331221222442244213333124441111221223334442112212222122111221111111133211221111333111133212222122122112211133211111255321114432221334551222223442331221122221113333221333221221133222221221111111111133322111221332111255321122221221333221111221123312222221244223441112211111122221111221222346644222111122111221112211112222222355211112211223321111221244422111221233133333442111122111111122111122111133331122221223323321244332331233122111112553344112211221221221122222212211233122133333322222111111111233122222212442333122111333111112222111111111112211113344111222222122112211233122332223333111223321222331133222112222221112222332111122122113333111114444411332133211133331222223311222222112222133212213344212211111122244211114442122133331111111221111332122221133331111444331111111221221244212443322111133332212211122221222211122111122221221122122221333312223333222113331123311221122222212222222213324443312211222211122122112212222333312212222111133212222222211222442125533323312222332111111111122144431124422211122114434433221233111222211332233111122122111111111221221443332212211111332111221111111111122112222113355321221222211111122111122124421112211111221123311122112331111111122221122112211222222244222221112211233111122221333322233111122112222111122233221221111112331332111233122111111224433221122221111112212212331111122221333112233223311113321111221112222443665553213322222222222111112442122221332112211111113321111333113344211221233112222111332122234412211222212553224444211332111111133211221111122112212211122112211111112212212212331222212222122333122111113344412211133211221333322112212233311112554442133211133322221221112443312211111122122122111221233111133222122111122111122221122122133212244321111233112222112331244333334412222221111221235555332211112222333441221111222212331111123311221113321122112212222221144333133331334421233112211122221113322211222233322221223332211111133213321122222213322222133311122221123442211111244212212222122221122113331222222222213334662111122122122333111122111111233111122111332221122221222331111444355222443211222211223322331233111111122111122112331112222221133223311244212222221112211111443311233122333312222112222111233111222212233211221112332233311111222222112212211221332222222222212331443222223333112211222442221222222112244321111244211122223324443233255321113333123322111221221233223332331234411113333144332212331334421222211222222223322222122112211111222244332331244211221111122332123311122223344221111221233244211221112224444422122122221111221233122111111122111111112211221112212211133334442122123311122111221233221112211222211122221122444333332233311122222222111113321222356661111332123311333322122222222333111122233221111111111122255333221112222122221111554333111113321133212212332212331122233112222111111111221111222211111122122222211111122221122112212212211111123311112443312222244222112355211221234424442211444211113331234662122221111111223333122111111111111221244212223311112211144441111222222111221233133211222222221332111122133332212211112244333221111222211122221111112211222211221111122333322233122233112211112211113325543223333211223332212211221222211332113322223312211221233111123311123312222221221111221221122233233222212222113344211112222223321112331112442123311111112211222443311122234422122221111113333222211233111112212212211111223366633123322111111112211111111111221111111221111122111333122221111222355211221223331111122122221112211122122113333221221111122234411122224434455321333441443212332211333122122333312442112211111111122122233221111221222233331221111244212211221111111133222111335533111111112211112211111223333112331111222213321221221221111111111333333322122111111112233311222222333311112222133322222233331111111222222122122123312233331113324432221111111233244412212222333221144422223333222122221222213331111332222222111111111221112222221234884322222111111223344123322122223331111112222111112332211111223322332222111111112222122124421112233331111221111111122111122155444441122112233344244214432221443311221111222211111235533133312332224421111554321122133211133345774421122133442111111122111111133441222211112222221122111221112222122443331332111334422133212211133212553222125532112212233213321122133211112211122233125552222233333211222212233212223333222112211111113332222221111233111124443443211133211112224422213344112211124421221332222331111123312222221122111122221221112213322211122244211112211111122111112213331111122122112211111221122122112212244333221221133211111111221122111222211112442133233311133212222233111221221221233122222233322233122221233233111123312222133212442111111332111133212443322122111111221122111221111224432111112212222223333112211113333123441443331123311111122111112211111112211222233211221122111222332222112211111221112212332211233112211112211111221233112213333112222122122111111123312211111112223311155435521233333111111221133222221111111111112211112222112212244421221244211112211233122222443312212211332244411112442123333442123552111123322222331133331221111221222211221122221222344221111114432112211112332222332123311111244412222222331122111122122111221113333332244344133211112212211223333221255333334412213344442122223321111111111122221222222122222211111221233443233211222244344221233122111111112333321113331122122332221223355222111221233122443444111112331221221122332122111111221244411222775433133444333312213334551334422211111122122111111222222111221333144322222113321221244333321122234411111122122122333122122122122125532332122222211114433122124442211244211111122111111233112222221111333311221122122113321122111334421113331112222111133211111122233133213344122111122111111222211122244773344111224433112223313333122133444112211221222331221222331114442221111112555211133331333122112222112212213321221222211222211221222211333322221221233111112244322223323333311112222221111112211122233223323331133212442111111112332213322332211221332221111111122111111221222222112344223331111111444233223553322112333333122111222211221111221233111244211112223311112344111111112212211221222331123311122222222111222214443312222122112222244552344113321125532133442122333233221111221111133211444222113344332211221332111222344112233331111223331332111222332222112344111124455333111224432234412213321111114432244433222221122112211122111111111112212212222111112211222222113344222123311111221122111111122111111223321113344331111244211221123311222331122221111133212211122111112442221222211221111123312222111222223313321222212332211111111221111123441111111111112553552111235521111111333122123441122221221112331111133211222222122133323441332113322211112222123311333311112443311222222122122222212212211111122112223311221111122333553312212211111122111233334433111122221233233122111111111111111221112211221133211111222244332224444411222331111255521333112211111122221111122111123554422211112211111144442211221123322122123311112212212211222212332222111123312213321111122111111225544442113331112212222112211123322221221123322122111122221244222333122112211144421122335552222233331111122122112331112211332111443222133311144332211111221222444222332222111222331122111221233113323331111111112331122222211111332221111133211221122122221122122122111112211111124455221221112213331221122332122123311221221266632122123311133212244421133211233133222113323321113334412332233442221112222112233312233211112222122334433122221222331234433331332222222223333233111112222113323344211111333233222222113322442221222355331122123322122113321112223313322331333323311333123324422211112211112442233112212222332111221332233122122222222113322443344433222222221122111222222122122133311234433212211222233212331222223441111221111122123441111221122443331221333122113321333312233222221111123311111111122122112211332122111122113321221111122221222212331124434423313332211113331221233112211111111111122111112355211112331111221111223321233111244222111111111122111233244211222215555211133444422223441111333311122233122133311111112331122122122221112211332221221221122112222222211221233122233122221223344212222112331244224421124434422113321222222334442211111123312211133331122333441221221111122112211221443233332222122111111111333222222222212222112222444233322332221223344112211111111124441123322122221133211221221113355445524441112211111111111111221221122221111111221112223323311122112213344111122122112222111221122111122111112233311122111332133331233122233111233222211113321133313321113321332112222111111111233122222331122112233323311122222222222213332442122111111111332113333233111111332122111111221221111244333331123311332111244416654321111111122122233332221112211255331233332443323322113331111221222223313321334433111114434421221122112344221111122111112211111111122332221333311111133211111111122221122222211222213333111111112222221233112211122111112222233112211114442113331344433444112222122123311113321233111111111332221111333111221144321111122123311111122133222333112212211122112222123322111111221332111111122112222111244222122113321122133212222221332444211112443312222122221111223355444322221112222112213322222122122112211112222111112222221111122111233221443212331111221111112212233322332222211334411111221111221221334412211124435533111123314433313333321122133211223331222442221123312212222133212212211233122112222112211233444211221122221221111122112211222222111122112222221244211133344333311221111221122122111335521111221332244211113322211133211111112212224422212222233332111222212213322212211122222233552111221221112222122335552123333213321124421111221111222223322122221222244433122133233331122221333311111111122112211255521112213321221112233211111111111122112211111222223311123313332211122221111233221332111332111114442122224432122112233222122113321133222133344221221113321111236632112331244211112223322122122221123322221113321112222222224441222212442111122111111122111111332333122111123322111112212212222122122111221221111133332212331443311111111221122233221333111221233221233112233442331113321111122111221111333122113321112222112222111112213331112212212211223323344443355211122222222111233133331221111112222111222212331223321443344122233244211112333321111222331122221111122122122112332212222233244211122113331244431112213321221222211122221133443313322211122111223333331122112211223344221233112211123322332221122333552221112331233233112222122122122112211333442211122222224421221112224423321222211233111122113321221244211233223322332211111112331112442122111221111133223322111111221111133211222331334411111111122111111113321111221112222122222442133314442111222211233111332332222211221111111221111111111332111221332333144321333344331222222221332234422221111114434433221223331111333122222212333333221332111221333144333111233111111112222221222211124441122111332133332211112222111111112223311112225533313323322212211112233211111111221333111222442111233111123322133311122133322123311221111133331333323311112233213355211221554322333321112224422244423321111221111122124421233221112211111113321112331122244211122111111221222211221111112222221223322222111221221255322222122122111111332233332111133211111333111222211255321111221332112211221111111233221112222111134442114432113322442233233111332333133213331222211222222244444111233111123322122111112211222211333111111133222112222112233212211223331222212212212212332211221111112222111222223311124422222221111122112211124435535533332113321222211112222124422212442112212211233244211123312222122112212212211235521222222222222113334412212211222211111233221222211111223322222123333212233211111133312332442111112212331222444444212233233331122233221221133211333333212331112443311111221113344331332111112444433133441244411122111112211222211221111221122122113322211111123311112211334422233322221124433113344344111124421332332333111113322211111554441244244433111133441112331221124441334421112211111221112222222344222332222122235533111111443332211112222112212211333311111221112233344333312212223333322111124422211222442555321222442333113333122111123312213321222222124422213322211221112211113323322222133211333222211133211111332332111221133223313334422112442133222111221335522213344411111111112222112332222123323311223321443312222222211113331222211244344111122112442112212222332111335521221113333333111233122111122113344212442122233221133442122221222212223322222223312211122122222233211111111113333112211133211112222112443322233234411333323312211332332122122122222211113321111221222211234412212211112222233112211222212214434433441221443211221122223322332233322122122113321221123322221122111112211113321123311244444234422332111111112222222211111111221112334442133223311332133345522122111111111113321111122221223344551122122233333323312331111111333111112211111221111112211221221444211133211222222111244211223321554321111111133444311111122333322222222222211122224432123311233122112222112331332111111111112211111122221244411112331111333552122124421112222122111223332331111112344125532222331111244211111111224442221332221112332233443311111233111111223344111112444111122222331334411332133211222211223321235521111112222221112332212212211112211234412233222122221111221111113321122112223322133211221111443331334421233122111222332212222122133211111344421113333322222224432221333122111133212553211444355213321111122233333322112212211122221221123311112212332212222233223344331111112211111332112211333322122244211112222111332221443211221332222214442221112211111122333323312222111333112211122113444411111122112222133444433122223331222223311112223312211122221221222213322211113322211111111221122111221111221111111122133213332333344224434422112211111111111144333233111221221111111122111223321123311222442123311221332233332123311122122122122111222222111335521111111221222233322222222334433233222244211333441123322221112211111221122112443311221112443311122111124421333314433333332211112211111333222331124421333552111112212222235521233221335532122244555511221133212244344111133322122332233333312443312211111144344331244222113321112442122111222211122334411122122111122332111221233112222111221221114432334411111221113331221332112213332233212331122122133211221123311221233221111221122222344112212222133222111221122125533221244344122111114442111111111222211221122234412211233221122122133311221122122111222214432221112222222222223332212255444422112331112222221133223311122221133444233112211133441233221123344333221114442122122111111222333331332111111111221221122333112222332221443311122122222211112211111222553344122112212331221113321111112211332222211112331222233311112212222111332222233222122332111221111244234444441233111112213322211111122221221122112211221111133222111221332133233222111221111221111122111111122113333111332221122333123313344213321111222344222211111122221333313321122221111111111112222111122122244222221133466224441133213331244211333322122112211221332221221221221123333222111111444222333255331133211111122111111334423344221111221122112213321221111111223333113321221221221233122122133211111123312212211221122221112212211122122133222333441255333126644425534433112222111221112442333312212233553311221111111133552221235544211112335543211111224443311221111112331112344233112211123312211222222233123322221221133441112212355512222222223312444133322112212442233221124433111111112211122333221222211223321333122111122122122332122221221111111111122333133222221111333111112222112223311122111244222221112244333122221111332111111221444233311112211111443323311111221133211112213333221122122123311235534411133211222213321111244224443322223311111332233221332111221113331122122122233111123312443311221111112225533441111221124422212211332122111133211221111122222222111444433222332122123663211122122222211122222212222233112211332221221111221112211122332334421133212211111222222222211122221112211234411333311111133211123344332222233111221233122111255521133211221112211144434552442221221144331113331222211122111233124421111113321223332212222112332212222112211233111223321222233442211334422214433441333122113331113321112211221133211332233221222233211111122133211111333221112222122222222111133211221111111221333552112211221334443112212213321155442124421112211221122221144421112212222133211221122122222222122123313321444331221111221111113323333112222332114442111111112332442332122111133223322112212222112332211122332122144322222122111133211222211111133211112222112233212212222221222233222123312333321111244212443312332211221111111111122333111133222111333111222233311332111221111333332111111333221111111122222212222221112222111223321222233244322212212223312211221111222222113321133322111111123312211111112331122221222233332222112212211233133222233111221221244233212222111122221111122122111111112211443211111244212222122111122222332213333333111133211112344112233311112333344211122332111124455122111112233322111233111122111221355552133442122111123322221122112212331222212224422211222211221112212331221222212212223311112222112222221112211111221111222211111233133322244233222221111122221112222221114433314442221111332111113322211144331221122114442221332111221112211112211221222224421112344114432221112222123311222211111122334411222211133311221122223332212222221221222212331333133211112222133322111122221124422222112211122334422212775532123312233443311122222211122222211112553211332223321111221112212442244212211111122221133331111122122122122222211113321221111222211112444322244212212214442122111122443331233334433233111122222211111221444422122112222222211112344233112211111111133212211333311333311111222442112332331111122222332344112212223311221122122113322442111332133233233211112332222221111221113321144321111111122122112244321111122122233111233111122111222212211221222223311112233211133213331111111333112211221112222122332221111111221122112211221113321111332333323322111111222211111123333233312214443221122221122333323333222111112222123322233221122111111114442332333322122221222331122123441221332233233244212233331333111222222133331122122221124421122122122233443311111222212211221111221113331122222222112442332111222211133222111221223323355244322212222222222122221233223322212222122233122111122122221332144332213322332233222333312331221221111111111112211112211222222112332213333344111233221144321111111123322112213323446621122122333333212211133222222331221122233112212233553332213331111111244331122111122113344331122112213355521222222222331122123311112222221123312331221221111111223321221221233111223321332122222211111111123322122111333124441112222111223333332111111111221223323332211122111111122111133222112233322111111122111112212212211111111122122333663222222344112213321221111111221122112211221123323312212212211122332112222222222223333133222113334434421221221113321122111122111111221234411133223311122112211221124434662222222111443333441111122111112331221111111222233311111111111111122234411221111111223331113355213322233211112213321221111111244213333112212212211111221332122111222212211122113333111122221111122133442122111221112222221112212331112222332221221122123442212222133212212344332332111111111222211332124421332112211111111111222212332211223333111122112211112212211221122233115543311222442122332221223321122122222212212224422233212212444433112212212211122133233211122122122122332111112212212212442133324433122112222112344221125532124421133211111144322443322111233222211112211111124422442221221332122332233233221221124422211111334423322225532111123311333312444422331221111221113322222133322112211221111221221112213334411122122123442211133222133331122222211111222222122224444422213321111122122221233221122112211133355222111222331332122111111233233223323322223322111333111332111123313321222331122112233212355442111122123312331221444211111111122122222442112223322223321114443122133222221122112223311221334773312222111111133344222211122255321221111111123323322112331221111122112225533311111221111333322122122111221122112211122221111111221221221112222112222124444442122112224441222211221221112222222212222443311334433122124441221111124421122122233221124421112211111111222442111244211111112211144336632333221112233331112212222112332211112222111221123322111112332222221221221333552444455112331133212212211112222111111233112213321221111112223322122122122111122144321123314432112477754331112211112222112213334413321221244211111112212211133311122333122111222331443331332111223344233211122112211122223321222211221332222212212223312211111111133442332211112213334412211133211221222212211122222211122221122124421332122122125533442223311112211222213344122221124433233222211111122222233222122111233122112212222112331113344212212211111111221221122111222211443332442123322135553355224422222111112331123322332221111332111113321111244331332244211122334423331222212211221111112212211221122112211332112222112331222233442244211333322111122233111113323321112222222222112331111221122122111221124444211124422222122111111113321111443552221444213344222133332222111111111332223321111122221222222221133663211111233221113333111122133211111133331125532111221111221222331222222133323322122122221122111111111122111111221122111221112211443233211111111122122122222442255331224433222212223322112211222223441224455554444332225555221234412213322211122112212222443222122221111113321244212211222222113333332333311333552332222344221221122122332233111122122111111112223311221123322111122122222211116654333122122443224421111444411221222444111444211112211222443312211123312222112443322234412211111122122332111111133222221233222212211233233111111144322332224421221221233111222222221221111112331122222224422222133211111222332222122111122122111222213345522113344222221221111122122111112223552332111112233222112332222122221112211122123312444333111443211144321222331334423311111233113323321112222221122443344112222111224432221244211122122122144331332122124422331114432123442222112332332222133344122112212212224421122233122112332211122222212442221112224421111111111221221111221332122222332211122122122221111123322234411111111111111222233311223331112344332443331222212211111113333344211223331111221113321333442212222112211111122111111122112211122111233333221221443211111112211133331112211122113322355225532111122113331111122122221112332212211221123312211221112212331333122111332111122133455221221221112212222111111221111332122122122221125533221113321332222222333221221112331111122332112222114433313321111111122233233111221111332233133211123311221133211222211332122332122122112211144332553344112211665442122222233333442222211111112222113321234411122332112212344111133331225543332223311112331111334422444442442111111112331233233221221111122111332123323323324442211112331111122122112222112211124442211124433122221221221133212331223334422112233233222112222112332443312213322212211122111113333221112211111221122112212344111222222144333111235521111221244211112211444411123311223331112224422222111221133222221111122123322221221222211122113344212211122221111133332212332224422211221122112222111112442222331123311112222333133322221113322211333332111221111221244412222155433111234411112211244333321111111244442221111122554332553222333441221111122221112222112233211111122112211221123312211221443212211111111244233443312344221233223331111111233221122123313333122333223321111122122111112211111113333133311111111133311122554332211443311122221133212443313331222222222346621221111111112211333311223322444111113334551332111133322221332133322221123333344111122221223333221122111155532122221444333344331221111221221221112233211111112212332211111111112211221133222112222133211111122111122112212224433221113333221122114444421112442334422213322222122122112333321123323314433311334433123313333122222211222212211123312233211111221111155532221111333221112222333322111332133211123312211122122221111233222224441122114433334444233444233112211443212331221333133442114432221111221111244331112222122221221112211221111111111332332122111122222222221122111133211111113344111111111333311133211113322211111111244442112222223344413321233122332221233123442211222222221221122111122113333221221111122111443442221112444322333552221111221133213344111111114433123322113322332212331122223322211332112223312332331124422211111111122244213332222122111221111222223333333211113333332212331221443322222222112212332212212211113332211221111255331111111221333322221122111122221122124421112442221113322222111233244212213321133211111111111124433112214433122111111112211244332244333112355522221111122112442122122233122255321124421122222212344122234423311144333332111112212211333312442111221111221123322332122221122122443331111111133211111122233222222221111111233112213322222221123311333333322335522211122221223333122144321123311111234411111224433123333211111111333122122221332223332222112345511233122221234551122111112211122111133344223321122111111123322122221233111112222111111221113331112211111122111122111133311133211111111444442222332223311111444212211221112223312333333112211233111335553111221112233213321122133311332111443211221111115544211332221122222233333313333112213321223344211222223333222221221111111133222333311225543322111111332122255331133331113321222212222334412442122221223347732122111111236633114432111333552122221112332222111222332211221222213333221221111122222212331111122112442221133211113321111221122111233122113355355322223322122111111122112212211112222122111111221233333221332112332234445661333311133344122244331111221111112244423323321111221111111111122111122221112211122111111112222221111133211122111221122122112332212211122111111111122221112212233333211332221111122122122221333344421122333322111221112333321221111255321123441222212233223313333111111122233222244422332331333233122122221111233111332112211222331122111111112211122333133312223325532332111334552233441122111133332211221123311111244212222122112222221236632111112233332442233111112211112213321123322111221444332211113321334411122222212222133331122111133311111111221221333112214434421222213334422221122223344225532221222211111111221221332113321244211113331221222332233212444221122111122112442333311122144322331133311133444311332111221111111222233212332332212211332111111222212211111221332112212211133333333233222211233112211133443441111234412212233322122111133211112224422211443442112233311222211113321221221221221112223322221112211332112212332331122111133323311122333311122111111332233222211111233144444222133332211233122221111113331133322112212213333321111332222211122123312211336643223441221222331221223321113322211332111244442223321113333123312344122112222234411112331221111122111133311244211111122233332111112212442222213321111111111223333112233212331111122244411111222344221221221112222122111133211111112211112211221233111111124444434666111122333112212222112211333441112333334411233111122221221244331222332331222211122122221233111333222222113323321122111112442221244412211124422222235533244412211221122112442122221122114443455333233122122221112222332122133333322221122112233211222331333112211122111221122133211111111122112212233233222122221111333442233332212211123322334421111221111224433322223332222221111123324421332332111443212224421221133222333112332212212211221333442211221332111244211222331233111111332122111332333123312212222122112331123311122111122233111133233211112211123311221111124423322222333311113331112442111144423331244222112211122122222214432111122111112211111111122333221111221112211333112331111122222212244434422122111112212233331244212222222222112222111122123311112224421112213322222221111122133441112442233223344211111122111221221111155532221244413332444223323321333221123322124433122112211122222222233111111332333322223332222233111111221133442111222211122111112233332332211112211111332112233211112211111133233211221133663333211112442112212211111112212233312355244321122221122112211244331111332111133222122112442222212212222111233111221122113321221123311111221111111221233233111111133213331122221111222233212331244332331111133344221221122122133233332222112444122122123322111112211122234433444433133212445522221333333311111333234422122111113332222122332221333311113321122111221122111123311133322122333122123311112211233133444112211111124433111112222133211221111111113332212355442122333323312331222211222222113322222111123312211233111221122111123311333234411113355212211222214433114432122333133332443322112222233122111111133441221111111111221111221111554435521112211122111111113321221221223321233332112211123311111133311122123313322331112332211111111122233133222233112233331221332222222112344122221133211144332212211332122111233124433112211111222211333311221122221221233112211111221332122111333311111111244211111111334441111112332332222221111221223332222133233244421122111111332125533221113322442221112332211112331111122222233312222112233442122122112222222212331111111133212222113333221333233111144466444111221112344111112222233333333211233111111111111221111122221111114443311111112212224441122111221111122112211332221332334455221244411224433333311122221221122111113321112233222111222244321221221111111133466211221224443455111221112331244442111112211111222331333441111113334422221244222133211122111223321111221222211221125532221122334411221111111222211111221111112211123311112223312442233111111221122332443552443331221133331233111221123311122223321111111122111222212223322235521123311122113322211223321122222211123312233345772221333122122111111233111111113344431122223333113344442111443331112333333221221244422122111133333213321221111122122332233122122221111111221111112233222123311443233442111223331221122111122112224433221124433122112222112553222334411233224433222211244211221111111111111112211112212212334432221111222212233312233324441111133331221112222123311111333133222113331221255321444211114432332333221111222212222111221122111111133322111123442244332211122223323331122244332211112222111111133442211112212344111122111112233322133312222111222344123443334662111133331333112212331122122223344211221112212212222133332331111222222113333112212223312244321123312222221244213355211111122113333123311244212444421221221133311111111221221111112233332332213355222112211122111221332221234662122111222212333332211111222222222211112211221222332211333112222111133222123311111122233122111133311112214432122111112212222133355211111122123344333111344414433441112443311112444244211221111222211111111122122443212442233123312211223321123322111112211111122113321221122111334422212212224441222222123322112211221111122111223322222334441123555513332222111233122133331133333321111124421112222221111122133211112255432221112222111233233111122233111133332332211111233221122122221221122122112211233133223312212355211111221122122111111334433234444344222123312331221112222111111221221133441332111133323333311122133211111444212212222222212233332212222111111221111112211155443311233122144444423311112211112211111221111122222212332442133355211124441344411111122244233441122233144321233133333333223322332212211334422366321221113322222222212233552221221221332111225543311222212222122112212553212455511112222111334422233331122333442222112211221133213322212222112331111111122123322122133224442233331123312211244244322222111234411111124422214433122233233123311233122222211122111233223321332334444551244411111113332331113333112212331221111122111111111111221332334441222212211244332222112664421221221332111122111112211333122122123442211224433112212233222111114434421111111123441221124441111122111123311122133333331111222222111113322332211122111332112222221112211111111222355212212443312211111122222223312222112212212211122122221111122111221111112442444211111332443211122122222331112331122221111111233111111332113321111224432244413334552211221113333333111333221111111221221333322233332222222122112211222344112211111111221122233123311122332332332111112211133211111111223323344212222122112222113331111222331111233111133211112211111233112233322111223333111122221111111112211122111111111221123311332221111333311332112223322221133212213344333312212212211122123442355513321222211111112233322221222222113321111222233312225532223333112442222211111221113334423324421112344222222144441112211221332111122124422244332332211111244212211221111111111111112222222233322112213333113331111113321111221133222133441111122222222112222233112224444412211221111332221111112212211133211234422221222211222222222442333313322222221221332223334662111111122111222211124441122112212331222223322133311223322331123322332122111113332222233332224444441112211333311221111221333122332111112222133442122113321122111113333221111111125533112223311333311255332211112212222111122221111112334442221111112212331122221111221111111112211111221112211332113331112222123311221221112442332234422332222211222222222211111221244212344244411233112211122111221122221112222111332122122332122111221111112233222222223312244433244233212211111122111112213377433441111122122122111122222211111332133211112222111111332233233221112212222221223321111122221223344211122111221111122233222211133214432222212211111133444122122113321221111123441111111111111113323331111223321111344421112222122111123333311221332111221122122111122122222211111111113321111112331332221133322122112355511111234424422222111111123333212214433333322111122222211122221112222111222233212211221122122111333333212212222111221111222222122222213344133212444122111122233122332144323321111221221221332233221122111221221144333222211122112223441111222211112211111112211221221112211112222222212222222331112214432111111221221221144433333311333223322212211221122111122122112211111111133444111122112212212233233331112212244422233222122111134444233111244224441222212222222212211111111122234433311223334444133212233211111111222223311122122111333123666222112211111111221122112222133332211332122122122111111111221111111111221122111113333222331113321122221111111112333333333112211221111221123322122111122123333212332442111111111111111233123312211221111244431221332122112331233221111223322211222331112211333311111111111221122222222221112366332212212233211222223322222331111223333122222344113321221112212211122111122111221221221111233111235523321333322332111122223333111221233255344111111133222122111222212444444211113321112331112443323322112233233331112212224421222213355211122112224421221113344211122111111111111123553312331123311111133322122123333213355321443211111122122111244214434421221123442211222211111111111223333331111111133212223333211111112211221222212211111244222122122221122111112222111233113333133211111222332212213321221112211112222332122111233111333311122111332122112212222122122221221221122233111122221223321221122114435521111222212211111233112212212223311122111332244212233333321255444133311221221123442214433111111111443333321221112344133331111133663211221221235521333442212223312222112213322233312222112211112222222331244222112444441112222111122113355331221221113323344222111112211111224444433122333122113321221333311233255331122112222111111122223322211233111111133355212211133233211133443311111123311112443311111332122333311122222211112333321111122221234411112233211112211333111111221122111111112211111122122332122111122111111123312213331112211122221122111222223441221221111112211113321112223311111221332111221255533221113321111111122122223321112212212222222211122221332221112212212222122221233133311332221113321122113322211112233211221221233133332211233122221112212223311113333221111122333332111122111111111113333112222111111111112212222122111332112212211113321112213321122122122234411113333244211221111221111112211112224422212222111332111111332234551111111221111122111221255321111221221111122221111123312331233122332133212553344221133312222223333133322222244421133312212212331111111133322222212211111111111133312211112212212333321113321112213321332221233112332213331122111233111112211113322211133212222255531122221233244212212222111333222211332335521222331111111443323312213333322222122222442122122122244333321221122111111113332211112331122221113323334411112211334422211112224421112211221332221112331221133233311122221123311222211123344423321221122255321334413322222111344411222222112222122222211221222212233212222222211221122222222111332332111112332211113321111221112333321221332221112222233112213333112222221144444133331122122111221122221111144331111233122111222211111255321113321221122123312211332221122111221122112331332111332222233223311111124442332443312331122122111221111222442221111133334433311221221221112211111443311111244211113331112222122122221124422211122221111122122111113322444333322332221112553311222444311122221111111122112211222222113333221332223334422332221221111133331113331222331221221123455332124422211233221223321111222331112211112212213333221111113344224441112211133331335532122443355534443331111223321122221113321222332213322331221111133313321112233211332333311443211133211111111335544433123333211222212442123311332112233212211122223344221234411122112212233311112222133211144441111221112211222211222211122112444323311123455111122133311133222221111332111122112212222122111111122122223333111222211443222222222233244211332111112222124434411112222221332221233112331111233111221111221111244332223322221222211224444421222222111221111122112333331111111221222442112213333112222123441112332331221255331123441113321111332111112333322223333211123311111122123311233222222233123322221222212212224433122111333111221111221333322122112233223311111112212211122112331333122221332122112444111111111332123455112331111233144321111333441221221112213322344112224421444442244421122112211223332331111221113323322442112233322221123312444112244331221133312331221111112233212214442123311221122112211112344122222333334422111122122233122222211255534411112213331221122133211222211221111221111112211112212331122332221332133211111221222211111122111112211144344331122333322222331444222111233222442111122222223444433111111332444222133212331111111111122332233112211111221122123322124422331221222211122222211111124423344331222332222113321221221133442221111111124422211123322112211133212211221222332211244222122122124423335523321111221221111122113322331111111443311112223311222222221111112212222144443111122112211222212212332211111112331112213321111111222233211122334411133212213331111221244223322122332112442332332122111122221123312222111122112233322111111112222111112211332112332211221244233332222244444221111221244214444411133211111122111111333311332111111233222212212233222222212211122222222111111111123311111222211111444211221221112213321113332222133233441221111112211111111112223311222442112211112211443211112214432222233322222212211333311112211111221111221111111111111111112211222212233331221122111111122233333221111221221111233221111111111123311111111113333112212212212211111111122114445533112444111332122122111111112211111111111221111122111112212211133222111111222332213322244332212331233133331221112222244233466222221221112222111112213322212222111122111122111111111234411122133212211122122123312331111111111111221123313332211111233123311122133212212222122221333111112331221122332122133222443322221111112211123322221221233112212222111111111222332442111112442123311122112223322332122221123322124422222112222112211233111221111333111333311111123311222212211233111111111443222221112222111112212211221221233123312213344213322211111111113344214432112442123311112233311221332333221122332111221111112212233344221112212211133233211123313344551221112222112222112211333322221122112211122123322122223321221122122122244222122221111332443211244211244422133211111244222111221122222332211111111222333333221122222211332111221122111221133331333325532112211333312223553322111112222122122122112222123333211334411113344233222111111144422333321221332111111111133331221122221234411122122112212331122221221122111122112223322233111133211112212223311332223331444222221112331332113332331443233331255331221122235522332222111111223322212211122122111111111111133244321122112222112355211221112444111221224442111111244212222111111233222222111334422344112233322111123311112211233112244433325543211111113333122122111111112213344411223344211112211111122123553311111221112222122122111333112212222124433111222211222332211332122221112212211221133211221221233111221123312244321222212213321122133442212211222222122221122221122133211134441122111111333122114443222211221233122222211124422211133331233443331122443211333222211133222221122122112212213333113331122122111124442332233212212212211112442233111122133222222333321222233442155532111133344111333111112212332366331133331221111111112211222332344111332111221124421332123333312331122111111112331332122221221144321111111111111112212214433112223324421221111111332122122221333233123442332211244211111221122333322221122225543223312222111113344211112211112222332112211222334433155433441133331222211112222111111122112222123311122222222112211112222114434551123311234412211133441233111111233122133211222331122221122111112332331112222122112211112212212212442122122221122444331333123311122332111222211244223322443211111113322211112211112213333122112212212334433311223321332111333311221221122222211122221111113321111222211111222222221244223311221111133332233331111113322212442122133211133213331112222111114432221221111112214433311332112211111233112443322122112222332233122111112212331133666322233212211221123311221221122112224422211111111122122113344221222233331124421111111233111332111221221111111222222233122122122122122333112211221111112355443333323323311233222222221111122233221122233111133233211111234412223322122233112233331443222221122122133331111111221122111111223321233112331133553211112444221233112222221221221111222442122123441112222111333322221111221111233122111443211443312332212222111111122333221133222233111112213321222211222222221111111221113333331111333221334421112355512222111222222223333333333332211111221111122111332111222332211133332222333133331221221333123322111111111244211221333111111221133222221332111111133211221111122111123322221111133322221333111111332222213321111333555114432221221111113332211111113333233221111122221112211221122332111111133313333443344221233223332331111221244442111221122111133211221221122111111221122221112331221111222233211333311122123322112211113321122111221111222222112211111111112211133311221233222331122113344333444255331222331122222211111111122123311221122111332222211122222211111122222211234551123312213344222111221111244222124441222331111133333213321122133211111112222233134442111111124421133222122122111223321122122221233233113366334666221333124422442122122222211221111122112222112212222233443323554421111111122221222222221111223333111112553222111335521222213321122111221111112211223323322222111221443311123553311111221221111222222111122221112223323311221111333332111112222221111111333312211233133441333334421123443333332111222211122112222122123312223441111332124422211111221112211221122111133233332211444553322111122122122111122111111335533322133331122112244321443331221111221112233212212211221111133355212212212442122144333244233344333312332211122122112211221122112211111221133222111122332111255333221111122111111133211122221333111112331122122111111444211112212332223333211221222222222331123333222122122123311111221334442331233124444222223321111123311111111221123312211122144321122122113344112222111114444411112222112211222211122122234433552111112222111112331111123344322213331221111122221112211333312212223312222122221111112233212222111233122222222111111123444434441111111111122111221133664331221221222222126663553331123333331112233233332212211222355533222112212233322112222221221222331223323321123322111112223322111221133211112212233223333211244212212213332212222111222211333221122333552122112344122111223321112211111222211111122111122332233122234422112331222222111244212233322332111223333221122111443212212223311221333244211112222112222111221112223442222112222111122111111233133211111332111111133212331112222112211111112211332222211112244422222122333111144431113331112222111244211332112211233111222331111111112211332221112211111221333222222133222123312211122221123312212233444441112222111112332224444552222244444112223326663212244321111111112212223312332211223333122112212332211234552222122111233332122332112331235552211111112211111223334442244551443331112211221111332122221332111233233112332211443212211112332211221332112555322111122111222211221112224434424422223312211332133222112444421222222221122222211221111112255552144422212331111111233223321222211112331112211111332111111112211111244224433221334411111122113322212213322211221111222211122111221124422211221221133222111332111124422444221111124422553311233111221112212233332211222333322212213321233133211113321122111112222122111112244433122122554322224422213321333311122221332333311221122112211111111233111112222133211221233244222111333124421223331112355332211111122122222233213321333553311332123311222214444421111234411111124422211222211111221332122221224435532233122111124421112212331122443211443331122123312211122443222221244551222211233333112211111333111332111122144332222111221111111122333221221111332244332211221221113321111111112212211122111113333111112331113322211112211244211111221111111111244222122113332332212211221111244212222112333331221111221122133311115543322122332122221222331221111133211221122111221224432111222344122222222112225533133331111112224441133212223333322112442112211333332111244212211125532111122222222222331233111122122221111111332111133212212233331222211111113321111221111133322233221233332221111112334444443312223322111122122221111112212211443333344222111122222233312211222344221122112443312222122333111111112222332111111555333221112331122124441332122144433255331222211111113344122221221223333133332212213321332443313334411122333223322211112331222212222122111111223321111111222332442244211111112331111111122112211332133332211112344222211122233111111443442222122111221111221111122221112344111111111111122111334434553321114433311122237743311111111233114444421123443333233221112222111113321222222122333112224441221221112211223321112211221113322331122113321122221112331111122111122111122122113322222111333322112211222223322133332212212211113321111221111122111221111111122111222211111112333321335521111223321221112212211222331111112212222222332222111333111221122111112442124422222123312211133211111111221122122112211221122111244211122221333111233111224444211244213321222211222222111221111111111122111122122111221113333112223322112212211124421333312211122122223344411122223344211233112333322222111111112222122221111133555532212212222144422211122111112222223334432221221222222122112222221112212211122112222113321111111221111221122111112212331112222111111233332112332212211111122113332213331122224435533333123441112212212442221111332111122111123333211111221111333323322122133233211221233221221244212211111222211112222221234411122332112212224421221113322212211122122222222223331111133211111333311112211111111122235522211111111222211111122221111333112222112211223323333233222211221112211112331111123322122112223312211112222133211332111233222212212213321112222111112222122122111221111122122111332112222111113332211332111111122221221332111122112212334444421333311113323321112212222111112211122122114442124433122112443311133553331133331221122221123311112222111112332233212223312442233221332112331222214442122223334423322221133311221221122111334422553331221111111113331122113321222211554331122125533122332221122221123311244211221111111122443323322111222211122122112223311221111122112211334422211122222442111133211122222222111221221124422233222122112223441124455112212344133212222221123311221111111221443211122221113333111332221111221222211112211122111222222112211122122111222222221113322222113323321133311123344444212211222331111221223333112233312211111222212211224442554321111333311223322344332221122111122221122111111112234442111122233113322222112212222122122332233133331122112211133222222442111112331122112212211112222123322111111234413322211111443311111112553222122112211112212222111112213321111122144441112442112211221221332122221122222222111221133322111222222111112331224432122124466212255432122332111332111112222333332111122332111221111223333111221122111112223322122113323321222222122111222222244211221133331221444551133211221112244333122222225532111112222111221112211112233222122125533315553212212222111111333133211111111111221111113321111111111111221223331122111233333222212211111221332334413333221113344111111155555441332221111444224442331122122233122333221122222211112233442122443223311221221111333311221133222133222221122244211221221122123322112222235555333112233331124424444122111222224422211244333321112331122111111112211133331333111222331222222223321113324433312233212212442221244411332112222233133322244211122111222211122112553222333311133213331222212222112331222211133212211112222233233221234411222212222222212331111111221221222222112223311332221244244444223312211223323322211332144344211443212344333322221234412223441111222211123322332122122111244212211233111122111111111111122221122113334411122332233222211111112212214432112223443322223333212211111111222222223333111111133312331133331123323313331112442222222111222213344211222211124421111333111111221221133442234422222222111222222111122122112212212222221111222222235521233221155434433111111221113332211111234411221112214433122111444222112222122111122332112212222221233233244211221112331233221122222331221332122112212223311133322233225543312222221111332112212211222223441221122223321332222442112211122123455111112211122222211122222244421112222111111111122123322112211111332222211112244321122221111133211113333222222112211111222212233331111221112211233122333311233112212222222344113333333233221122332113321122223332212222221122222222122133322222211111123441112211111144333222222111123312212222221112222222213321111111122112222221112211235521112233211344421443223311221222211221223322212444122122221111111111333111122122122111111111111221332122111221133211443222222233442112332442112222111222211133212233312222111144331123333211223321122443211333466611244422112233313322444442222221334421222224433221112443322222211112331133212211112332212211221222222133331111221233111222211221111111133212222111112244421133233211122222212213322212555212222111332113323334413321332113333112222122122221222233213322224421112666323333321123311233222212331122334421222212442223332333322213321111122112444422211444773213322212211222222155432221222212211112222113331221122222212344221111122112553331123323344321221111112222221233122111221223333222211111122221112222233221122332222222122244211111122221133212212222111111133312222221221111122221112223466331122112211122221335532111111222211222223311114444421332122221332111122111122115554332223441133344111111111222445511333325533441111334411111124444211113333233221123312212212222122277743441332133331221233333111111221332112211114432112211244212211122333333222223322233222111111221111122111122221233221333311122233123312331112211111111124422211122111111122111111222331332111111122221112212211332222223442222221123311222222123322244422122221111124444211222223441221111221222212211333112233226643442111222332331133222133211334421222211112222122111244212212211133331244211133332222111122112211344553366633222222222233211111111123311112355212331144331222211112224441133312211233221221554433122221112223322112211122113322222122112222126643213333122111111111122221111111122223331112211332111111244664333234411244412211221133211111111122111222212211112222133332344222211332333443222221124421111122332112223443321112222133213333122111111112222111112442122221112211332221133211133477444111122112222112211111233222244321111144421133211113332211122332133322222211133233311112223333211221111111222244421111111144441221221113321122112222111112222111122111233332133331122332123322233333221111111112222221133211222214432122122122123344321221125533333222332122122112222122111111222222122111111113331222211111221221111112212223312331112553555662211111233111234423441111332332221223335553333322223311111221244211122221133344111112212222125536633111122113344112331222211122221222222122111122111332112331133211332113321222222122221333552112222333322111122111221222223311111122112211111122111222211112213322222111133444122233221224444423332222223333122122112442123333443312212211113332212211233124423322211111133211123311111122334421111221222223312211332122122221122333332221111222211113321122122111114433322133222122111122133444421113323323333112211111111122221123322133222134444421112211112222112212212223442222112213333111112211112553322144321222224433221111444333321122233222212211221112222122111113332211221111113321122111332112331123322221221124421554332222222212553344433123322332233334423311111333441111222332222221111244662122111112333323322212331222211113321111113323331122111222233332331122221122122122221112553222124422211112244421244211112213333222212211111111113334413321112233553212222122122111221111122223321112211222344221332222222111122123312331122111221223321223331112332222332111122221111333322112222112222122112233331111133322122111222332211122221223333112211111122111122122122221233332113321111233221222222222211133331