1221111221332112211122111112222111113321222223311223321111332111111112331111221111222233212213331221123311111122221222211133224444244331334422211111111221122221221234411223331111112212211112211122111133211334422222112212211443211443312442233233111332122221332122112222221112222112212211112211244222122221111111223321111444212212222111221112212211221122122222331111244344122112332222222222235521222224433221221111333221113321221111112211133331221111222222111111222222122122233122112222111122224436632233122111122111111122122122112355211133311111113321133442111221112222222211112211133332331112224444331122233222211222211221122111122133244344233332442221221233112211112211111111111111122221111111112233444332122223344222221112332244333221122122221122222332222222212211111333221444442111133222332221133211111222211111111111221122111444214433312211124423331125533312211127755331221122112224441255322211133214432223333221111554432222111223321122111222211233111122123313321112222122123312212442122122221111111222344233332333221123322111222332223311221113321233112211111133223312222221255321133311122112344221221113333112211333222233212222112344111113321221221111111233133323311233122112233212222122221133214432333221111244211111223321122221111111111133222233221221112211112223323323322111122122221112211133233333312355212211111332122332112233244431111111111123322122122111112222444222112211333322221222213331123311333311111111221244411113333122221221223321112211112222122333122221123441443222111333333133211333111122133222133322222211122333221221122233111111113333221111122222331122221221111111122122111122111122122221111123311221222211112444111111122233221111122111133442111112211123311111221333122233221244212211111144321114442112331221112233311222211111112344221233111111221122122443311221113324432122112222222442112344133312233211111122221112211112222122233221224433111122111112331113332222221221244412211122225543212446622212211112211112211133211112212222123311122112233222112244333222211244222111111332123311332112211222332222221111333125552221113321112211122334421234422123323311221111221122233344411221221111332222222111221113322222122122111111133211111221221221222211122122222211111111112222122111113324444443221221336662222213344222111244331113321122123311221122224432112223333233311112212211222222111111111122133553331333311222212332233331332221122221333122334423321111111111113333133212222133214432122233221122223344222133211111122111111111443331332222211133322111111133211133334432111244212233312211111123311444211133444322122112223312211221122221122223344123312222122122221111123441111221221332335522211222222122112213333222211111333111115543332223333331337744222222214433311123311122133211112211112211144421111221111122122122114442112211332221112223322111114433122221221221111111221112222221221111122233443333212222221111222211122332221233112212442133223441111334411122111111111221123324433122111221112211111113321111111221122122112212212212212331111222212212553331111111221123322112213321111332122111244222111111111111113321122221133331133332211222442133211221111223332212224421111122233112222111222211333322221133222255322211221134444112211111122221122332221112331221123313323333123322111112211332111443233222332233122133222333144333111133224421111111111233112331221112211133223312211221122122122122223333111111113333223444332212213322211111222244334411133441221133344133322332111111221122111221112211221111221122244222244211112331111123311123312553211222211255321222213321112233331111111112442112211234422111133211122122111444322222222122554331332155433122221133211111222212223322111111112212332233211133211111122221222212211221122122221133311111111111122244411111111221221111221122333222212332212211122224442122233133331221111122332111122111122122443332443322222331111111112212332331112443322111221223322213321122221111244212211233332133211123311133211122222211111221111122332122111221122333112331244212344244233322111111221222211332223331222211334422211221111332222223441123311112212212222133322112211221122112331221122122122112211111233223321221122122334441133222221122333444432222211123333443311222213321234423322122221234411222222111112212222554432222111335534411122223333322212212211111111112211111222233211223322344122332122221333332111123311111111111122111111111112331112442111123441133331112212212211555321133441122221112213321122112222112211112213331111112211111233221221122111222222221133211221233222332213344331111123311111222211113344211133332222332221112212211123311111111111122111111111111112331233233555321112211122122222212222133333333113322212211221122112332211113321333332221333444344221112331113444444122122443332211133222111221111221112211221221112211122111122114444222233122221221221221111112212211112223311111112234441332111221111221122122222212222332112244331221221124441111222211112331554321223321234411111222212222221111221111554333333113333111233222211332233111221112223313322212211133213331111333441111332221234662125533233221122123311122332222211333312233211221233223322211222211332122122122112213321111122111221122111221221111112211111235522233212212211221111113331112211111112222112212211223332664431332123311111112211222211112211221112211112331222212222112222133311122122111124422211113321133331111332111111222211111122222222332111122221221236633311111244553344122221111112211113322211222211113333113321122221122112444111112222221122122224442112332233233211112332222221444422122124421112444124443344331112213321112211114432113322223323322333122124441111133333332212331221112222111112233212211122222212212211111221221122112222221133332222444344112212211333222211112331221112222122111122221222222111333442442221111122223323332211223321123322111111122122233122122222233211113331332122223344111133333211133442442112222113321112211111111111233332111111111122112212222221123312222221332112331111221123322122113322211111111233123312211122112331112212211111332244411122221112442111221222212222122123333311332222212233222123312211221133322111111122111333122111111123553443322211111221221222211235551244422133323552122111112211233233221111221333322221111122112222221111111332122122111111244422221235521133222144332211112222221221333333332212443344321112223325532222366644331122111111332111233111244211221221133212212223555122333122221223331222222113333333311221123323322234411133211221333322222233211221233111444212211111111221111221333324441111144441221112331122144333222211122222213331123441133323311221222445522113321221122221112444111111221122112212332222111122123355435521111112211111221112222221233111111111111221122333111222222222222111222213332331112444221222212443323322122233112211235551332111112211221122332111111111111112222111111144444221332133223311133222111333111111111221332444222111112211111111222211332233122221112222133211111111221111332133223312331334441244422244223442222122443331332111222211122122111222211111332122111111221125552122112332331221111113333111122133311244211122221122111233333111112223322111111122111111332221223322442111111221332133211111123311112211222211333311223321233112442122111122122111111332336632111332222212211233112214442112331112211233111222233224442212211111233233222212212233211122332133332211111221223333122133552111112211123442211112211112211111222211122221122122332111111112332222112333322344112212212331112211112212233333211111133311111122111223333122123311332122444444441111112211123322333441112331144321221221112444443266432111112355511221222331222212211111133455221122221223321113321111332112211222244344331111111144344212213333221333122233113332211122122221221111444223322332444223322111123311221111223355522111111122111123663442222122123312211334441244223311122111122221111111221112212331111111112345522221122122222244323321111334442222124421222344233111122111122223355523311221122333312233443311223324432112222334411111221221111112213331333552122113321221234433313331244222221122233233122333311233244222111221111233111133233331222233211221221122111443311222211123322111113322222112222122222223311112233222111123311334433233133312233344111221111123312212211233221111112224421112223441111332111122233122111111332111111112211222233323552111112222233222331111111221111112213344212222443313321111122221113323344113321112212211111112212212332332211122112212442112223311221111111112233212442113321224433311112233331122221111111111111221221221122233333663222133331221221122333311111223331222211111114442112213355331111111122111133311233133211112331221222211233222222122111112212333331221112211334421111333111111122133211113321133255433122122111111111112212211222222111221112211222212331111221114435533311111233122122111113333113331112211333221113332211112224421112211222222112331122113333244211111221112222111112211222222222222112223441122221122122112212211244442112332233255553322133212331222331112222111221122111221221221111111222233311223321113331111221221111111112554442211222223313321221233111111112223323311111122222332233222333111223332442222213331332111123313331112212211332122333111112331112442111111122111111221112212222113322211233112331221112344221133322133211244233211122233111112332211133233333344331333312211133311112211111122222222122234411123323311111266633313321123311221221112222111111133212211221221111124421332122112443552222212223312212331111222212224433123322122111114432221123311122221112331133311111234422221123311224433112233331155444112213321122113331112222123311112212444311112442224433322221133442444123322111112222122133442222333311123312222223332212211221111221111112233233222332113321111113321221223333113322213321333322112553344111133322222211111133322223322331221221443224422211233113321123312211112211122111111122333314433223332224433122244223311222212212222235521112233211122112212222223331133211111444331221112223311111111111221133322111122111221221122112211111112211123312222122244211112331122112212211221233221111234412212211332122221223321112222244222122112223311221333311111111112222133211122112366322212222113334412211111223322211334413331233112211111221111111221122111111223321221234422122122122122221111221123312212222222211333221122111122113323322212331111122112443311332332112211112211111221111111122221233111112212222222331111443212442112222112213322223323323322222211233222212211113321111122221221221332222211112211333115553314432221111112212331122255521111122111112212442111222212331111112233333211112233331221111244213322222111221111123312211111221111221222213344212223311122112233442112442233221133223311222211122111111222222122221123312355442113321111122332111122111111333112213333122222222255533111112222113321334422122221221332112212211122233111222212442111124444222111122233111123322221144333222222112211223322223333331221112211333112333321111111233221111111123322133211221111244211122111222222111112442221111222211123312211122124422222111222212213322212211111111223331112442111111111122233221233111122111221144321111221221122221112344144421223332211123442331133322112212211222331222212213332222112211222222122223321113344222221112331222233311111113321122111112331111133322332221111112222122122222332332442133333211332112211112223311122112222122111111233221111221334412442124435534422122233444223311332133222221122332112211332122221344441223344431221222222221221113331122332133311443222112222111221112332331221122111122111111122122111122112211221122122111244331112212553211122112332331125533322112211332223321122122223333221111333312211112222221332111111111123442211122111223321133311112222111122222211221113321111111112332222233111122221122222553444122221122332112211112211112211222211221111221332133311133553222222211221112211111111113333111112212211122111233233222222111111112211112442112233211233122112333344133213321111233112211111221122333111332123312211122222212223312233211111122221111112222111112222111221122122111333144321221113322212211133331111222222222211122112213321112212222233112222111112222111114433111221332112211111114433312213331111123312211111221111112211111221221221122112222222212331221133211111122222442122123311125533323312222333221112222112332331111111122122221111244211112211112212442124421222222112223441111123311234411112222112213331111123333331222211233126666211133553322332122123311221222222111113321122222222221111111133332211111221111114434422213321221222233311111221221112212225533133331144321111113321123323322122122111332112223442222222212222443311233111112212222112442221334412214433111221221124422332212211111221222222221122222212211332332332233233133222111112331122112211111112211222224433222222221221112211221443331112213322211221221222222111222222122221133212222122112244332211113321122222211112211122111332112211221221111122244662443322332111221124422332211113332222133233312224422223333316664321113321222442133322233111112331112213333144425543311111122221122221113321122221333332122111233222212211221555333133331332113334551111122222212244322233311123666212222112222233111113324432221222213321113321111122122111122221332111332122233111223333111111133212211332113321113331111222224421123441255333222332332443312212223311112211221332111133441111122111113321224432221122133224422213321111112331133222111222212211112442344411133222122233221332112211122221221112211113332212212212211222211111155445555112211112332233222123552111111112244322222222222113321332221123441222244344444322123311333311221221221111221235533244213333111113321123322122133311221332111133323322112331222442244212233211113322211112333322443553311221112223322123313322212211221111221221122111133222133222111221233221122333323311133322111332133211133211221113321223344332331122144333443311221111112222111221221221333133552133333333111133233345511113322211221122133313321221221222211221122112211113322222234413344223322233233123663211222222221112211133332222113321133334432122333233122333112332222332221122133223322111122332111123311222233311111244344332112222222233442122111113322211221111111113322212224444212222111111244222111111111244411221122122123442212211112211122112553222111234411112331332122122222332224422213333111111222332211233122111223322211111112555222122123455221122113322211233222331122233111221332221332222211123333554441111221111221221222222112212211111332111222222123312211111233111332122122111332221112222112222221233122222222332111111111111221111221112212211221114432221221221144433112211112211112212211122223333112331111133554442122222211113326664334423311122112233211122111112211133331123324421111144322233211111221122124421122111111222212211233111223321122224432122111113332211111221554321112214446655333111222212211333113322212222111123322113331112212212211122224432221111221221111222222123311122555531111112222112211233111233133211222211133311112211122332244331113321333312233312222111233443344122112331112244331112211125533221221122222224423321111111221113333111111233112211244331112355222112211122112331332111111112222112211122222222111222222111113322212211233332221221332111122333312332233442122122122221112211111221333111233112211221122222332212222222211112211133222221112331112211125532332221133211111332122111233133211113321333122112212233212233311222244433112222221333311222213333221221221332122111223333221233111224432111111334433111112211133212213333221112212211111122122122111111111112223312442113334411111332122112355233311133211221221122221112212223311122221112331221112212211111123333222111233133312211111221221133211122122123314442233221111111122233122111221223322222114432222344111221234411114432333112212222133213321122221333323311112553222222211133223322113321122221333111221111133212331111123311122112233222221133211333112211124421133311111233221111221111122334441112211111221122124421333221332111111233112214433123322222444421112224456624421222211111221125532221111111222211111112442113333112222122111113322332222124421221124444331122112222333311111111111133212244333222331111221111111111221112333333244211111123311113322224421133345522122111111133233344333111122333221222223311111122332122111111233222233222112211111122122222344443211122333322112212211144333112222111112212214442122221221114442111223333122221111221112213333111112222113321122111111332122332244442111111111222222111155534411123333222344421332122255332211112212211124421111122233111112443443332244421122221111332221443331122221111112211124441112222222331111122222443311233112212211111335533112213323331111122221255523333111244422112222221333122114432111221244211112331111332223344111133211111111111111112212211133211112222255321221111111113333443311112222111221111122233111221221223321222222123311112211122221223333111222444122124421332112213321111221112222223344411221111112553331111122332133322221122221222211333333311111111111221112211244211112222221113333233222444133222111122111221112222155445555221332332133331222212233322332112442122111233221223444122111133344133333442111221122333111111123312233323311221221113355521221223333333221222211221111144323334423455111234433332222122122114432221122122221222222222212213344233312213321222344111111113355333332221111233111111221111133331222244422211122221112211221244331111111111122233111111221113321221123322111222222111122122111111122122111111111233123553333211233112211333312211221123323324421111332111111112211221221333441111123441133211122133213322211111111111233133222112443312222112331112212332212223344421111112345512222443322222211122112553311221111133213333123312222111111233221221222211112212211122111111144344223312212333321332333133311221222211144321133333211333122111123323311112211221222212211334422122224432221221111122111133331111111133211124433221221111221111333111112344222212211112211221223321112212222221221333322221333233122112211133211122111332112233553322111122222211112222122222212211122112222122112212222221221233123311111111233112244332331244411244332222222212331221112331111112212331221111113344221111111221133212211235522211233332223321111112213322212444444553212222133322111122111333311234412212222123344422233333322233442244233211111112331222222122111111122122221222211111221111222211122221223321111113321222211111112212222112344111111111555331123441221122112211122222213344111113331112222112212211122111113333221221123322122111112222332122333221113321334411112222221122111122123311221122221111133222122111334421111112211112212211123323311122221221222211112214445662233311123311111112211221111233124441133222333311133222111111222212211244332222222332212212222111335532222244321223332442222331111221112331111111112212331221255344133211111111444332213333111111111111111112223312442233221111122233111222211111111233111334421221111112212442333221333221233112331111111122122122111122122222211233222233222111111122111133222122244212222333114432111221221112442111112355331112211111443442223323311333112222244222122333112211111133214433233221113321332221221112442122122332112212233344111111122221223321332123311223321222223312222123311221111111112222122133222221221221111123333212212222233221222223333311112213333111222213323331221112222122113321222212331111332112222221233223323321111332111222211221233112211222233211122221221221122111111122244332211111133331111244222111111112331112332222111222211222212211133212222122133311222212212211221223322211133311111122333322111111221111112211233122111122111122112222123311111122111123311123311221112211233111112212214434433332221133211122144435522332346622211113322331221234411123663211122123322122222211111111233333324422331221221222212211133311122111122111112553663213321122113332233211111111112222332122123322233112332442234412211112212211111111333311122332123322111221111122122221111122111244211122221221112233211112222333441443441133333333222212212355223553322221222331112233311112331332221233221222331222211111111122111221112223313332213332222221332221111221222224477721112212211332111123311111221332332122112233211122332122112212211221113444432331122332123322332221112222111122111112212222111221133222112442111111222332332212224441122222212233333444221221444223311124422211133222113321111133331111222211111134443774334422111112233311122222332211233122335551122333313331221122123311113321332113332332212211122233255322211221133311222211111122222331332122332122122112212224433113322211112212212212332332211133332211111112233331221122221111124444412244421112211122122122123344331122111221221111221112233211112233233222113331223321111111112212211111111111233222223311221233111123322332111111221111111122555345553211222211221111222211221244222222222221233111122222211221233332122221443312213321111222443312211111333322111111221111233221221111122111221144421112211113555212212332331111233112244322225533311111221233111123312344111111443222112213321112442222211111111113333222224422222222211112211111112344111233122111111144321221122112553555344112211222331124421111111122111111123311133553322111233333344421221244222122221122122112444233221112211332111221122111112332344111111221332221112222111221333111122332112442111221111111443553233331443313331234412211144433113321112442113344332211113344123323311332222222111111221112233311255331113331222222222211122112444111122221233221223344433214432255344144455122221244233331112213333221113321123333553323322111111122113344233332211222332222111233123311111233221111111111221233221133211144442212234441112225533312331222211112331444422443322112211122112233211221221122222211111111133333442122332221333322111222222112442112224422212211222331244212222221222222112222332111122122111111123441111122221222213321111221112214432221122122223322212212223311233221111221122111221112223312213333322222221111122122113332211113333444331111111144355211112255433122111133331122111122122111222222221124421332111113322442133222122122122122111122222211122122233221114442111111233221111221111222222133213322553212211124423333244211111111266432221122221133312211111221333312233211221222212211111122221111111111115553211222212211112211332222211332111222222122123312212211122111233111122112211122221332122233111144321111221111122111122122221111334411224433311112332553442222255333122221221122111332123333233211112222111221111233112255443322332233133212212211111112212211112443322122122244332212222144322213321443211221113344221112212213321111111122123312211122111233111233222211221112223322111223322212223311133222112331221122221222233442235521155532133311221221221111111111223333223323331114432133211111122111233244211122144433122122122221112211221111112211332112212211144331111122233221111234411221111222233322113321112442111112244322553442221233111122111112332223322133333355222221332111112211112331112331221333311233111111133311111122123322112212344111332112244344112244323344133233442335551222211122123312332333321111122111332133212211122124444344222222111111111111133331222212222111112331221122122221122111233111332122122222344222211222211111221222233211221111221233112222111111111111221111334662113321111113332211122111111221221111122222233332211222211333552221111112213331122234773344133311221334422213322331112222221133212213322211122112223553311124443344777332344122111221111111221233111133223311133213322222122221333312222113335521112211112211111233114442122111223344413331144433223333133311112211111234662111111112331223335521233221123311111112224421112233344332111111122122111111122112331111114432122233111112442122122111124421111222212211233112212331332112211222331221444551133211133331123311111221221122332122222222222233332212332212211111111333111112344112211221112212223333322122222212331221122221332122332111122122112331111233333552111111221112331111111332122222442333312442122234551111222211234552211111443311224442122332222212222133211111332112212211111114443311221355554421123311255552222114442112331111332115555212223333322111334411221122122221111221122111111133211332332126644212211333311222233334442123312212222111133335543442211111122333122114433322123441221111133211111111112332223322111111111112223311111111122234411122122111122233133212222111111111111233111122221233123311443222111112222111122233122122112331221111111224444333332233112211111112211112442111244222333112222122122112213333332212222222211111111222223311111111233333122221112211233255331133211123311122123312211233221133332212211333311111122112212344111112211112211111133444122225544212233222221333312213333112222233221112211122133211221332221112212213321111122122122111111222223311112211222211233222211112222122222233313321111122244422112344133222222222112443552112214433311333323311123552112223312211111122333311111233111221113321111223324432221111222211133311111123322111332222664441122122233111111221233222213323333233124421233112211221112211111233111123323323312211223321221221133223441222332212222122221122114443311222211222211111122333111221122112222444212211221234423322443322221111112211111233244233322333222222113344222113322222111122111112355355443322133211111221111133233222111222222244211122111255321223321222211112211111111332225553212224422211222233211111221122333552111123552111221111221111111122222442112331122122122222211111122111112331223334411122112211112442222255442222211122222211112331122111123312222122122123322155432122122111122112555213344112331221122222333323332442111111111233112211113322222122111112233211112211222212212223322221111233112331111255532442122122332122123311332111124444222444223322222225533311333133211111233122233133331222211333122223321123311233223331221122233111112212211112233663441443332331111113322443324422222112344123322111255522212222223321111111111122111112211111133663331222222222331233111122112211332332222213333334442211114433221222442333322332111113323322212233322332144321111112211124441221112211111233222331122111133211332111233111122222212211332332221221233111122123324421111224432244233466222122223322213322222111111111122122112223311666434412212211111112222122223332211111111221112222122122133223322111122222442234552212222122224432111221112212211332124422224422222111235552222122122233334411113321112222333552333111333663444221233333441122111221133222112212212331133332233212222144333222222444553321221244222112211333221221122122111111233221221221123312211221222212333355212331222233212332213344112211222331122111222211115544322222212332222233444211112213321122334421112211244233322133211332111123311233122221111111133211133331221112213331255331113331233221112211111122222331122335536664441222332355211112223322221112222222212211112212331221222222112222223322442233111333311443444444331112331113321111112212212212212331111222211444212366355222122221122111111221244211122233332122111122221111113334412211122222233214432233113322213321111112212212233311111122112222111221122111123322122111221111111112211221332122221332122122111221332122222222233111222233441222212211233222442155433313344412212222222212222112211133311112212211332111122111111221111111122222213331222222222211111444244321221111221122133443312211122244223311122332333311113321333222355211221332112211221111122111111111221111111123312331122133213331221332333133442122222222122112333331255332212212214432244331111122111332221233223444212211122111111122222212331111122332244211122332122221133211133332222111113332233211111444222122222211233114443311223333233123311233221133211234412211111221122221112211221221221122122122222233233214432112332442111233244422221111244211122222331222233222111222344111111333312222233332111112222332221221122111111133213321221111111112222133211112212212211111111133212331221221111223321234412222111123311112211233122112211122222212222111222211332111122122221111112211222233552234414433233221221221112331111221333122222213321133211122222222233111122221233122113344122122233112212442123311112213321133212211111133222123312332212212212222123312211221111122221144322211122221333221144321221233221122113321233122443331332122111111222331122122112212233332211122122222331112331332111112331123312443313332212212211221244211224432111111111233111111333322333466211233111133331122113321111111222211113321221123311221222222122234422221111112212222344421221111122122221111122123312211133233311122112211234554432111221222355211123322111111111122111332224432111122221122122122122113331112211111122332111122122111244212345511244222112344122221221122114432122111221221244222233112211123311221443212212233212211332112212211122234422122112331222442114432332221112222221332112222123322221123311111222211122333322112213355212212213322331111222223311222222234411122111113321234411112223311111221122112212212211111133211221333122221222211124423344442221113333111111112211111221133331221112211111332221123666222332113344211111122332333222211221221334412211122221111122111123322112212212211333333333322331133331221112213321221221223355322222221111111111234412211122123322221122122122111221222331111112211223321122122122221221122222332212211222211122111221122221444331234552211221222223442211221122112331113344552211122113333335521122122133442255322211111111112331111122111111111221111122112211112212211443211111112223311111222213333112211221113333221221133222113344211222211111112331111233222211111122332233333221144434422333122223331122221111221111122444411111221112211111112211332112666344444444433311112233212212331111111112222112332211221122111124421133223312212233222233111222332222112222111122112211221122111221222212212211223331111122221221111122235522331123311122111122111221122112344111333222211221112331335532123322111111111112212211221112211144334411111221112331111222224423333112222221112213321332221244212212222113321122133233222144433221111111122222211133222123322221221333311124423322211112211333312233233312233441221221123324434413323332222122112212212331122122222211221122444331112211112244322442111112211222244335522224455123311111122111122222331234422221332111233222233331111123322133311221223322211332221112222112211144323321122221221122221133311221222233222111111221221111122111125533111111133311112211112212233312331222222221443211443331332111111221111112222221221112223311221111122111221122112211113344112233213355333122112222111332112213331221221334411221222222333233114433111443222225544331113333112214433314433244211133312211332222222113321111111111122335533322111111221233222212211112214435522442112213333221335521112213333122122122111221133311223333111111223321111111111333111333322122122221111122222211113355321133331221333111111111233111221222212244321332222333321112332212444113322233211224432332333441221122114433441111111244412212233442133355332233212211123311123312213321222211233222211122122122122133313322331122133442122222212233322111111333322112212331111112212211111112244331221111332221122335534773212211122221111222443311122112211221112332233214433311122221112222111122554322211334422221332332221111222222233122122112223311122221122224432222212211111221122112233212211443331122111221111111333111233111133442333311133222111114433466211112212222122111124421221123311111112212222111112214432122122221111133211123441221123322221113331111112211122222442122122133442222222221233221244233332223312222222211134444221333322122111122111111112233331113321123552112331122111111333122333221111122221122221443322111112211221112222112211244211333122133442123311233112211111112331112222111222233552112212211111122123311111111122221221112222255521332221122332221133211333221112211221122334421112211221122112223442233211111111221244233222111112211111111123311221444222111111133222333221221122124421111221111133211221123311233123441133211333311221122233112212211233111111221111133211111133211111122122112332211111111244411233112212332222233333313332211221221123322221221333111233222331234552212244344133332233441122233111122222211332122122112222111133211221111221222345522111111221444212233331221111233221233221122122111122111112222112212222333311112212222111221233111124434433322234411221111112212212233344123311111111233122111112211111221223321332111111221221221111221112233455122111222222112211233111122111111123311111133211112211125552112442112222221244212213331333311332112211122233122111111122122221222211332111122221122233221112332212211122122113322212442111233111333113323333111144331333322221223321112344122332123311111122111111111111111221222211122111111112212211111111114433333233312213323321221133331112444333112222111122334421443311222244331244222123312212212444111122332222212211113321112222221122223322332211122221111221111123322221111122221112212222111122112211112211123312212222122122333111221133322244211112212331112553224435521111112233333211112222122113322211113336664322222221112223312223322112211222212211122221122112211224433322222212233344333332222222444442122224442112224433122111122233112332442122221111223366633111133332211122221112332444122112233211221221112332223311222211112331332112222221221111221111221144321244411221222223324441333336643225532222211122122144431112332212344221111111122222442221122233112212224421111112233332442111122111333322111133311111122111111111221111122123322221222211233111111122221112344111122221111123312211333311244223322111111122122123311122111112233222111111221111122221122111112212211111222331111113333332112212212333322222112212211113321112212211111122111222212233222111144421112222122332111221122223333333233222331122111221112212222111123322112212212222332112222124422222221112233332212223322124555321122155433311332133211133331144444332211122122111222222111122221122122111123323333331112332222222211221333222213335533112211124422222221221133442122221111112212211122221111112213323344332111122111233122222211222222122223323321233111122221332122233233223321332112333321111122221332221221111221111233221111122111123311222211333122122334412331112331223332212211222233312333321112211221111233221444777211333311111111133331122221111111221333311122221112212211124444332222122221111111111332222212213333223333333222222111333125534421233222442221111111113332211333311223321221111112212442112331112211144332222112233212222111111122221113331122112211113321221221221222222111112211123312212212224421112213344211222222332111112212233312222221124555144421122122122332221122133331114445512331221112331111122221123553441233112233331112222233112211111112212222112212222223333111221122111122122122333312211233122112553442111221244211554422331122123312222221111221111221111221221112443441221111221111224433311111236632222222112222111133311221221221112212331233112233211112233444432111112222333233333112233331112222112211111111122122112212211113321133211133442112222112222221221221111233122223344244211112212222111112444442212212211221111122114433311122222211221221221332111332221111222211332111221112331111111122122221222331111222212222133331124421332111221122111332122144321111122112212331133211233332221122332332111222211111111111224433233111122111221112222223331113321113321221112211221221112211443441112332331223321111111111111112222111122111122111233221111133211112222122111111222212222222222222212233211111122222222122332111111133212212213322233222122332332111144433133312211223344444321133312212212211221221333322234422332122221111122111221122333221222331111443222111221244212212331112222112212214432221112222332333442211234422111111112211122112233233331233112233211113355333133332211111122223332233222111222222222211112222112211122221222211332113323331221122222355511221222222112222113321222212331233122222442112333321111122235521332111333112444311111122112212331222222111221112211234412222112224422211111222211111222211123311111332221221111444442221133212211333322112211332111112331122122124422212212223333443322233112222111112233222111111111122122222211222332212212233211333324441332122111333122221133312212211255331222224433332332122233122443553311112211222223311111233133322112331122112233312223441222211222222332111113322211111222211221111122221222222221111221111133212331133331123322332111112223666211112211333112222224444433166543211111112331122122111333221221111111112222122222211222212442112212211111224433221222223344321122221112224455331444423344222111111122133222111122122333322223331111123322221111122122144331113321122113332211133331222222244212211122333111222212213321221111221222213331244212442133312211112212212222122112225533333213322222443355222332333333322111112222222212223441244213333111111112233212222222222111111244224433122221222442332222211133331222213321111122223331221334422222122221111221233222223441233221111221133331244222123323322221112331333325532333122123312213322222122122221111122221111111221111221332333112211133331113333133331111123311221133222221222222112211122122332111234422122123322221233111221112442112223311222222111222332212222122221122112553554421244212211122111133212212222222442221111122122221111122133211233111123311221223331222442333233112222443211333441111221122111111222212211111233112222221123311113321111112211221133332211233112211111221111111114433323311111112211332223322223323311123311222233332212224433122221221222222133311222331111233122122122244222112211133322112211122113333331144321111112211334433212332223312222112212233331111111221134442211112224421111133211111133313344422112555332211112211112233222122122111221112222122221112211133212555233313325553355332233211122222212332212233344223321123323322244212211221221222212212233211233332123311244222122111221111113332222111223323333111122233221333122111122124422212211233112331221113332212344122144321111122112266643324421222211111233221223323444212211122111122122111221122133211111244331122111236632111122122111332112212222122112233212222112224423344412211344553332212212331233333221222211221333222222443233212442221122222211112222255555332222221122111111112223322112223324443333112331112222111111222212377433221133222443213321221222222112211113333112331223321221144344211111133312213333321124433333221111111111122112331244212211111332233111221111111122111111233333221222223311221122221122122244211112222222213321111111112233211222331122233332222211333111255522233311113334422112211333311222212212222111111244331112212444111111111111111112222332122233122332112213321233221111223321111112331223321222442112444111111111233111111222212212212223322122112211334411111111122144441111221111222355212442133312233244321111222211221333122222223323553311111111221111111223344412212344332122133211133322112244435544222221125532122112212332223442224422211111111113321221332144421222213321122233123322111112331222224422331332244442111122221111111221222233212212212211133233233211122221112333322213344111112233222111221111122133233333212211111122111221112212211333312212222111111221123311112212331111112211112213321223332212211444222113321111332222233212211221133211112355211133332211122133211113331111123322133312211122134444433223321333312332224422222122144421111133331111221112331222223312212211133331133244331112222112233211223331112224421113321112211221111223445511222212211221112213331111112211133233211133223312222111233332125533122112331221111221222211221221221124433111111233133233311222212211221111111111222213321133441335552111112212222222212222443255442221122122144332211112211233444211244331112212211111332112222333111111233112333332233312213321112233211122221111222222223366443663223322443331221122122222211113322211122133211234422233221122244211221111111222211112332442133224422344111123663311221111236632332221233332111112222111221122112442124433111221112244332212212333355211233124421222553213333111111111111111222211113332233312212211111111111332111111112211111222213322211111222222111113322222332111222442221334422332233444421111111221122112213321222222111111122222212233442112223322123311221112222221133332212213344442122112211112212222221122111111221111111111133312331111333221111111123311444331111221233133211122111332332123311111222211111221444222221112212333321332111233224442122122554331222212222221221111111112222333112344122332111244213366334422221222331125532333332111244223552113331111221222442223321221222244421111554331221122112211222213331221111333111144421112244333122111222222222332366322331111221111133311133323311133211225544211111111221222211122122111111111112222111233221124421222222112222111233443222122112443311111111221223322233212332222111123312223344321221221122222331221111223321333112331122112211111111111112331122255321221221122221111111133212444312211113355211113321111111333122223344223313332222144332211221244412222111221112211123441111222222144321333111122112211113321444413322223333222122123325553311332221122111133344144431221221111111333122123344444214432222212211111122111233133211333112211111221133324433113333122122122222331122123322122111221221111111111111221112211111122222211111122122333221122113331111111233111333144422331111112211112222122233111124422211223333221112222224446621111111123333332332442111122233111133312331112331111333553311133213333112223312222133211112211111222222244411111233122235533112443312211222212331111221222212211221222333322211122221113333333221123311222222111111112211332123322233133211113322222122111111111122333111124422211221122133223311223332211222222111332111233332221111111112211111123333211111111144331122111233221111221122221113323344233123322123322222213334442113344222122221221111122111111111221123312442111225543211332111111112211111112333321233333311332222211221224432111221122111222332211222212222222222333323312211111111111111111111111111111144355333331222211111122112211221123442233444421333313321221124421332221332122122123323344422244433111111111111113333321123324422222112664423333331111111113333112223322133222221222211334412333334411111233111122112332442244211111111144422211233111333312211223344412233331111221221112211221332112213331111233112212222221233112211333221133223311221122221221122221222222122122122223333122233122113321111112211222211333312223312442112212442122111133322333144332223312211221222332212222155442122234412213321235521333122111133211122111111122112331112211244332331332112212333333321221122122111111111133222233222211333322122443222122221112211113322222221111122112331332112211124444422333223321111124421122111222223555233111122223321144321111443233233322221122233133331222222222332331112211123333322223321221112332344111111224433333213331111221112212332222235521123322122111122221122111334441111333311113321111111111122112222122122332111221124444433443322124442222221222212442111222222111334441133212223355533322333122111112222233111112344111332111334421113321111122111113344211111233111133211122112222221111124442331111112442111111222223322222211113333111122133212222122221222222111144421122122233122444431332122133332442122222333321111221111112331244211113331111122113322222233113321112212331112213321221221233144321111111144333133322111123311111238884444411344422331111123312222221221124433122112212211111111111114444442211221221233112233211111112442111244212211122332133312211111332112212211111111222331223332211122222444443331111122221221222331111221144345522111111122221111122111332334421221123322221221221111123442212211113321233334441332255322211223335521122221112212223323311111221112212212211221122122112222111112222221332111222332212222112233311221122111233111221112213332233441113331111111332221221112211221554331333133322113322222111221112211111222331222211221221122221111133211112331221221112211112222333322122122111111111111111122113333221122332222212444133212222111221443222223321124443322332211221244211332332111221133313321112211112222111332133553441234663322111112233331114435522211111332123314432233221112233331111113321123311122112222221222332211233122222233211111221113331112344221112223312211344443334411221221112442111122111113321125532221123553344422212223312233223312212222111221111113344211111113321111332221111333311111221112224422212211223444111112344122144322332222333255322331111234412445553111122122112212211223322233333332344223321222212212222332111111111112222224434421122554422222221221221222211222332211233122124421122111111123333331111221332122111111122222222112213331111221111122122221112211124421233111112222111111111122222332211221122111133211122222222124421111234422332112211221111222211122122133211122222212211111244224442211111111122122133442122223322344221244211113322331113333332112211221222211112233212222112211224432113321333441111223321122111443331112211122221221112211133332222112211221112212444133443774332222222213333443332222124422222222222332122112212211221221111222222133212211122112211111112212212212211122221222211333112331444442111122222332211124434422133441111111111335532123311122221222212213322212212331123322111233122233222211111335521111334421111244212224441112331333122111244211144322222122125552112445512223312333321122223332211122112211111111221244222113331123312331122122122112344122122333322443211112213322211133224421122333122112224421123312344122122221233111221122111112212344113331221443332211333221224433111112344111123312211221112222113331122111111111133233211332233233133212223311144321221233111112212211122122221221111111221112332211122111333312212212331133212222111122111333122221112222333322111111111111111221332111125553111122222222112211233111221222331111221333311112222222223312222111111224434421122111122113331112222124421122111123311112211112212233211122123311123311221111122124421111123311222211234412223312222111244211122122111221122122332123311222233255445552221221122111443322113322222112212211221111221122112223323333331221332122133211112442221114442111222222122333311111222332222111112211111133311111122111443212212213323323333122221111244212344133211334421111111233122111222213344444222211221332133443312442233111334441222211133441222213321122122233112211233144433111111123311222212212211112225533221221111221111244233212211332222211122111115553333322331113344212211223331221122333221111111122221112233441112223774431111222211112224422214433111122111111333312222112233244332211233112332211221221122233221113333111111122113332331133442212212331111221122133222113344444334422222122111223321122233123312212211113322344221133212222222211111443311111222233331233221223321221122221111333322122221122111111112211333441244431111122111122124421222442223333223323321122122111111122122335544331123311233111122133212332211111332122111112211221111123312222112333323331112211333122111111332443211111333311221224443313321122244211333333322223321122221124421223333111244211222442122332123311112332442221221112211223321334421332221111233221233112213321112212211111233233244211123333223322333312211122233221122122122111112233333331122222211111332233122222212223311111133322223344211112212233555221114433222222111144334411122111111122443344221111111221233112233222133331112211133212212331221221112331124443322212332222111113333112332212331333112211122111122112355222111133322111122223323321111112212211222212331221221123552233112442111223321333222212222133211122122221111112211222222111221333333122222212213321122221234551112211444411111111244411123322333313324432122123311221122221221222212331112211221113333221112211113321111222333322222133443311222222112211334441111221244355355211223333112333355322233441233123311221111332111221133211113332211222212211233111222355512222111332123322234662126643312442221124441112211113322211122111111133211122111112211222222122123333311221221112211113333221122122111123311112222221334421113333122333322144321221112211111111111111124421221111111123322122111221221122221111221111221111111222212211111112224422211233222211112212211122221112223312222111112211122222332212211112222221112222111111114442221333111144321133244333122233112211221122122222211122111112233331332111221111233112211111333332221111122133333211122111111122133442222123322112331122112443311233122133212211111123312344112222112222133211122112224421233221122332334421223321133213321222211122223355213333112211332111122113321333111222211233133211112222111112222112222221332123323311122111112212333322223333664322212211222332212211112331111233223336632133333311112222111111122112222133311234551222331233122122122221122113333111221332221111233221122144444111221221221112211332112211113333321222211233222331123311221114432221221122221221233332111222222111112331221222222111111123311221112211122111222331111222211144433111122112442112222111221222222133555312553211122122233112222122111221111112233322122221221122144441111332112212222221333122122221112223311112332211332112222333112211122244422221221111332221113323333233223333111111122444344122332111112222234423324424432333124433332221222212211111222233211233223333111222553211233234552213323322233311332111122133211144321111111111222224435522233355332211332122111221112212222122233223366621221221111111222244321112553442222122332221332443331221112331113322225532333113333244411111111111111122112211122111222222443211332122233234423311111222212442222212214433222213321221122122221123311221222233333322211111112213322344221144321111122122112212331221111332122133322133331332133212442112222225544411111224432111122122221112213321332333111221122122122134456622111221112222111221133332442122111112212211111113322233311224433322111111233111123311221233222442133663331111112223333311221112332211122111122112213321111233112331332123311112445552111122111222332211133211333311112222111111222233311112211255344122332111333311133222221122111233111111244222222224433222211113333144333332111221133331122112222111222331221223321111112211244332222122111111111122133332332211111133331233111122222212222111112212233331221111112211366632122221332112331133212331133442332113331122122133222221111221111113324432112222333122133311112222233223321122221221111222553322111221111111223322212211112331122112223441233222222112332344122221244222122221111122111111111124455321221122114442133332214442122244211111112222233111222212222221144434422122122332111233332122111221233111125532222233212223322112211122112212222112344111124421244212222112211221133344124441233133222112211133311112233311122111233122111123333211233122111111221333111112212344111221333311122111224432332221122155432135553322111223331332221113321244411111222212212442221122223333332332222223311111221222211234411122112211133332233443333233233221111111113321332133331111122332111122113331112442124444212222333112442133332331111133331111111221111333311234422221111222211112355244335533111221111112222221221113331114432112213344122221112211111124442211221222212213321333322332221122111122111222213344332221233144322212211111221332122122122122221112331111244212211332112213344211112233212331112211133322144421333221443211122222233211133222122112211122113344211221133222133331221332155434434663312222233122233122123312332212222111111112211332111111111221112333322233212222133312233444113325543211112211334423344211221114432221334444424422442223344552233333322124433111133311112222122255331122111221112444111111122236633323552111222331133332332212211113322222122122222212211133344114444322122124421332112211122111233222222123311144344211111111222442122111122123312213344112211111443212233312213321332111112211122122221221122113322212211233122133355211123325533312212233222221111333324441111221221122111221122223444332331221222211221111111111221221111113321111111111221221122111113322223311111221111244551122122112212222112211111221112211233133223312222114444223322222221221233111112211111123322111112211111332111111122112211333322223321222555211122111111122221111133322111123322221233221333312212332212211266433222331222211122221111221122122111223333112223322111111333112212211112332233311111222331112211113344411111144331111122111123312212331112212211332133212211122332111122122332133211123312244421123325533233112211223344442111222211222211112222111122112222122222345511122111112222221122111123312222111333322112444111333221122112222111122222211221223321221111133333344122133211221111133222112224421144432442221222211122123311111111221111122144477325543332211111111244442332221221221112222332122221332111111123312212212213331113321222212211112443311111122222224421111133211111222211112211112212233222111122122444333311133556613321111222222221133222244411444211122111333312212233333222111332221111122221233133331111112212443311111113332211233222211111111111123312233222122332222212225533122111113321233233111122233111122222331221221111221122221111111144421111222332212212222122223332222332133211222222123311122122221222233233322122133212211112331113322212211222223322225543211233233221222211123442222221333311111111233221221111266432111112212222133331221221222211111123333211221332122122111111133211123312211332111111123322221233332332221113321122111221221123324421122122111111332222222111221111133233322222222111122122122112366323321111112331221111221221222211133212442332122133211223333244211122333222222332221221111133213331111112223322111111224477744332442334421332111112224422211111111111333221133331221221222223322111221233122122133211335544442223322212332213323334411122221122112443311113344332331221133311222212212211133333322222223333111111112332211112444144443122443324421333233111235521111235533333221221122122113333112223322122113321443211221111111112222112211333312211111221221133443323344221111122122334424422331221255344222234412332222122111223331112211221334421122244244334422111332122122111233111111111233222222224444442442111133331221122233111112211111235522211221122221122122122222332211221112211133223441221112211222211223322211332115544553331111111333311332111222211112222223321332333311221112211133211111111111221111123311222331111111111224442112211222233213333111123322112222333322333123323441222211123312331133442211111221114432122221133312442122333333322111111123322255333111112222222213324434412222224433112222221332332221221111124422332211111111224432221133333322211221111221111443312212443312332333321111122233113344333554422222111221223321332111222211111113331122122112222111332244212214433133331111332122122111122112211133442122133211222213322222222212212233223552122222212211111221112553442211111122122112223311234422112211133212443313331111221111224432122122221221221234423311111221111133211233133212212211112224422331122123312332331221122111221333122113321122111112211222211123322111111111114433322122221112233212222233223332211133331122221222331222212211111111111333111111111133332222221111113322211112211221221112223333233332212211133215543332344233111124433111111122111111111111111333322122332244212331112244322211122111222212331133332334442222444422331122333133312211111333221222212211112211233111111221255366621122122122233122122221222211122222223312331111221222211221113355333111111332223321122221112222122223322244432442223332222111111123311111124455334422111111111221443233333321122221122122133312212222122111333112224421111233221222331111554333112211111122223321111221333311233221113333244422111222223313355511113322211122222222133312212211332111111233133211233111333111113344233222332122223333222233212222111133344233244211223322211221112211133212332212344333333221221223324442122122113344223321111221113333124441122114433122221111224443311122111221122111111112222235552212223324441221111221333312244321111122221111124441221221124422224422223552111221111122111122111333113321221255332332222244222221112333331233111111223331111122111122133552122112331221111111112222332112211122233444444332111122113321221111122332133233222122112211234423322222212211221111222211222211112214442122221221332221123311222222122123311221221222212212331221222442122221244211222211111111221111221223331111111221111122233244555523311111233122112331122122111133331111112211221111111112333331133331443211123311222222111122332112442111223333221122112211221122122222211222212331122144331111335533311111111112222233122221122222211111111333312224422211255335521244211222332211332123311111112331111122222222111133222111222443322222233233331133443323774332211111221111112331221111111332133224421223322212212213321111111113321111111221111111112212211111111122221111122122122221112332211133222225553332212213321125552111111113336634422112211111112224441122221111221112222222332233311222222111122233221221221221112442332122111221221111111222331122111133211111222244321112213355445511122111233111332133211133222112211112212212223322122111112222233222212233441113321111122222211111112211221122111124421111122554334442144322222332332122113321221221122221111144423321332221111111334412213322233552111112233212224444344113322211221111123322221112211111123441111111221111123322111332122122123333224421111111222211333311334433122221122221332221222212233332222222212332222122111332122225543223322123322112233333211113322211112223441221124421234422113321133222111133223322111222442124421111445552111112211112332213321111111221222223313332331444222111112211111111112223333312223311332332222223322233111133222221133213333113333244233312211112212212213331111122111222211221332221122122115543331122124433222222221233222331112355331144332233211222211123344333112222221122112211122123311111112223322111113332333333322211111113344221122111221112222222211112211122244551125533333212222221111111112244332442222233222122122221111222233211234412553311111112233224421122221123324443331333111221113321111111222211111113332233222111111333311221112332211122221221223321113321111111113331123333442111111113322212255443322233443211122122122111221222222111111122111223321133212222222332222111112222112222133311111111332222332211244331111122112222133214443122133211111333255553322211223321221222233211122112212211122112553332211221122122333442211222222221111222233311222213332233344222211112223322111111123442331133212212222332122122112222111111221155432111111221112233222223321221111113321122111111222222221112222144421114433113333222331133331123323311112443311233111111111112211111111122111222212233211123322133223311112211222211123311222211221233221111113321111111122122332111112212211111221122111443212222111133211332133311122111122333332122221222211222233213331123322111112211221122112233222111112212211111222223322112213366644411122111111133443321333221221222222221222222111111111113344551221111113322212211122111111123311222222221111332123311332111123312211333112211222213321111222211221112222122112442112211112213333111221112212211244344111111123312211122123311221133332233222123314433311222211123311222211113321332111111111334411111113333122333322221222211111124421112211223332211221221222222332133324444222111333221123322255321111115543212332331111221221221222222123311112331123311111221111111221221111222211122122111112212233312211133211332113321222211111222212211111111122111112213322211111221112213321221333322122111112224422224422331444233211112222111223322211221111222331111255321112233322221122111122111111112332233222111332111122112222111112222333311221221221332111111122125532244211111112331111111123311233123323322112222222211222444433122233332123313322212211122112211111111233133211221122123311221122122111221111222344221123311221111133212233313332224433111111221122122221111221222211443213321221112211222212211112213321332112211221122112233553211221222211233123666212334433222331111111112211122222211122221111332111122111113321111233111332122332122222212222111111221111221333123312211444551334433233355332223311333311221112211112222111144321222233313333221233133211122233111112223333555111333111332112222133331112212211133332213321122221122221221221122111124421333311112224421133211221221333442332222111144321114443322112211233122112213323322211221221221221233155444133211332333112442111111221111111332221332111224434444212222111221112442221111112222221111122111111222331111133312211333111111123312332212211233112222111111222445532111222222133211221255344222111111221113332222221133212222221112332222111221112213321221111332111555321113331111221144331123312211111112224422223322244222113331111122221221111221233122221221113344122113333321221111133222223344233332233222331222211122124433221333123311221123323311332223321221221335521123311111122443314432111113321111144555533222111122112442112211222223333222111221111333111112211114433311122111122122222211222222111221333133233331112244423344212212222111332221122221112211111122221333122144321114433221333111234411124423332443322111144332211113344551123333442111333122122122221221221221332221112211112212212211222211332222211332122111111133211133213323345522333311221221234411111111221222212244333122332122111112331112331111122221222222221222223322233122112553331221221221111111333311221221111122122223321113321221334411112355233331221111221111221333112211111221123311122123552111122133344112212331221221222211111122222222112212211111222331111122111122112223313331122221222211133211112211112333332211122111221332111122133455533124421122332221221111333312211111123466212211122122224432235521112222122122112222144333221122112331332112244331122112211112211133333321111111221233123313333133442223322111335521111112222122111222211111111111222211221112331221122112212211114433223333111332112212233211111111221333322122112212211234412211233112211122233122112211112222221221221222211133312211222331111144334411111221221221222212213322222122112331112212211112222112212212211124423331133222124421114444221234422111111221222211333133222332114433312233211222222111124421111111221112211221221122111111122111223321123312211133311233111111222211111111111221111112211111122233122224432221221221113323332233332212223333331122122111444222111115553211112222133211122122122222211123312212211222233344111113344444222331133312233212223552332111122122221112331122122133211222213323322331222331111244222111122124421111221122221221111221233144322212211222222334434422233122122111122111111133344222332222221113331123442224421122133233332222111133222221133212664344122111333312233211332112553211122222344233112444333313333221122122222211112211221221111133222222332222221221133331332114433111112211222211112212331111222442333456623312332213344244211223335544344112233331332122111222212345523311221221111111122233111122111122344421111113344211223444442221111122244213344112244331221334422222222222444312331122114433222212222133441112211111122221222211332126643441124433133222111123441112211133332222112214432122233111111221444411233122111112213333133332333321112222111112211122111112331133331111221111144435521222211111111224444441111244212212212244434411122222335543211111221333322111144331133322333312233332442112332211111123311111222331222331222222221333112213321221233221111112222122112211112222114433441112211111111112212332332222112331112211122112211111111122122123466211111112222443331122221111111114442122221125553311122122122111223322222111133223344321112233442111112211112211111444211244222123552221113335535521332111222211123311122221111332221111111222211111111111111333332124421221244211233112212223312212211111122111221111111332221221144444212212222122122112222221122144424433333212222111244411112553311111133222111155433333212331112211221334421222224442331113321122443312211112222123311111223321222212211221112212211111122113322212212233312233233442223321333112224421111111221221111122221111111222211111111112211112213344223333221111112211111111133211111123311112212331111112223443333332222233311223322442222212211221221111255321111111124433223321221221114433222211332244423322222212331112222123322233133333331133312331222224421244211222211112212211111111111333322221112233222111332221111221112211443212664321122111221333312211123441333111233111111122111221113334422112212332331111122133212212222133312222112212211111111123323311111266443112223312442221112222111111332221122221112244434552223344333222213344222112222111111112212444433123312211123312332233331125533111133312222233233111222222333111112212211122122221122123311111122222553333334444422212211111333554423321113321112211122111112211124433122221111444211221133211111221111122111221224433311222212442111111111122221122111111111114432221122222212332443313321133213335522222112212211112211221122122223323344222222111112444222211112211221112211223332211233222331111113333124433122332222233211112233211122111113321144322331122133442211133355212212332222113322211221123311111221111122221222222221122111111333221222211234411222211223331332122111155434421115543332212444433221221111112222332122122111111111333344321444211133442233112223311122111111111122111221133211332111123312213321112443322111111221123322221222222122112211111111111224432123322122222211112211122133323322112212211112333321222212442133211222213322211233111334411111111233221255322211111332221124421111133222111333221112223322112332331111221221333552113321222233443332332222111112332222133332331122333442212331223333222211112222222233331122133331133212211221122122111111222211122122233111111112211443211221221111221334411333323333442122112212442233221221332111111222211111122234411221111111222211221222222222211111124441111122122112222111113331332221333311222211122112211111112331221111221133211222332333322355222111222223311122244555311112212222332111144334433123311123322332123333222111111332111111122112222221332221114442112213322211221112211332112211133212222223333111221222444111112331221111111122123324422211112211112212222111111223321222222221222212211111122112211221122111333442442221222223311112331333322111222222333233332111111332333311222222234411234413333133212211234411111111234411112222233111221111122332333555333111111133333321112211111111223331222332331112211112211122233122221111111112331222213321221112212331112211111333111332111222213444222331222442111222212212211122123324421111332111112344111111111111244413333333112211222222221113321133222133442112213321222222111233233221222213323333112212213333122221133223322233111122122122111111233122112223322233111123552122113322213331133211222211221122332111111111111111224433311221221114442112331111221111123311244222111111111111111221122122122122222211111222211113321222211111244332442111112222221233124421222331114433312223312332442332233221133212222332111111233112331221221112222233233122221112211113333111111111111221222211222222334441221122122222331112233211111122222212222111244332212222122233111332122112212214434433221222211122221255321111113321221123311333111221111123311221111122233222213332211113333112211334421255321333221111221222212355444233332112212332222111111244212222133223311221111112442112222221111113322212211221111122244212224421223333332222331233111222331112211222244421111221133213331221112222233222212222122111133223312212212222111112222111222222111233112212331222212331111112553311112213322211233122113321332111144331443442332122122144444112222155433122122223321112442112332222112442112222112553211112222221221122111221122221244412553222125533221111122122122111112444333442233144321111111332335533122112212222112222122221111113322211122111122332111233133322332122133311221332221221122122133211222211113332211333322233113344244233211111111244211122223333223321111112244344411111122133442111111111111332332336643441221122111332112212211122221111334444411112223311111112213332233223312223323311122133311233122111223321112212222113321222213332222221112211333322244211112222233112211333552233221113321122133322112212211222355212213332222221111111111111221111111133212212222221221111123333322112233211111112333333122122122221111111111334412211133311122111133344321112332211221112211122111113322222332133211221111221155433324423321111123322222233312332211111122111111111111122233122123311122122124422222122111122123312222332221111123311122122111111122111112332233212211233111244222333223355322212331221122221222331222213331222211112331112444221133322122113321332133311221221123441112211122233133322122221111233221111223321111221235551222331122333221221122335521111111111124423344411122111223344211112211113332222244211221111111222211221111112212211233111113332222122111111111111122221123442332332211221111221111111122122122221122111123311122111233111111221112331221122144322212212211223322331111123311123312222112223442211124422211233133211111113344444421222213331221332221443322111124433111111122112212333333112211222223312211111111111112211221233122221122221111112212332212333321122111112212331112211221221111133553311113321222223314433332112332332444144433122332122112355511113321222212211111221111122112211332222332213321122113331224432221224443311221112211111221221111112211133213333223334411111122111222333331111333333213322222123322234411233233111222222122221332144334412442122122144421112442221222211233122223321122133211112212222224432111112444422443442213332222144331223334422133213322443344333112212211333441444224423332211112222111332111112222222211122112222111111122122221221221111221233111235522331122112222221221111122332233133444221123311221221122111222212332211111111111221221123312213325553233211122112211332123312222122111221244331111111122223323331222211222222111112223333331122122112211122111112213321222211111443442111111112222222211222222111111122133311122221124421332111122122111112211111443443466222221111221221221124423333112222122111233223321122111122111111233111333133211111112211222211233111133213321111111111111133223322111221122112211124433221133212223552124423331111221112222222213321444333332211124421112211221222212212222221114442244233553212331112344111221224443222222221111221223331112331133213321332111122111112212211111332112211123311223333122112222332221111111111332123311444344332122221266443222211133211244233211113321332221113331124433112211113322211122112331122221234422221111221144333112211111122123311112222222222221221221111221124423333332111332122221111112444441111221112211221221122221111221244331111123311112222443322111122221221111221111111112233222111133233211443211122111124421112332211221133222221112211111112211221111221111122221111111112212332222111113321124421113322366331122112442122111112442222211111122111111133212222111112222222212223311112211122122221111122222222111122133233552221112222111333111221111221122233112211235521133223442222122111112442111255321122123311222212222112211223321221111233111111111112212222112222122221223333221112331111222212233211111221112211221233112233223322332111223321112222111122112212222244331223322211332221112444111233333312331111112222122221222212223322112222112223311244442443332222133211223331111123333331222212366333122111224432122222222112233441233244422221221221112211334421111332111224433333333224433112213322244444212211233113331111133311122112332212233212211111113321244223322221111123312212211233122233332122221112212222112211223344111332111221112212222111112331221221122133211221122111122114432332112212211113321111122233244211133211332221112211222211111112211111223333322344112553443313322222111665532111122233122332223344222331111234412211122122122111122133552111221111112211333222211113333111221111114432233133312211111221443323322222331133212212442332223321133211111112331111333111332222333333111221332122112331112211443322233122332124422212211122111111554322222224443333222221221255321112331221112211112211111112211122221111111112211111223333344211111111222332211112211111122122124455122233333333311111112442111122233222222112332442122122235554212233211122122443211223322212344222344222442122133222111111111111111111222222112222244412233233212211112212222111222212222124421221111112212213332222443233211111111221233112222112211221122233122221123311222222112212222112211332221335522214433311133312212222222233322123311133211112211113333111122221221332221111112211114434411111112211332233112222233111124455331332122112332223313344662111122111122113321223332331111221111221443311221233222331111221222331122122122443222221111122111111112222333221111113331222334433312213333111123323552111111221221235521221112222111223344211112212223311333322221332111222443441222211133211111113331333221221221133331122122244222221333112331122221333332122124444344233122133212331114444133212222233124433222331111222222111111221233111111112212222123333211123333211221221332221332221112222111113333122111122122222212222221222553233311113331111122122135552122122122122221122112212213321221221111126644331133211111233112211223322211122111112224421221333322133442123311122122122244211113344112213321222233311144321333111111111221111111221111221111111122133211221113324432554333122112331111113322211111333223333125532111111221123323333442233334423321122222214433325532122111111122222212211443332211133312442111221111112233212211112212233212222233221122122111124422222222223311112333321112211111111133211222233322112331222334433312211111112211112222111333312212255433122222213333111112332225555122222223455221112213333111122221332221332112211221221122112212442111222211221122221222225533122133333321111333311112211123443331222211113321112222122332122111133311112211333111122221112222223334411122111122221122123322111133213321112222122221122222211222233211221113321123325533441222223312331123311221111111113344442111222211116654322347733112212222111122111332111111122133331111112211111332111111234422222222111122111112211111124423321111112212212222221111111111111333313321113321111334422123455122234411332332122332332125533111333311111122111221113322222122123311111111233112211234433222111244355531122332124433221133211111222212211233112332233322112211111222233312222113321111223323321122133444442225553442337744411111443441123311111133311122122114434666123552111221221333122111133215543322111112344112211233111111122111233333221122112222111122112212222221123312222333222212222111221111122113333113333122221111122222212222221113332212211111111112211111332111112222111123324422222233111221334421221221133344113333223322211333122111112222133223311332122122112213321222212233332223333211222211222224441221111122224442111133211222211111112212211221111443211111111133222332332111334422333332122221221111122223322222122221221124421122221221222214444433221222332212444221222222122221111332221111122122122111112211112222221123322244222122122111133443311111112233222333311114432333122112211233233133212331111335544213322233311111111221122133344333112333321114433222212211244211123313322553331111122222442111221111111111111122223333133212444433244211122111222222122221221113333222211222442122223333222211244211222233211122124444211111221221244212211223322212211222212443312213321111122221111122255321334421443345511122133211112233222111112211221122222211122111122333111221221122124421111222233222221111221332122221112212222111122111221123311222222332123311111222223441235555332224442211222211111221111333332111113323333112222122233111233221122233111111233122133552223333112222223321122111221443552111111122221122111112211133211112222221222334443455111111221122111111111123322244211123311233112331221111122111244233223322122332221233111111122112222122133213331443311122221332111112222334411112212211111111233332233333311111332111332122112212222112224422211222445533441111111221123322133211122221111221222233211221122122111123311122221111443211221112211111221244211334411123333311221112212212211112213321221112233311111112233336664322222112222122111122111221112222233111223321332111122111112211221122122111111233111111222212222122111111221443312233222111111112332331111233113331221333123311443331221111111122112212211221122111332122111112333321111144332233222233133211222442221233122122111111111133211133222122111111221332112211333311221111113334412222111221122111133211122244331233122122123322222211112211233114442111222211113322222133214433333211111123312222233133332211133311111113333123311111114442112222111233111332122332122111221111113344411221221122122133442111233122221112222122233112211221111221122334413321133324421221113322212211332122222211133311111233221112443311122221122112553331114432122122111111122112211332112212223311122111122122114432112211112233223322111111133331244222224442112222111122222214442111122221111221122221111111112212212211221222212244441112213332223311222223552443333211133322112222122333333212212211111333322122244212233331111222233211122111112211122332333123312211111332122133331113333223321233113332332244422233443552111113321111133444421111332111221111111221112331222222221222224441122221221111234433332442112331333311111244222221221233144333111112344111124422211332133222112442112442221112212212553442335532222244333124421112212211233111222212212442122221111111112444422222111122221222211112212211111112332222111123322111112553212211112211111111112331221111233221332233122133331122222223322112233322123322222213332211133312211144332223322111112223663222111111111221223444122111221233222211221111111233244222221112212222111133322113322332222111111244211112211221112442113444443311122112332212211133442221111111111122122223344213322211122123322112233211221221111133333212233212331166543211122112244332442111221221234551332221113333223332222122221332112332211222211112222122221111333322111122221123323322222223555122111122111233111333552234412223441112211335552222211222346621221122332111133332212442112212222221133222334413322233223311112212223322222211111122112212212211221222211112224422222111222222133331111122221111111112222221111111111222233311123322124421333311111222211111122125532111111111233221113334413332233331233221111123552221123311112233311333311111111123333213331333111244233333323335521111122112222221133211111122333312333333221122244211133233322111122112212244444424444411111112331332244332212212222111223355344223322111233111443441133211111222212222111221221111122111111221221112233333222122221221223334413332222222331244211222331233222211111222213323331111111221221112222112212211111122111233144433222213321255332332211222222122112213333122112233212211111122332133331113332211333233111221122444211112215544412331221122223321332111122221123325533322233111112212211144335522211111122111222213322222122221221221221112443312331125532122144331112233211221222211122122113333112212212211112211113321111122114433234423455122111244411111221112222111244223311122233244331222222333333213321133332222333112212213321122223333112332442111123333222112211122111221113322212344122111332122124433113346623331332111111255521332112211122112211111111333222222113321221123442211122222211222344111444212222221444411221221111112331111111122233112222123324433443211112211221123312222112212333331111333333223322221233333123441133323322111122333223331222212223312211133212211112211234412212445532122222222222214433222211122222212233313321122133213321443211221443244422213321222222122111112332222122111112331221221112344333311221113321111111221221123663211333312211112214443322111133331221111111122122111221122221112211111221111122122123312222244422111111233221222222111222222221234412211221111111255321221111111111133222111111233122112212222111223321332111244444222344222331133331111221122111133311111112222233233233221112212211111122111111221111111112211221221111222442334444344222211122233111112212212212222111112442133331144333111111111221221122122332221222222222333335522222122112211111111122222222334422233233221124433133322122233111222223311111144321221221112212211112222221221112233312211223322443322234422111222332222112222333332112212212211122444211111133331112233211332223321222211111233111111234422221221221233133211221123312212211123663211111221113322211222442111124422211111123312211113344411332123322332114433313322212211111111111221221234411244211124421123455234422122222215543331122122112211333322111111133212443311221111221122122332113321112212213331111443211221222332331122112222113333221122221221122244212222111222222111222211122221244222221221222211112442111113321332133311233111113321112244441113331221233554332233344444222122221114443344331443443322221111111122224433311122111111113344111125552133211244211133211221114443323552111122122122111122332111255333221332122112212331122221111111122122222233211222344111133223311221112222443344344213333321133211122111221112223311221221133211221332124422331111144433111112331221111111112222233112213344223321233111111122111122222211443212233312212222255333111111221244332211111112223312443323311222331111244212222111221122122133312211122112332222444211112211111111221111111233111122111111333311333111122122111122122123311221223321112214444441112212333321122112211112211111112211111333443323311111122221113331233122133223322221221111222211221112223322111221221122223321333233133222444551111222443552122111221221332113333111122233111112211111133442112553322133222122221122221111233122111113322553212222111111122332221111222213333334422222221111221332223333124442222122332333311221111111133333322332211112222221111111222443457773234411122123311332112213321122122111111333311221122111233111122122223332212553442211133322223331111122221221111233133211122112331221443332233223552221122133212332331122111221111112213323321112211111133211443212211111233333332222222223332211112224421114432113334422111111221221111225543233442211123322112211222211332222332211122133222222331122233233223321222222244222221332111122443222113321111111122111222211122122221233221221221123311111221122112222122244422222212233456611221122123552221111332222211166643323311123555122111332112212211133211221111111221333222212331221222212212212211111122443222144322212211122111111133211112211113322211114444433111111222442221111133322221123441111122111112211111122113331332221113321221221111221122333335521111221221111112212212222233111122221111255523331111222211112442122111221222211221221122332122122111332112222221221233233223332211111277743331222222144333332244444133212233211122222222111122221113332212222112212211111112222133212233222222211233122111221221221111244445511233133311244212331111221113322222122122222212211111122222212211255321111111221222211111221333133323441221111111221332133312211112212223311122332222211233221221222222114432111244211333322335521222211144331111222215553222111122233333122221221122255333221113333233111122222244321125533441222213333122122111112222122133322133442133441122233155532112211133222233332112222133441244442111221226654433344331221222332331123312224421133212224421133222111112223312212211111222211122111332221233122123311233123313323321112331112213322444666222111112333444212212233211111111223322211123314443312211332332333122221111333311111111244211113331122222244444122112212212222122112211111222223313322331222443442211113323321133211122221111113321222211222211111122111112233312222111221111111114442222332331111332112211333311111333111221111123322133233211122111123312211222222111122112223311114433554443111122123323311222222111221111112553332222111332221111222212222122122133322112211111221222333331333133211122113333112223313333221133444122111111221221444443441112211133211122233111222211111122221221111111111221221111222222122122122221112222122133233211222222255544551221111111122221222443443322553211112211111112211233221233111123322332112233222233221122221122222331123323324422223442212211111111111111112211112223312211122111123344333331133312211122111111111111122111111114442222331112211221122111332111333111222211112355222111221334423322113333355551111111233133332213321112244333321122333233111223321221222211123324421332111111122233333313333221221111111122221332332233114433312222221111333223331124422211233221223322211333312222111112331111122335532111122221113332211221222212331112211111111112331233133222112332442111333112442122333122113321112331222211112212212212222233113321244211332111144421233112332222221112212442222222122122123311221122122111123322233122111133222222211333322222211332111111112222221111335533133444221221333244211111111111221233332223323321221111111111111333322111111111221123324442233311221122221111111122334441443222111123441123311111221122222222111222212211333221112222133331122221221223322222222214443323311221122123442222221333311122332122111111111112222332443311124422211133312213321124441234411221233111111111113321221112442111123324433122222211123441112211222211111233332122221111111112233322221111122114444111122122111221332113321112211133233332222112212212213322222111222211111111111333113322211332122112332212211123311122111223333113321113321222211111111113333111233223331112442122112211123323333211111112211122233222212212223311122112442111443233332331221123311222442222222112211122122244332233233312211221333122133212211124422222124421221123322111122333332221233111112211112223333211221111244333321332333111221111111112212442122111112212211111112222221123311111222222122122111122111133211111221112443312442111221112233211221112332211133313323321221133312222112211222222122233332111221111111221112211111222212211222213344213332332222122111222212331133333222123323313331221233333122122122111112331244212331244344112222122112212331111233222222111111111111124421221111332332123322111111111122112233233311122122344422111111332221122111111113323332211122111112213346621122122222233211332112212211223321332111332221111222332331344421122443212212211122332222212331255321111112212222234411112211244442123323333222133312222443211124421111122111221112331221111122113333222211122222212212222221112211111443211111122222222122122122123322233225543222221133442223321111233333322122332111233113332211222211221122233112222144321221332123442244321222222221111443222221221111333221222211221222444124441122221122233122222331123312211221122233111233111111221111133331112211122112211233233221111122332222211111222442333133211122111332333122133222111133331223331122144333122221222233211113332213321233111122122222211244211122221122333124422222112222221122112213322331333334434422111112212211112213331123311221221122111112222112211112222111233111112225532124421112331122111133222133211221122122221334421332111221122235521111122332221111112212331122344422211133222122111112233233312211223321112212211333111222211233221244413333111233332133444222212223312222123323322223321112211244211221221111122113321332111221123311122112212211222442332122122221221111122443222221123312355522111111111123311122222442221133233212211122112213344211233334413331112212222221111222212331221122111122111332122221111113321444443324421122122111133211222222233111222211111111334411332112211111222222222212331122222211221332111112442332133311233111133233331123313321111222212244321122112211111113322331122111111112211112332211113334422333233111133211122334422333552111221223321155435522444444212222221133211222332212233222333223333144421443322112212212212213321222344123442211133212223322122113447732122111111122122221333111233122112211111112233443323312211123322111221222212211111221122122112212331113344423322122112233312222112334433222222122235521111221111222211221113321332112211133222122221233111113322233211111111332111122233112212212553313344332221112211111111122221122332112212211221332233122122111221332111332221111122111111122234411123322112212211332333111111111111111221223321111221111332124422211111133344133212211133223311233221244222111122122112211111221221114432123311112211112211111221112443311222211234412211122221122112331111332111122111111133212331111112224433233122133311144321111111111111224433322111111333111133331222332211113333321111123442553313333111334421112212222111112212211122112211113322211123344331111133222221111111112211111122221222212331111122221122111111122332133211221111111133211222212211111112553442221221122133222122111111222233442222222122111112332223441221122122221233222212444122111112224421332112233212211111122111122111221112333323332331111111223331111332222233441122113332212211111122112233213333111221111122123311113323332211112331233332122124421122122221223322222112233222112213332211221334552213321122123312211133211133211111122222212212443323322222444112233311111122233112233233442331122554333334421112223552112212222112211113333233111122221221332333223444211223344422111233111233223331221122111122111111122133211111112222112442333441111114432133223552111221222211113322211123311333222211123311221122222212212211122112224422442112553211111111111112233222111133311122444211332221113332214433311112212331133355223324422211221122111112211111222211122111111112212222112222122221332233221111111234422222222122113333111334421111332333311123441111113321111112211122233333222332211444411111112222112211234422122221233111234551122122111112211221221111123311222222221112211122111221443311123311122111122222222333552222211111233122111133212211112211111133213333322222122221111123313331111125533221222224423322233355212211233111221233111122111111112211221221114433112212212211223321111124421122221133344223321221111233112442123322111112211123311111221111122332222555514442222331112211111112222244222113322222114443111223331244212233332211111111111111233111122111113321113322222111221233112333323344221112333321112213321244211332122111114433122244222122111133311111122112212211111222331221111111332112211111114443312223311112222111443211111122122332332221122111113321111111222211133332233222222442221112222122112211122112212222111233333222331122123322133442333312222111222211112442111112331122111244422122111122332111122221113344211221111221122221244212344233234411122332222444111122221122144421111221123312333332211221111221222331221111122221122112212211221112211111111112212213321133222122333122222211122122255322211122222331113333122233111122112222122222222444431111332111111124421222211133212222112222221221122443311111111122114433111221122122112211111233443553222233133333212212333322212212442222222222222333322112344233122122444442244554432122111111222211111111221224432222366322553233442112211223321122222331221111222211221112211111111334421112212211122222211112224421221123322333444432123333212211122244211221112211222233211221133211221144333112211223334442112233344111233112211113335521122122133212222111332122113321222244333112212211113444122234412244322212211112222233111221111222211221122111221111233222222113322212211233111123322111332113345772113331111233111122222222333111111333311122111112222223333321111221124422222223321221112222332112211222443322111112213322331332221122133344133331114432111111123311123311443331111221233222211221112211113331223333122221222213321125533111221221112233211221112211221111221222222111122333221112222223321112212223312224441111332111122111221111222331133223313321112211222331233122122333233111122112211122221233221123311111111233113331221334421111124422233441221113344662221113344222222244222122112222221123311111333222331122112212222123312211333221332222223322221221333221122233111112212222221112211123311111111112233211122112223333332332211133332366333111221221221221332111221122233111112213331112211122122122221112331122133233211133313323355344422122255321111122221112211112331133331111112332211113322212212222111221111111222331221112223322332221133332233312222123311222212211112332211122221133331133313331333221111122112222221222211233114434422244211221112223322112212211222355222111222213321112212222122221111111111111112442111332444212222111113321133444133222334422112211221115543211332113344332211114444455551111122332112211221233111112211111111122124421233222212222111111112211221221255524433122111112223322221111111122244211111244222123441333122333112211223344122111122111111332332332111221123333222222211122221221221113321111222211111122122233122112211332332111222331224444244332211112211112222221233111111113321221133355222221122222222333221111111332111122332113331113323322211111111111123311112222123441333233112233212222112244443221111112222222224421111333311112211122233332221332233133331221111235522211113321122222211122333311221221332112332212331122133211122222213321222212211122332112366323322213332211332111112233332222222233312212233222233111113333321122233332111233111111112211111122111112211111112233442122222211122113322222111111123441112222332112211222222133222112211122133211223332444421122221233111332113332444122233333322111122111233333111113333112211221111111133552122112223322222332222221111222211111111333122221112223322133331111443333331111112222332233111112211133224441111111112211222212211221133324433333111234411112211111124433335533122122221111122112211111222212211244431221233114433312211122444233212212331123313344223323331223331133211111111113331111221114442333443222223332211332112331221221332111122221122122111244411221233111222233214433322111111222331222222222211122133344334421112233331122222222233112331332221122111112443333212212233331122222211112224421112212222244222111224442111122122122112211233222331111221222211122111333311222211221111221222331332112211244212222111111111334411244211233111444211233111112344112211122112211112211233234412211144332445533111222212233331444311112222123442212212222133322122111122221221133331233144443321112344222222122111122122222212211111223321166543322221222213321221221122122223444333321111221111122112331223322211221223355331111122222233332212223312344221111122222223312233322133211222211223332233332211111244444112212224422222221112212233311112213331133212222133233211122112331332225543331111221133311111133211112211222212212222122111122111111111111244222113331222212332211332114443111111112211221111333223322222122221221122123322111233111221122332332111221113321221122111222233222111221233224443222222222224433333313333223333111111111122124441123322133211133322111221111223331112211332111244233443323322122233111133331122332222212233311113345522123311123443322212222122111222332331112212211111113333221122122133322221234422221122221112215543222111113331122123322133222221123333212211444331221332112332211222212211111112222122112344332111222331222211111221112211221122122133332332212331112211222442124422222124441122114432221112222122111112233211111114433344421221122112553212214433223321122222553322133212233331111112211112211111111221111113333221122222211244211221221221122111112211111112212244331113321111111113344344122221221122133311122111333112222111233122332111443441222211122111111255333111221113333221235521112211111122112233212332442233133442111111111444311111113333334411111222211332233111111122113331111233333322334441112332332211332444223311112222222211221221111443222221113321221244212211122111221112211111111221111111332111113333111112222233122122222223311123322111111122111122111123322133311123311221111223321122122223322212212233222111122111221333222211112211221244211111112222334441443322122111111133211222331221124421333442222112222222222332111112233211111122334433112211112222221122223321111233122112222222212222222211332222331221334422332211122332112212222221133212213331222222221112212222221332133211222211111112331234552211112442112233222133223322222213355331221114433221111221111221112212213555211133332211111133222111122333221222211233221112211222212442123311122124422213344212212212233213323331221221122133553322221111221113334411333355433122221333133211112212331222331122122221111111111112344223321111112331333111122221112234441133311133445512214432112331111334466443333441221112222111233112211122221221113322222222445511111221111113322233211221222331122111111111443331122122222332213325543222111221113331112332224422331122222211122112211221122122123312222112211111221233112222221223334552233212222133333443344222234411233222222122111221443312212212442112223322122124421221113322222221221221221221334442211111221221111122112211111222212214433112222221334422553211111112222111111122221221233221233122221221112211111112211133222111111113332211223323344662111111235523321111133442221233112233211221111112211221221112211111112222122112222112224434551332255522222111222211122111333122443222133313333233122111111111333222333321122111112222111222212212222111443233211122111111111122111333442332222222442233112211122111112444332122111122133442222123311111223321234411133212212212212222111122221111133233322111111111112212211133331221111233233112212332222111111111221221221122122111111112331333111122113322222123312211221133222111333221233222222333311111222222122222211221221226664333111332111112331222222111122266442332123311133213321222211244211221123311122122221113331111112331111122112444441333123311112211111124441221112212211221111124433111111112212233211222211122144423321112211112223333441223322211122122233112222112211221221111112244332213334433111221111222344133664431111122222233311112222221234423322122123312244321221112222221122332133222221233111111133311122221221333233122112211112212211111122112222123311123312222221112332211221111221221111112443311122221122112332212442123312211124422212222221112442111112331222223311112222111122222211221443331221223331111111112442144333123323311122111222233211221111225555211111221111112211333311122221133213321111122221332222211122122224432133331123311112222332133311233122111111112211222211122112212233333211222331111112222233233112212222122112211124421111111221233112442221123322122122112211222212332212211221111133322233123323311223322212331222331124442224422224433112211144333124421111221221221233112211333221111222211111111222233211332111122221123311221111222331122112211332133332442221221111122122112212222111332122111224432111111221233221111111112211111222211234411111111133222222211111332111111444355331111122125532221221443233331122335533552111123344442111122333233122222212212442111133344112444221332223321122112222222212443312211233112222222222224433333221444412211144333133311113344332211443331123311122222222222222221112331221122124422332443322233122222442112211222211133212211122111332113335521112331221221221133311111122334551221332221111133344223321122111222444122221222212331123322112233663222233111122112233313344211111234551221123311222211111332111111111112332211111111221221111113332222221113333333324421111111122222344111112222133442122122222211122221255321122221133222113335521221221111444222221111122123311222213321122111111112332224444366355223311332221222442222211122112211221123441223344212332331112332444221111333441223333221111122133322122111221221221333224432111123312331122113333122221234413322222111222222244222222225533221122122111111221124434412222111233111122111221122122112222112211122144321111334441133224433444412222111124421111111122112211112331113344112211111112442124421221113321111554422222111222212233211221444222122133222222211111221222211133553344333311114432233111111111112331113321233222222111122221221333322233112211332111332113332211111111222443441221221332223332211122113322331112211122111221112212211333441222555331111221233122333111111221221221111122221233221111122144331111113322332211111111221122122122111111221221111113355211233333311114444221332222211144321223321123344334411332124433111221122122113444211111123553323322122222331444331221122112331112211111122444223311221112222112211332233233122221111112211133331333311443331122222212212222221111234423326643322111111221221221111255332211222222111111133332222122111233124421222222122221111222211111133211122111221221112211222211233222331221222211234411111221112212211244331133322111112213322211233113321111112214433441222332222221221133211122122111221122112212211333311221222222333313336632111332224433122221222213321111122221221221122112211111223331221222233441111112212344222211122222233211233443332331122122332111111112212211223344224441133355222443214432233133311122333442222111111111221221222212226643331111221122221222211332122111112211111122221122122133333321111332111111133322233111114432233122111112212222111332233221111112211223344211233221113332444221111113322222332332332133311111111133311244222111122111133213331111221221222222113344411133331221222211222213321221221244211133442211122255444433211123311334421333311123311221333112211333311222222114442111222212223443344333312233322244212233211111233112222111122221221112233311333311122111113321125532111233112212211111122221221122125533441111133331144344423442553442123313344331111133222221111122333332221234422122111111222222221111233122133324421244211111223322442111221112211332122112212211122111122133233222222223323455111111123442223312443322111111111112211112213321111111133211111221112211111221122112212233233211112222221122112331332112444441122122332443311111111112211222233441221122111111222212223311111222442223344211222331111133441123322233111111111111111123311221233221111111122111443333321113331334423441111221332112222112212223311223321221111122122334422222221122144321111333334422212211221111221111443233444443322122222331112222332334421221332222222122133331443322111122223344225532221221222211221112212244421111333322221332111112213344433211111111222222112212213333222211111111222211111222211221144331112212213331122233334433123441333441112212222221333442244433221223321221112212211111123441122111112233212211122233222444112332213322222221123322112222111111224433312213331111233222442222211123552122221111111111112331112211111122111122332111122222211233223334411111111133331122111233221112223322244344122221222333321122122221112223322111221122112211333123311221111221111221112222332332332122124422222221233111334422332211122113322211334423322222222212331112355211443311222222112332213332211133332555331111111133212223322111133331221122111233122111222222111221111133332211133331221221111222222112211111125544411333123333322244211123322113323335553344111122221133555233122111111222223313331111112211221233123312331221233112442112222221223331133322133311111113332222111112331123442333322211122111133211112212212211222331123311112211111244233553355332211114444111221111233122111332112211111111111332122112213321222211122111113321111112212211122111221112223311221111221221122111122113321221133553331113333222211221112211221123323311133212332222112442221113333332111122123322111112331221332221133344221112222133212211221221333311124433112211244213321111133212212212212211223321233222212212443311111122122112212344244331222331111332124433221113333332111122111221221333333233442122221111111111332111111222211112222112211122221122333312211221244212222144445521111222233311122122111221221122222211443332211111124422212344122332112212211111122233221111333222211233111221111221333122111123312233211122122222211221111113331111111111133211111111222455512344133211112214433123311221122221332122333333212344233111221221111221133444123311222211111244222221111111221233111111122222233312211113331222211124421223321222442111221223333222211122112211223331333111112222221114434421112331233122123442332212222111122113322222334422222112553323322122111124433111221221111111223321221122221221111123311333313344133442114434411222233222244211112212222221133311221112233222113331111122111122111122111111122221124421111111233244222111113332344333122111222211133211111122221221123311112222111122111332111221111123442211133331223321122221111122221122112224422233442111122122124422211111112332211125534412222112212222112211113344211222211111221221333311112233331333112222111111221133311112211122222222221221112442122233122122233122122221113321255321133212211113321332133233322221221155555111222211221233123311124422442221113321122111112331221112212222111222211133222221222553213344111113331244423322111122223333122224443311122221111113333221124421333233222211133222111111333111111111111133323311112212211555533111111133322122111223333244222122221222233443311111112222111112211111221111122122222444421332124436632221111112244321111221122111112211124433222222123312331112222221122122222213331222211111222211221111122443331133224444222221333111221221221233111122112211124434422111333441112332211222212212222122122112213333443212212211221332234411221221332122112211221221122111112331115543214442244344223333133324433112222111111114443122124422331112333322211122221111333133223441233124441113331332332221111133441122221122112211221111233332122221222222122223333111233112212211113366432111235522211122111111112211122112211133212222122122221133311112211222222133211133333322111112222222223322221111122122221111222331112244331122112442221221111123312222122123311111112222111111111112213322331221123311221122122221133222233221122133213323321125533312225532112222122221222211333312211112213321123312211112211133311122111221221112334433222222111222222113331112211112233222222222111333123443321222444433221123322111112212222122122221133223312211123312213322223312223312211122111122221111123322222233443311222224422233211122223321111333221332223344212211144332222111111144321444212233331122113322553212211333442244433111111222213321223331333222331122112331112212334443322123322133222222331222212222111233111111223322211122122221122221122223344432211122221111111255322211443222221122221111221221111222211111221111111234423441266433333111112211333311112212212442133211133333321221122112211122333312222111112211111244442111133222113344333311111123322221111333221112211114433442211332333311111111122114436666212213333122233111111113333333244212211112333333223332215543222332222344221123324422213322222332144331123322122122111111113333111112233322221233114434411334411111255321122122333111112211112344221133311333133332442111111112222221111111122122111111333221222212233222255331223344111111233333311221111122332221111111112553222112225533111111111111332112212331112223313334422111221133312211113333122133211111233112212211133322112442221122221122122133323322112331122233122222211111111112442221111122122222223311221244222122112333321111111111111221111122122221124422355211332221112233222222211111122112212212222233111122221332112444112222223333223333322212222122266443441111244411115553355533311333312222444212211332333111112211222224422214444441122111111122221333111122244212212211122111244222111221112211122111111113332332442122122111221112211112244332211112212211111133222111111123312332223322122221222222332122221112213333221333122221221133213333122222211111111122222223312212555222332122122111221221221113322442122133332212212211123312223311332221111333322222212332222122223331122111222212212331221221124421122111144344211224434411221332443214442112223314432333311221332221221221111235521222222111111122233112223322122244211221112222221224444412211112211221332111111112212332211221133211111223332211111111221234422111111443322222332212332212332222122443223322122134442133441111122111133322332111111221133311222233212222122221222442112212222123312211112211123311123312222122221221122111122221244211122222211221122334422211111111122111244553323322111166543211122112222111112331221111222213322211122111122222211111111333123311333221222331233222222113321112212222111222211111111111221332144331122111221221221223331332112211244212222233234411111221233333442211221111122112211122221221222442113321133212211112212222332112211122111221133222111122111112212222332122112213324435521233332112211122113321111244222155532133322122122233133213322222113332211222211123322122111332112212222111244211122122332111123441124433221123312331122332233221112222221112222111122332334422222111113321221233221244222122113331111223321333122222222111221333313344233222122111122332221244211221112211111111332122112211112222233112214442333311111221112211333111221111333244444423333111123311223323355211111221221123322111144333221221221221111111221111113321332122223333332223344412212444122221233122133333311222211111112222221222211113322222443212332211122221221221111111221233222212331233111111221222331112222222211122113321133344444111332112212222111111133331444331124422211332122112211112211112222233112212222221122332112211111111112211221221221111112211111122111333322221221122223333221111222233211111112331111222211111122222222222222221113331111111122113321221221111123333322222331133443323333235533221332233222211133213332213333122222331221122112355233212212212222112332233223333331111133322124421332111122122122222233211221332111112211111112211222213321221223333133443311223321122111112212211221111122233133455111111122222222122111221111122111112442122221221233244212211111233223321133331133313323321222212211144443224433312233222122111133222123311124421111112212332442111122133332212211133211111122223333334421233235533122133313322233222244442111221112332222112222221133222122122122222331333332111112212213323355521223321222222222355211112211222213331122111111221111111112213331111113333444211221221111122233221335533311113321221111111111221111111111111221122122112233211111122334411124421112211221222213321133222244212211111113323366333333311111122124422213332233664321112211133222222331123311122114432111122111122333133211111122221221112331223444555222223321332221122111221112212222111233122122221122221122112222111222331111111122111122221122122122233221333111244211123311233221332122122112211133211122113321244211144321221111221124423321444412212212211111222212212344333221111122112212211123311111222211122111112344144333122112222332111221122112332222133211111111332244211133311112222111122111144321222212214442114432221334442244422211221111221112233553323312212444111123312211111122122221112222111112211233122222212233211113322442111222211112222111332223444211122221221111222212331122221222212233211111122112222112222222212211332122122122244443312442221221222211122222211111122111111122233255522213334411133211111133344113322211221221111221122221233332112211112553331122244331332111122112331111133312223312332211333111111112211233221111222443333213333122122221122332111123311221111233111111111111155433123312223322122111112222222331112211222331244331222236663331144333233123311122222222221112214433441221133222133211111122111223321111111122122221122221122111221221155433122223331122112444444411221333122222212213332331333223322222221332111122244211113332213444133222113331122222222133222122221114433221221111221133444112331122122221224442122125533222212331333122443223554442222124455344133211111222331111333112442112222111112222111124421122133212212211133211222211111222222221333221222222255321112234442223323331133322122111233112211222212222332111122111111111333311233244222111112222221111233222222111221122333322222213331122111244344221111233233111221111112224442222221233244212332211244553443312211112331111122221233122111111255331112212211233221133212331113331122443222221222233233222332111221133211133311222211111122112344111221234411133211111111255322211221111122224433333211111222213355214432112223311221244211133211332333111111111112211112212222112211113344211113321111222211223321111221123324422211112222111123323311122233222233312212211222331133222122122221221122133211122221221122133211223332211233112211111332221124444233212222111122221223344244222221122221111233122221221222211111221112222221111112212212331222222111133211111221221111223321112331244211223333111233111333333222113333322222111122122333111222211122113321122122113332332344233112442112223322224432111221221111223321111122112332331112211133222111122113331233133311221221112332211111111111123442212211123311122122111124421111133331111122233332221112222113322332213331112212211332221111222212211111111122223333244213322211221112215543211113331122221221112233212222111122221111124421222211123312444311222222122113333332211223321122112211221111111111221111221222212331112222222222443322221122222212213333122133322111244224421111111332122221111222211111222211443212222111332222211112222111222222222222111133212223312442111112211333223321221113321111112223554433222331112222221122333244244332222133211133553222123322332122122112212331112355332211122111233333114433311233113332222111113331124433111244431222344111233123322333111111122112553212332331233113334411111221112211222222122122221244213321111233222222111123311111233443443333211111144331333114432122122111111221221221554332212211122122112211112212233233222111111123313331111122122222211333112212212233311332221133211111233122223333112233222111112211122223321122333111111221111124443111111332332221122111111122111221112222122122133442133211113333123311122113322664333233122112212233223311112211111221333312222122333311122221111333332221333111221111111124422211233221222212212222221113331333312211332122112233212212222222214432111223321111112233322123441122124421255323333122111221133344112222223331334411111111122112331112331111333122221113331112224433221133553212233223311111112222333221221221133212211122222211112331332221233233111111222331123311221111221112331111122122221123322223321122122122122122332221122133311233111233222211332221123553311122122123312211111112442112211111111144333122111113344211111111122221112222233111122112212233331122112442123311111124421255333321233112222333311122112223552222211112553322111222223311122111133311122112222112211222224421112212213321111111221332111122111111111112222111123333222111111222222111122144321222443312233332223333441221122233112212222111125532221133222221113324433112213322211122122221221122111221123311122221122122111113333221222212212233222111122233221111123312223441111332233122223344222332123323322125533111122222332211113344221222331333222211133211233222222111133322333663233222223331221235522331112222133212222111113332332332222332233111222214442112212223322111332221111112442122113321223333111122222553311122223321111233112222221333221133331222332222133311112233331222212211133311112223322133211244331111122124421221111221122332332112211122233122111222211111233122111112211221443233311111111111111221111221111111111222332211111111112222221221334444214432122221111244211221144332442221113321112212211112222111123553311222355211111111111122124433112331244213321111111333322222223311221112222221111111233122112211122233112443311221223344444221111221222222133332211222222222211111122124422223322221111233112332222221443311111122111122111112222112331122123322112212211122123313355521122111332223323322211221233111221112211111221112222333552111222444222233223441111112213331133332223322222212331112222112233442113321133322122221133552221221122133211112331221233221112332212222122221221122222211222442222333321111111122221221112211133211133442113322212332222112222444212211122244211111111233112211223333366321111111223321221133222222222112233233323312224421112331222331222223552124433222212223311111111111223321221244244444442332122112332222122221122223333112344122122112222122122222213333222222244331122223331112211122333312214434411222344112212222333222211111222212211333443222144332332211133333322214432244222221112211123322122122221122122222223311124421133211122123313321122332111133212233552122111111134443313322211111221133211332221111113344332233334444333443442111221111111221222332222221124433133222111221111122221244222125532111111222222221244211111233332221111111221111111221233122221221233122111111332444222111122122332111111123313321122222233211222212331244211122111122122111221334455111111122111111221111113322213321222211221122111221332122133212211111222212212223311111122123312211222212331111113322332212331221332122233122122112212211112211222223322221122111221122111221221133211112212211221124442211221133553322111111244211112212233211111221221111222443442223311223322222113344122222212331122111111221224434412222125533111111233332122111112212212212222221112331223321111221124423322222222222111123325533111443223314432221113321122111112211112331112211123311113321221221133212444111111133211112213322211222223322111111111122221332222331111111111222331332111332443222112442222212213321111112223311221111221111555323344442122111112331111122111122332111112211111112222112213321112222112213331112212222133312331111221111112222221122111144322212212211122112224443322222113321112331221111222222233222211222443311112233222111112211122111122112331223344133331112211122222211112212212222222212211111222211223321111111133222233233123311122221222211112222133233311221111221112331221112222111221333221221111332122112212331221255522222111221133312222111111112211122122112443311122332221233333312222111221111112212211122333312222111233111221222222122133332211221112212222133233212331112211333111221122221233114442332111333442442221222333555533221122113322222111443222332122111333111333311233111112223311332122111221111111133211332122112222111111222553442222111122221122113321112222122111221221112211112211223322553331122111122122112222333312211333234422122122111111222331221133332211114435554211221111221223322213321111244211221221221222211112214432125533112344111332122444422222211111221111221111112211111111111122111122133311223344111111122111221111111233333133331222211113321111113334551112331122111221111221221333311333111221222222122221122221123442233222112212211122111222211111233122112211111112222111122122333322122111122111111221233111221112214432111112211112331233112333321122332244244333112233311111221133211244332331133311111122234422222211111111133333322221233233111111221222223311122122122223322212211112211223321221111122222355551244224421221123333312212331111332113322211333113321111112331122222331115544222122233113344111112222332113321122111112211222223313331221111111111332332113321233221122123312211223321111554443344332211133222221221444223311112222112233222111221122112211122112211111122111111122111222222112211112344122255323344222332112211111222444421133211222211221222212212222221112366333221122122222331223322214433111221112222111111222212211332221111112212214432221235521112331124423322211111222211122111133233211122222222332233122123311111111221223344221223322213322331111332122111221222355222111244222222333334551122222211122244331221111112222124422344124433233233122122443212331332332332332111233112344112211233221111111123552222211333312222111111112222122221111133224422211222443311113331333133332212211122112211123441221221111144421133213321113331221112212211111133312212212223311222244321223321133322122111222222221122222331233111221122133213322442221111221111233221113322211111333222211111122122122112211221122111221122221122133312211221111133211113321111233221122133212212222112211111222331111221111233122111133442123322122222331221224432111223333222211111111111111221222331221111112211222222122122112332223441332112331122123324421221221112333321221443211122122111222211332221222211221111444211112331221112344221111221334444233212211133322332233111244211255321111111221112444122111122122122124423322331112211111123311222222221222222222222122111122122333311111122221221111221224432221112222122111221222442221112213322444222223313333111221111112211122332233113321122111112213344211133212331112211222222221443311112211222211122222212333324432133222222331221133331111222211222222221222211112233244421122222233222222442111122122112213322222221221221122221233332332111111122111223334411233111111113323331133211111111111333312222133444234411221244213321124422222123335552221111222233333223313321233112212211112233311111233122133211144322211122111111334443321244212211133311221221221112212222111122221111112211111133311221113344212223311222445511221221122122112211122122244212211111122111111222213322222111112213333113333112344444411111221244331333221111133323441122443323323311113344213323331111112444114432122221111332244444312222222443322111122112222333111112553211133332211113322212212222221111111111111111332122332332123311221122221111133332212212212233222221233112331221111122122122244222111221112212222223331111222223553311112223322111111221122133211122224434444211222332212222224433323312222111333311111223322212222112211332124422223324422212332211112331233221221332122334444222221112212211222222255321144321113321112222122221123312212233322111233112211221122112212212212211111122244211233223331111133222113332222222332442222222233122113322233332211233122113344144441113321333111332221112233222111133222333312333322223322221221122111122116664433111112211111233111222233211333111122221113331111112223322111333311221111122332112332222222222332111221444211124421111221122111111221333111221111221111222344244211233221221111233113322214436633221122133312222122112211111111111111122111111221122122111111221221222331111133222113333122111133222221112212212222233112222443211123311111111221111111133313332222112211443211332332112233211221112211244444332212332212222111111112212331221332222331122112222233221112213344431122221113333122221111111222211221112212222122122112211112211221112211111111113333344211223444222664333112222222332222233122221111122112211222211221122122244422111112222122221122111233111122221111344422442334433111221221233111224442112222333311221124421133222233133355233332211122244211222222221111122222344113321221111112222233122112211111113321222222221223331111222211111111333322112212344111221122123443331112212212211233111111122111111222332212331122221221111244222122123313322211221111133211122111112211223334433312212211221222212211221111332334423312222122122111334411221244223322111111221332221221123312211221122112212222111444222111133322233223334551221221112222111221111222223333222112222133311111111221112211122113324433322122111233221221122111122111111221244212222332122112223552221221233222222221111133344112222222211112211133442222233443311111223337744333211221332111221222333344113355211111221112211234411443322222211112222122122122222213322211112211244331111111332122111111112244332244321222211111112211111221222331122133311111332111122111111221233122244422111333133311111222444421112222111244233331111443312211112233211112212224421111122122233111111222211133552111244411122122124424443311112212223311332111122111112222111112211221112222122221111111221111112332211112332211111233122221221111222223441111122111111223333333334422221443331123312211221112211123311111111123442222221233111221244211111112214432444212222111222222333322111221333333222123333211221123312211111233111333311122112331123324423321233111221111111122332332123333233212331233112211122122122333222345522124441221111233221111221233221111111112222333311122221122222224421122333441333312222333311235521221122233123312331122224433112211221111222211113332233311122221332111221332221334411122233233111112331112211332111111244212212211112233311221111221113344211112212222332113333111122221222211122112212332211111233111112212222221111222212211221112211444344221221113334422244331233122221332221112222222222244211133211111222355211111133332331234551222222332233221221332122112331112212445773442211122122111221221123333332211112222123322111222344122122124421111222212442124421222233233332212212211115553322111113333112222111332233333322332122111221111133312212212223311133322221221244331222222221122111244411122111111223331111111122111111221221222222123333212333321122222212212211111112233331133332442221233122122113333221221111111122111133331332122111221221111111111123311111223324433332112211332221122111233111133313355531122122223321111222211133331122111255531112222112211222233222233113321221221221125532113333221124433221111443311124444222123311112233211111332111111111122223322233225533332123313321221122223321112222111111334421144321221111221332133222112331222233331233223331332111112212233222112332212331221221233111111221133211222442221111333333233331122122122233222211122122233223333222332211221333322122133223322111221233332112332212233331222331111122221111112223312211112212222233111111233221223322345511333313321333312331111133211111122224434411111122221221111111122112222111112212223311244212212442122332122122112211122122221221222331221221221221233222211111233333122133211112233322332112215544311221111122122111111221111221443212211111333311222212244421222331133331221221111122332111332133223311111111111223321221111444412443325533244211113334411335522212331122113323331111112214433311332122111235552333333221234412223311112212211233122221112211122111112211122332221112366331221112211224432123323312211112211112555333212223322111221112442221233113321122111112222111111223444211111221112212244333111223332332223312222233233221221111233333122221122222222112233233244466633552221122122333112212222122124421112211111122221112211123311122144444211332223321555322222122112211122111333311111111222211221111111334421221332222211223333332221221221111112331221134442332122111122111122122111112211122112212332222112211113344222331221222233211221111122221122133212442222222112211222222112222224433223321111111112213331122111111222211222211111233255521222222112211113334444444551332222211233112211221111122222331144321122112211112442122123344333233122112233331333312233441332332233111122122122114442112332212222111123442211111113321111133344111233222212222222212222111123322133211221221233133222235551113344211144333112553223311111222233211122111112212211122111222212222333111255321221332112233311122122111122221123333442212211123774444331114444442222111222244444577222123442233222122444411221221113331221111223321122334421221443211111221222211123311222222122233334421221122112331221221333312233331221133211221112223774331233111122122233221113322211112222111123322122221111113321111111122124423321111122333111222222332333322122122133553211111223321122122113331112222332112211114444423333221111122112212222123322221255331222212223314432111112331122333113322212332222122144344444331112212331112444122222222221221333222211112222122111333123312443322133223441113333344133212335543211332112332331112222112331111233133355211333313322223333222335554433333314442111332221112222221122233112244331111332112222111332122111221221112233344113333333122221333122111221111112222122111222211221112222112212211225554331221221221221111122111222212213331123322111111111111111221222212222111122113333111445552233233221122112332664431332333553311123441222212213331222211221122111122111112442222211111133211144333133212553312222221222212222111233221133222122122221123311133233441122112331332221122233111122112222332112211122333312222221111221111332122111133222222332222111223322222221122244211133211122122122111222331332223321133211111122255344222122221112211113323335521111244233442211112233212212213321222211113344211221112211223321111114444421235523321122111244411333333323323441332111221233221111122334421122112331334422233311333112332212344112211221122112222123311123466212212222111222211111221133223323311111113331122123311122221133211112211122125532111113333221111224433111221233111111111112211111221122332111111221122111332114442122255344233442221244211333322111111221113355521123333355211122133212233211122111124423322212222111122221122122233224434411122112211221233111221222244333122222233332222122112211221333133441112211112222222442332221122332111111222211111333332223323355442113331111112222233233222211122111111122222211122123312211111112211221111122122222212233311124421122333311111122223331112212224422213331221244332212222332133552111222212332211255321123313333322442221112332211221221122122123441443442113332211111221111122111111111333322112211222223311133211221223322222221123313322222222331133313333122222212332222111111222211244423322113331122222212442221222211111111221111233234422111111221221122222333321133233211221221122332111224433312332233311221112211222222112212331111221122111332112212212211111332333122123312212211221122222222122244211111221221122111122222212211221223332222222211133324421233111122222211122133333553312211332111133211113321111221123311221111333312211111122111332112212233212442221111123312222222211122113333122221122221123312331133333211122122123312211133211144331112212212213322212233443332444221222212211111112211122223322332222111122122221133222112222112212332233311221111333122122222211223333111444553211111244211133334432233112244321133212332213322211122332111112331111222331114442333311111122133213323344331122111122122222211221443311221221222222222222122112222123323333222122122222211221233111111111233122233223321332112212233211221332111222211221221223321244331333222213333321222211112212212222122221112211222212222113321222212222221122111111122113322211233111112211133222222212212331111221124421111111221111122332221111112211221122332112213333234433223552223322212222122111123323314433221111221122112212222122122111113321122122112333333221222222333441112222112222111221122122111111333312211122112553663331221225544223312344233124421221221111111233122112222112212211122133211111235533111113333223331111222213321122111221221144444222222212223311221122122111221233221333322223321443333312331111332122111111112212222134441333221332332122111111221123312212211113331223332331222212211332244211111233221233221112211111244433222112332222233224433122443312222222222113344331123312223663211244422111122122222211332244332442111221334411112222333552223322211112211221133211112212211111221112211112332244423333112224444332213344212211112211112331112211112211112211333221233133312233211113322211112332211111122335521112211112222221443331221235523321222211333441111111222211112222221221221221221255331111124444441111111111222222221133311133445533335533122233111111333111133211122122122223444122111112211122112211112331236632443331222222112331111111221222211124444211122122122122221133344112213322211111122122221122221133322221334422233444422122221133211122111111222211111133211222212222112212222443444422211122111333222211123311221223344111113321333233222222111111113321111222212442111122122234411124421122332122111233223334661010433312222221332113322442133323344344211111111221221124421222211122111133442333125534551122221122222222111112331221122111111122111332333552122112222111244422221221112233213332255432111111221333233111122222211111222211122222211112212222122222212212211111233233221133211221233234422221133223322111223333111221111112211112222111112331123312211221111122244211111221144331221443212212214432122221221221222213321122111124421111124421332333333244322331111332221221111244212211111222211113322442111221221244211222222332332144331221111111111111112442223322222221123312212222122113355321112331123313333335552111111133222112211333441122112222333111111332133442332221332112212331112233212212222221221332111111222211111133211244212222133322221222442221122112223552113344332214433221111111221111233111122122122221222331221122111244332211111122111112211221222222122133222122222211222211221111333311332111111111223333122111113321133331332221221122221222211113324432122235533112233222122123311332111122122244222221111443441122111222211333222331111124422553222144321122333323313331111111112211221222211221332233111112233233443322554421122112233331124421221122222331222212222112211111122443332222111333112211221233332222331221133331112211112332223322111111111111111112211244222332332344411122332233112211111133222221221112222222344123311111222211111122122123455221221133331221144331221111111332113321111221332333122222233331112442111332233443311222222221221112211443442211111333113331221122111221124444222333111221111332222211222222221221112332331112222133211122133311233133312233225534433122111111221122111233221221111443311332233112344133312211223321111111223322212331122111221122112331334441123441332233332111111112212226643552221122111111122112233224421221221222211111233122233144331333552122333122111221222222333111111114432334412222111222225535533122332122112223333344112222222211233332122222222255333111123322111123311233111221122332113321113331221234551332221221233123441113355213321111122221236633111233112211112331332221111233332111222211221122111111111144433112222112223311133212211234411122222244322212333344411221111333221123311122122221112211122111122233112233211223322211111222211111223333123312233222133212222112212212222113322211112211244443441222211332221221133222222222221221221111112233666333321244333322345533322122111221221233112211111111221333311111111221111332221112212212333321223322211134442664422211112211113332222111111332111221112222233123311111122111122111234412211223322212213321222244333222222222222112331133322332111112443333212222223344331111111233221112212212442221111122111111332221111123325553566771223331111111223321122333122234412211111221332222222221221221122122244412222111333113322211332111113321112332222122111221221221244355532333333333324455112344133212222122255332211111112211122113321123323311111111233122122333322111112211111123442222332333311221221122122112222233112212443442213322212222111221221133244322212223313321111122221111111122112211122222332212222112331133331444332212212222332111133322222355212211333333123441443212212212233211221122111222212222122222211233244443324422211113331113331224432221233111111222212222122111144431144421222332344221113344212222111122221111334422112211333221112211133212211111255321122334421255323344412211122133311222212355255433323322122111111111111222233211112442332111112223344422222111123311233244222222331122112211221122332255355321133332211111122111221111221244214434421233332221221112211112212222333455111221221111221112332222222224442212222221112344113333111122111122333111443211112222122111221112244421123663312211133211222222114432111123322111221112222124441111122123323312233223322111233124433112331122222212211233111111221111114443322111112211221122111111112442133331223331122221122144321221122122122221133222133332222122244442122111332111223333221112344125533311111221111122332333133211333124421337743211133312222233124421112211112211122112212211113321332122222211221111221111223321111111112211111122332112223774321244233346633233112233311112332213321111222212233331221244412212332212233312222111221222211112211334411112211333233233111112222122122122111111222212222122112332222335534433112222244331113322331221255321123311122223321222331122123311233133312211221221122111111111133331112212212222222222222223333331221223321123663211112212225532133211222211221221332111112224423322332222221111133222113323323322344221112222233112211112332211122233111222213332331332332122111133322221122144555111111111111122222664355521111111111333332122112443312443311554433111221114433133324433123311112211112211112344111111113333112211124422344122332111122122111112222111221111112213321122112222111124433111221112211223321111122221144331122221112211221122222233322111112211112211112211122111222211111221111233223333111223322212212222112233222122122112345511222222111111155433112222112212212222111333311332133323312211235521221233222222332221112213332211333223321122221233111111112331221233122133211222222111111221111222211233124421122111221111111123322111122111221112211222211111222212331133212344222222221111221222331111111111122122122133211111112222221222331223324433221111222211334433312211111112331122222212331111112212211111111122111111222442111122332233133211111122221332123311221333224433441333333333211221332123312211133442222111111122111221221112222332233222212211221222222222222113321233122112213331333112553233222111233111221111222212331133213344412212212222133212222222222122122233233222212222122122133212222222332222133345513322212212331122112331111112331221122111221244211112222123311233111111111111333312212223311333221111221133211111111111112211111112211112442235523324434422331123312222122112211112332332332211221223321122122122221112211111111221122443441244212222144332331221111221221112213331111333332111111124423331221111233244423311122222211234423311133331123312212211112211111111111122113344211221111111122111111112211221112211112211233223333123552221112224421221221221221122112213322213333332233221355521122113333113321111112443322222211244331235551112233311333233122111221221122221112211112211122112331222355212333321133211123311111112211112213322213323322332212331221221244422334444421133211111133311221221112212333333123333212211133223311223321112332222112331221111122221111133331222211222212212233311122111111223321122112332344111113321222212211224433112211122221122122112222332123333211112222123322111112445532443211333221221111111111112233442112211112212211111332221111113322212222111112331223322444111144322222233221122123322334422111112212233331111111111112211133331233222211221111122221133222111111122112211222332443441122112222222233211221221222222233111122111122133333321111133442111332112222221222222144333122112211122221554321221123311233122122111111111134441233333112332222122223321222211332333311113331122223322344111233122111111122332334411111112212212211443214442111333322111111122222211122112223322333442212233312331114442122122133442112212212211222211221111112211111122222233332211111221111332114433333211332122122122221233222211111111122332222331122112211133333441244211111123311111224444311122112555441333122112233223311111122332113321233112213333144331122111332112331332221122221111111123311221111222212212211221122223331332221112331222223333213321111111221221111222222133442111233221112222221123322111111112211112331332333122221112211113321112444444344122233221332221122112332222221133311122244411233221122112211221111122122112355222111111133213331113331112222221111223331111111221111111111332111112211233111222222221222213333221244211112212233332233311332133211223321111221111221113321332112331122221221112211123311133323322111122221221222244355513333111224442111112212222233122111112211123555222222112222225544211133211222212233333211112222112222111111221112211122111111111112223312211122122333311221111111221112211112222122255322553212214443112211111122113333222213321123311222222233111111221112211223323321122112211112233331112224442355212233233222122111113334411221222244442442244212344112211114432112222155533322111112331112211122332332112212222443222133331122113321233112222122111111112553311222211244222111111333311222211133212244322222114433325532221122221144321133213321111122111221111111221112211111122112222221222443441221334421112222112443333211223344213322222122111444413344212233222111111111221122122112442111113323332553442122144331221221112331221112223442331221233112222122112222221221122444431221112211222222111221222212212212222111333112212212211112212244321123312332213323321111112212233311112211332221111122111222331122111221112222222222333122111112331111133224433333311233112222122111123322122123311221111111111244212211111113333112211111223322331111113331221111133442221222212211111112331224442222331235521122233222222221122133223322111221122333322133333213321111111111233122222222221112211111221112233224433221221221123322111111122122122111233123312222124422211133311222442112211133311233111221122222553212212213321111111133212212233222113322212211112212211122112212211133311443211233221111111221234422112211221112212213332222333322111111111122233111111221111112211133223311222212443333222111222222113344442122111233112442111111111221111233122111111122111233112211221111332222212222122133212233233211122244331221122144321221112211133213332332222332221111221222332332222122233112332222111332222211222442221111144321122111222222332221233112211111123311122222222221221111112331122112211133442223331111112211234412211114433133323552222233212211111122111112222221122111221233244233212211112211113333333112211111221333123322333555221111111332111122221122122333311221111111221122112211111221123311112211333552221133244333333112222122111111111111222222333133222111112222233221255335522222332444312443323311111333311222211233122333312211122233332221223331122233222211112212222222212332211111221122111233222211111222222122112331111122111233133233442111111111111332122112222111221111112211111112331122123312211112212332212212233211111222211123312211122221111234411122112211122333222212211122443344114432133331221122133212223322221111221221221122111113344413321221111221122333111124422345511223334412233211122133322332122221111255321332334412222112223322122113321122114442112331123312212212211222211244431111113321112332211111111111221111144331234423311111443211332333322112442133212212212211111233123311233244422111111112244323321221333115553233344122122111112211111111111112212233211122221122221122111111111112331133555312211221222213322212233213333122122333312442122222442122113323331124444222111144344133332224422222221111221122111122111122122333112233344111111111114432112222222212225532332555332332233211111112233442133331222212213321111111222211221122222331111122111554344111111221111111111221222211332111112233332211111221122112222221221112222122332111221111221221111221221554334433211221233113334662122113323332213321111122122111111123322221244211332112212222112211333233122111111112212331255322331221222332212211234413322211233332223331333443222222331122113322211111122122122332223344333221235522211233112442221112443311443441111221223321122122112222112331112212222332122123312222111122112211233443223333212222333112211111112222112222222332213344133331123311122122133211111221122111333112211221122122111222211222212233222221111122244212442221112233211233111221221111114442244222111443333457721123311111123311122113321221122221111112211111221112212212222222211221111222211221221122122122111111133355994344122111114442123322113323321112223322233221112331123313333112333322442332111255333221222331112211221221122221222222122444312344222211123311122112212224444223312222112212332331111122122112331222222222223311113333554344111111221333441233332111221221221122112442111111221222442111122221332111122223332211111111224444422211111112331133212211223322366331222222112211123552332443331144423321122123311112211223331221122112233312222122221111111122122221221332124421221221133331112211443211332223355222223322222223322233332225555553311114433322111124421122122112211233122122111332111112222123333313322331233222222221122124421112222223321221111112211221112212442223321111221122221122111112222221133211221112222112223312212346621222223312212233311111122113321444432211221133222332332112222111221111133444422223322114442111221233133233222222211122221333552111233334422331111122112553555111112212211554443321133311111222211235521112212211111221111233233122333333244331111111122133331111221111233111221122113323322331112442222211111233111123333331111125552123311111221122122122111122111221111221112213322222123311221122222444332122221334421111122112222113322211111112222111122221244666234411122332111112212331221111221113321222211255333222211233332444311122122221244355211111221233112211122112211332122222222123322111113321221111122113323331111111111111122112211122112332222223331122444211123552111221233332113321112222122333311224433325533113321122111144331111112212331244355211333311443222222255445511111221113344331332112211223323334413332222244211122332224433311122111221222344221111122112443312222233112355533331221221333111112214434422211111111111233111333322111112446663222222211223331112213333111112442221221112211222212212211255333221133211133355211111112213321111332222332222111125532122221122111112225533221332112211443211221122111133222113321111113324433221122444211122222442113331111122223321122122333312211221112211122221122233221112344112222123441222222111124441233112222112331233332221444222111122221222331222211222344221133553311224444433221223321221111111221333311111112211122111111111222211221111444355211111332111222212222221333133311122112331111111221443211111111222212442221221335533233124422331122111113332332211221221133442222113321124421111122122112224421133332222221221333223321112233332212211221221112222122122113333321133312443312244433221333311112211122123441222211222212222112233355211111122333311111111122133212212331122122111111222212212212211122221112211112233311233112332331113323333122122122113355211112222222212211222233222122122332355533311133213321111222442122222212442122111122221122122221112211221221221221233112213321111111244211112213344443322112211233111221221221122221122221133333322212331122111122222213331113333221112222122233133441111221122122111111114434411444212211333322233111221112212211112211333144421233111444332213355333221144332211223332211122222443322111111443332211111122133333331112233212333321122332112211111221221332112222113322211124433221233122244213332331122222442111123322112212335554346622211113344112211111332111122221112213321133332223312222333113332212211221221111221333441246662123441111122233223321111122111233233112444221332133333332333321112212233233222122221221221111111113333221112223322123663333233213322211221333312212222221333244213332211111112211122335554434412212233322122235533233112222222222332112332213322222332122221113331112211333311122122122332122122122233111221111124423344222112222221233113333111222222333311222222222442222211111221113321111221133311222212211112211111221244212211221223355332212212224455321111114433312212333322222111221112211122111111124421123312332331133212211111111221133331233112223311111111111112211122222222111122112222133222123312212222233124422211144331133211112222111122223344233214442111122122122122332221111112212211112212331221221222233233222235521122223321113321111244212212442111111444211222211122222331221334411122112212211221221333311333334422332222111133311111333125535544331111221133322122221221111111133331123312212211133222221112211111111133233312211222211234551112331221122111221221333322332222211222331113321112212212211111111112344111333221122221122221244411112211222332211221222442221333222443311112224422233211222211113321112211124433333113321122221122122333244331113331223321223322211112222111111111221333311122122222233222144331332223344212222223321332112212331221122133222111244211255331222222333312233222334412212222111221111112222222222123312222111244332332212212333333112212212215543211122112212211122223321122122111333311122111111233111111112211223321111122113331133331221111223331111111111332244211111112211221443332442133222122244212222222331221223321111221221111114433332221111221122111122111112211114433112211111111111332111122332233221222331221112211221111122333322122112211112211112211222214432133211255344222331111111122112211112331223333321111111112212224421223321332122222212211122233122122332111111122122122221222222112222221122443311112212211144442122111222211111122111122111144344111222233211222233331224433344421133312344122111112213321111122133311122122112211244211111233233244212332212212222112211111112212211111221122111221221122112444222211112224421111122112212222113321221222224421111221221221112212233211133211112211111333222211223331222211124421111221222333331111111332111111233112222234422123333331112211123311112331333122112212222234411221222213334411122112222332233111221222211111221221233144322213344221223322332233224421333221133443334552331112223455111224443322122221122111221144332332211133553331122111112331221113321111122111221222212331122222212442111112332211111111112331122221112331221114432111222211332122111233333122144333111111111122122221122122111123313321332111111221111111221111221222211111113321221222212333344411221222212222233111122111122111244233233212211111122333311233234411111122221112211122111123311111332122233111111221221111332122111333123311122111111111333233221112213321223322222133311113322222123323311111113325543224441333312211112222112222221221235521332112211112212211221223344111144331122333311133444233333311123311233133212233313321111222212444133332222222213321233332112211233122122221122222345511221233333311111221221111113344442122122112224422211123312222332112211332111111122111111112211223321222442111233122111221112211332111244213333133344111222211112222222212222111221122111111111133311111221144333221122111222332212211443311244442224433111144331222224423345513331332122111222211221244212443555422211111112664345511133311111222211123322111111222211111221122111111124422331155434433111111112211112222133211112331113321111333311111111122333112331111111111113323333112211221111122112212214432332133332222123322233122221332221133344112223322233255332332331111333221233221111221112233441124444222332332112355224422211122234411233122111133211221122111221122223321221144421221122111222211221223321133331333113332211114434423322332332244411122112211244444324421221122222553233222112213322331221111111112443333331111111111112211111125553441221333222213323333111112211555333221112331111111133211222211112331221112331111133553212344221111111111144443322331111111133331123311133212213321334455221333552332333311111122222553213321244211113321122112442223331111111111221233333122221123312222223322211111233122222211122111233112211122111111221332111222222114432111111111122114433223344444333221112331112211221122111122112222122443211122221221112442554423322211332221122221133312331224432443311112331112344111133212233442221122554322443311222223312222112332212211112223312211111233122111344412331122112211133331112211122221221333311122112211112211221333124423321111133211112223455122113321222332211133333321222213321122133322111221221222442333123312212211222222221221332111112331112211221122221112222112213331222331221221221221222211221113321111244411122112213335521443213344331222211111111111111222211133222122122112222122111233122122122111111222222332111122222222111111333344434422234411111221221221122112211336632111133223311122221221223331111112244322211233223331334434422221222222122122333323322122332111122332112211133211332123311111112222122111112233212331111122113346623322331122122221223332211111332111111221133212211111111111133313321234422111122244332211233222212332233213333124421111221144321122133331111122111123322111112211333311332144433222211122111221111111124422222111333311122222211222212211123311112222133322113321222331122112244322331122111111144333122122111221221133311221221221111332332332233111111122244222111221112442112211233222331124421233125532221112212223322122221124421221233222442122113331122133311122444222233122221235521111111221111222211111221112211333112211133444221133212212222222222221221333111122111111122221233333322133211112442122333111133331244222122111111222333444212222223331221122123311222211122122223331332122334435521111133332331222211124423321133222443443333344443223311222223311222222222553312211221111333122111113331222212233222133331221221221333122112331111112345522111332111111332443775432122124441111221122124421112211221122122112212332332211122111113321122122133211123311124421233221224432122133311122221332332111255333332111112211223332211233111111333312331111111333333345511112222112233233211111221111112211123441112211221113321123552332233333111111122221123344332211122122224433111111111123311122112331111334422212233211233113331112222111111112212212213322212212222111221332112213334411144331221222211113321332112213331221112211221332221111111111124421332122221123311122122123312233223442222111221122221332221222222112211332112331332122122111111111222211111122111233112233312222112233331112444422211122221112211221144334412222111112223311112212442111332113332212211113322222222212212331111133212442122122112222111111111122111221221112223322111233124441111332111443333321111233221222222111133212211122221221111111222211111111111111233111221123441221123311111124422223311122233222211122111112212331222212211221222212212211122122111111255347732443212211233111133211114432122233221222213333321112222122222233322221222211111221333311111221133212222111111111111332233222211333313321123322112222111222211221122112233442221221221122221144322442221122122244211113333333112222122221111443222233133331111133212211221123441122221123333222122111333322111111221111122112211111122111111111133334433325533111334421333332333311112213322211221112222111111221222223312212233312333323321222211123312222221122112211221112224421222222221221113333332112212331111111122111122111221222213321333112211112331221221233133222122113322211125532122221123441122122122333222222332111122244412222122221222222122111123311111223321112211221443322133244432233331223321112211111111222331112222113333111221111125532111333111221122112213331222222123311112244441233112211111125532111244222113321113322331113444331122122111111222211122221111122122133233311111221112223555133212233333311112442111112332222244331111222332222221221244223333331122111332112211112331111222344111222224435551112211222331122111333111221111221112222123441111111112331332332221111221112212212442111222211122233222212211123322221122111112222112222111221122244211111122222212211122233221122123441333111122112222233111133211112332212212211111112442111123313322223323311111133332211222211133211113332222122233111155434433332333111334456633212211122222213321112222122233111113322331332112442111133212332211113331111222222111111221112211112211222553222221222211221111122221111221123312212223311111122111133443663213322233331122124466344122233111221223332222122332122112223323311114432123323553311332221122122333111111112211222442223321111332112244333221233133331222211112212211111112222111221133213335522222111122112332211114432113321222222111112222221122222331122123311333111122111133442233322233221111221233133222122332111122124421111112233211233122221222223333212211111221111111244331443222123311123441122111112211111221133211221222212233212223311144332222223321112222221111123322123333211111221112222122221111112211221244211222212223322332111222211122223334412331122112331111221112223311333322111111221112211222212211112211222212331221221234422133332331233133211112212212333333111221111111122123312233211222211122122113333111111122144433111111222233211222222113322222122111222211124422224433133211111122221122113321221233221111111122222211222222123311111124443321111332222211221222211221233221113333112211111112331111122122111111222224421111114432123455332124423332212211111111111221333221134443312212222111122112212211122333111221221332122222444433244331111222211244331122244411111221332221111112332222133212222124444222144333321333322123441222233331112233222221221222211221113322211111122122111112331221133222122123322222222112222333113321332222224421111122332111112225533111111111112332211233133222112212332212211111221111111112222111122222211221111111122122111222211112444114442443332331111221221111112222111111111122111122123311223333111443333331111122112212223311222212211122111112222221122133333211221122122332112233331221111222222112212222222331122111111113322442122233222442111112233211221114434422112222111233221113321133442332222122111111112213332223311112212223311112211122222211111111221122111223333111122111221111221111221244222332222222244222222244323331112442221443332331111221112222221111113344433333222111222222133331112331244233211234411122443332211112211221111123311221221111111122332332222211122222212211122221444211111221133211112332442133211133212213332211335533244211222211111112212211113331111111112332222122111113331221221111122133212333321111221332221244211222211233112331222211122124422222221112211222355511111222211332111122111111222211122221111133222123312224422212211112222122122133211112211222211111333333322111123333211122123312211333124433122333244211111112213321111111233122111332222331133211222331223321112212222221112332211244222333313321122111112223333332332211111122122111222211111122122333311333221222211111123323441223331111111233133223322233221443333331221111233111124421111133323311222223322112331111111222212332332213322213331124421221112212223311112222234412211223333111221122233111122112211112344113331122221122122111221123312211222211111113331111111221144332222221133441133222244213321112222221333311333313321113321111222222233111111221122122111112331133311222233211112222221133212233331111333122122443443311224432222211221112442111112233211223321112331333313333332123322133442211111221112442123311111221222211112211113321221122233333111444223322111133212212233211221112222122111122221332122221133332331122222212223313321122133441221221222214432111113331113332442122113334412211111335551111122122111221221221111222225533455244553331112222222211221122233222211233111111133441221133333322277543322112224421111111111333335522222122112222122133344321111111111112332333331221333221333663312212213321222212211221111221112331112212222233111222332211114433332222212443322122221112222222211111111221443442222442112211222212442122123441244233441111122221113321112331333311111222211333221133212222111112211233122111122112211122233244331221333122112211113332233211111124423332332222333324433221112222332111112211124421233221123443322222111221112212233222221111221133222115553212442122111111111112211111223321122122122112331224442122223331112211111355521122122111224444421122111111111133322122111123443321221122111112211122122111111222224433112211111113331233222211123311111221122122233122114432112212211111122123555133223322222344111112233211122221111221111333244222223333333311332113333366323321443322123323311332221221122233114435544551133311111122111133222222211234411111113331222211333233111111221133331133211111332223333221255444211222331221112211222222123311144333221122111233111222222332122122112212212211222211111233222333323333233133212233333333111122113332331111221223331122443322111223322222122221122111332122111122122244444222233211111111221111221122221122114434433112211122111443211111122111111222211112212211244211221111122233123311122112213344112211112211111111111222444122112222113321111244211122111222331222222223321112211111222222112211112222122122334422211221112332223322233111111222331122111111133211133212255432113322266544222122333322133223311333221222212331221144321221223334411122111222211221122221112223322223321222211222331333222211123312212211222213444444221144433111221221223321123311123322222211112233212212211222355213334411111111122111113332211112233222444233223312211122221111443332331112331113331332133444233111111133332222443555312211221222233344133211221221332122222213322211221112211332111133213325555513333222212222122133244422212333331332122332221112366355555532222442111111233111123322122233122221221111223331112233233212211112331113321111233111133213344133332211233235551111122335533663212211111112211222213322211233111233111111112331112331144422222122222223322244411111122111233122111111123312211112211221221111111111111122122233111111111221123441123322221112213321111111222211111111111113344335544332331221221221221333112331111122222211122111133212211111111222222123312211233112213332212331222332344122222222111112211221334422211133222133211221111122332221112444111443333321233112211332332122111133332244321122122111112212211333441134441133212214443322111133211221221111111122221443211133311222212344112442233332233133313323321222211123311133211221112222111111111222211133331134455111233111111111123311111111122222222222211123313331255322331233233221122444222221122221225555511221113333334422133213331123322111233221221221112211221111443455112442111123311122222211111125533311122122222212222221133222222214432221111113321133222122111111112244333233221112211123322111111266444423331122133312222122111111222211222222122223333123311112222122233222211221221444233222113323331244331115544222221222211111234552211111221112211222442221122221224432111332244212212211133212211443222112211222211332112222111133233211122111555521221221332222222222211332221221111123312222122122244223322222222122223333111133323323333223323322112222221221111122133442122224433133312331123322122244222111233122112442111112233332211111221112553323441221111333552111122111122222355212212214432223344112223311222213321221221221133212212212233212233211122122111233111113324433312355331112332211122244332222112211222344233221122111332112223333441111112332211111133222111221222444424432122133332331221112344222233444123322221333122122333488432111221111111111233122233122111223333111333322222233331221111221111112212213323323323344333111111111221221222222122332221222444421125533663331222211112331111221332133333311111221113321221233112222221122111114433322221111123311221112233211111111122222442111221112211332111221113344222122133211221112212211112211111111133222111112211112212233222122111221111122122122111332111221111111122111112222111123442222122223322555222111233122333455133233211221443332211332221111112444112212222221222212211112233322122111111332222442233111122114435521221112333332331111332111112222112233211112223313331111111111123322122112211123322244211111222331113333332233111122222212211233133222221221113323321122111233221112211133222133366321111333111122111221112211122122111122122233124433112222111222222111112331111122122122112331221222211111133322222212222332111222331111112211111233111221111221233233122112212213332212344443211111122221111221221244332212212332211111332133332222222211221113321112211332122113321222211124455221122112443442244421221111244212211122111221133211332113333112211112211122111111222442234412233212212222221111221133331122443331221122221222212211221222211122122222211112212222111332222211122113332212211223333111122233124433123312224433244443312211122133222111112214432133213355212223323312225532111223321111333111221111122221111122111221112222122221233111113333155444221122233221244331133553322111333441111222244421112211223321111222211222442234422111111111222233311133332211233222211122112211221133312211244222111111111223321223334412212211111113366332213322211111122221111112222123311112244322233311111222212211233111111223322212222222331111133212233212442112222234422122111112213322212211123322122122122112331221122111111332233144322213333221122333311111233111122112222111221122233221222223311111233222331221155444311443211111112223312211111332111332332266432222222112211111113325553441221222211112331113331122112212211221112211333111221221112223312222221122223355344123311111122111223321221111112331233122443211111111122221111332133333323333331112212211111112233222111221111112442333122221221122111111332133312444112212211222442221112212222332111124433222212211221221111221221111111233111122112211244422122222222221133223322111133331443346622233332222222233377432332332223333222211443331133233223311112233332222111111223321222222111112222222211111233122222222222332222355533311123311221123441133213321223333221221122111222333355222122111112211122244213331223322212332331111112222112222122133332211111111133322122223331222223311111133224422211222233211123313321111222222222212244321122222233223312211332233233235521122221123322111221222211111333111111112211221111122233112223312212222221133211244211113333221144322223441222211111123311111133311221122221112211111221234422333441111122221122221111123311221111113334423442211221221111221112222111111111133223323441111111111111112211222332212211112222233222211111111122124421221221122122111112222332122222664433122122111111111111114442111111112212223333442233222221112222111133222133233332212212211112331111221222212212211233221112212211111122221221111111123314434662111122112222332111111112211111122111122113322331111122332332244211221222212212442111122112212212212233331335533221332122133311112223322112211111244212212222111222775532222212212331112213344233344233122332111111221111111111112212212222122113334442234444321112233244333111333311112331133312331122111221221332122133331222211221111332111223321122124421111111112553222222244331332111111221332112211111233113333111112211133212331111111111333223322212211122111112331113321122111111133211123323313331111111111332111112233233322111122111111122123333211133332222112211113322222111111111112331222212222221111221111133332211221221112222112332222133331112211111123311122244224422211112211222212211244212355223311111111122222222244233222112211122443212553442123323311332122122111122111221332111123323324441221332111112211222332211111244222332222211122221111112233211221112213332212211133214433322122111221112211222211111221133222221244211221233111333221123311123311112222111111112442111332122124421133311222212222334433111112331222211122221122113334422144344422221112331112211221111113323323322222221221112222111122233122221122112222122221112213333112212211111233112355333332222222211223333122122122111112331111111221122221112211112222221122333122222211111111234434443322336633333443312332212222111233133311221113333112331133222112212444133222122233223344111221221122221122111222344111122221122111222211221111332222213322223311122233111111333333222112211332112211221112211111221112442113322211112222113333111112223322122112222221221112211221111334441332111221111112212331113321111133311133344333311244413334422333322122123322111221111112211333322113333111444213322222133222111221332221333311112233211111111111222211122332233332332112211221111112332332211112223313323334411111222244433332133233311111111122122221443214433322112332222233111222333321222212222122222223313322211113332212445533555311122111111111222211111122111221111111111111111124422222112211122244333332442122222211112212211224432122122221123311221443212223323313321112222144421111244211112443312222111111122222233212211124433333322333111122122333111221332111344411133211112233211111332234411221122221111223344423333331122221111332133211122332221221222664455122111112331334412331332111122111122133222111221221221233122111111112211111123311333223322355442222211233122144421112211111224433221233112222144421122122224433111332122111221111111111113333122122221111111133233443312233211112233211113344413344411221221122244344111112211233112211122112212211111233123322111122443211111222211111122111444233324422222221332112213333233112444111332111332332123311122113321221111111112211113333123322221122111123322332112222112331112244422224433111111112443322123311122221223331122113321222211112211112211113321122113333113321133456771221221111122222212211111221221222211221112233556643312222111111221111222211113333221113331111112211144421111221111111112344144333112211111111122234411111113322211221123311244411332222331111335521122332111111111122221111133331113322211133212213333122122112212211111124421221133213332333323322222111111233122124433122221111233133312211122111124433221111111255333332211111221133313321122221112222112222221221112222221112331111233111111122111221221111221332133222233221111113331222222221222444312233331221122233111122111222244322212223313321221222213321221123311111111221222211221221112212212222233111112331123322111233113344211111111112211122112211221122221233222211233111111133211221332122222222111111122111114442112212212211233221221122111122222331221112332222222331222222122244212331222212212212212211221122111122221222334443111122332111112222233111221333221221222212223311333332221122111111122111122221122112212222221122221122223321233111122112223322122111111333554422213321221112442123333344222211111133213331112225533112212233213322211111111111123322124421333311111112212244333244413323332212222112213321111111332332221122222233443322332221222222333311221111222211112222133211111221114443322221111133211221133222111233122112331221133222222222122112442111122113331112211112212222111122111112442332443222221112213331122233133332211221112222122111133211112442122112211111554422212211334422113331221111333311221112233211112331122112332211221222331222211122221112332222111334442222111112211332223323331112211332111122112233311112223311244412222122111111235522553322113321122122112222334413333111233234433211112331221123311333122133211222212212222222442111233111112331111444441111333552112211112211221334422111111221111122221222222221122444443322235533233112222222332333355211112222111221111111123312211221111133332222221111111122112212222144433222212331111333122332111111222442333455111111122222233211133311221112211332222212212212222332111111233111111221112331122233221122222211123311112213323322233333321122332122112211111111221133222111112233346633122333441111122222211122221112331221111111112211111111332111122111443443321111221221122133213324443323333331123442211332122112442122221123312331112223311221222213322211443311221221112222222211123333442113321111111122111123322221111221112244322211111222244333222214433455122122111112213321133222112222113321111112332212442221221222233331221332222211111111111111222222222443441221111111122332111122221113321111112443322333443332212332211111133553312333321224442111111222211221112212222233111123311133552111111112553222222233224421111221111111221233223333221123322113344332442221113322224424432111222331222222222223312211122332122233122221111111122111113333122221112222111443213322212211222211221124443122332112212233223322233221133222122221221221221233111111221113321111111222213355661112222111333222222221111111233123322122111111221221122111111122122122221221221221122333312331233112222221221332233221111332333314433311112233222133443332442112233222122122111122111122221222442111122122221122111122111112211111221233111233122133212377433312211112211222223311221111111112331111111221133332332211113321221112211112211233111133255432122221221144421112223311222222111112331221111122111332223331244222122122123311111222212224434433211111221111221111111122112222111144422223442331111123322133211443222221332111111221111222223552332111233111332111111443332233441333332222211221123333222111111111112222111111112331111113321221122122122112212222221221133312211122222211111123322112213333331112444444211133311111133222233221234662222222111123311223321122111221111133311113333122233124423321233222211221112212331222233222111122221244211222233331233122122123311122133322111133211122111122334441222332222122221111112222122111332221122111111112211221111111133222221221222211221255324432111133311112233332443333442123322112442111122111133311221112212211112212213331133441223322244333122112213321114443322221111123312211221221255522213322333331111112222333322124433112331221332233223333222223311122111221122111221443233322332112212332213331112211233111112233331333311112443311123312332211133222111111221111133346621111111111111233112212553214432221221233112211221122221133333211244211444412331221333311221111112211111332111112211332122332133323311222211112211333312212211111122112212331233111222442122222212222223331334411221221221112222112212211221221123663312222221111221133331111112222332332122122112222221122111222222133332222443211122333312223442212211333555221221124422224441223321233112331222211224432113321111122122113321133211222211111111221112212233222112212211221233112213331122112211112211111333111333324421122112211122222211133332222112212442221332111133222112212211255321111122112211221122122112331112443333331112211144444111112211122112233224433112211111221222222233221122112222122111112211235553334433322144322211124421133211133222222211111122123322111333112222111222233322122133331123322122122332123312331222223311222211112212222111332111122133311122222331233554331133222112212222144322211112331332111112223322111112244333113332211111221111122223321333111221122221222212223311111222233211124423322211222212443311443211332221222331133322111111122111233221122122221222222111111221111133332332233322233221122111221111111221221112553211122334411111223331111222233331111221222211111221111111111133211112223441122222222111222355222223333221222223311333323311233233112331223321111112211122221122122112233331332111221221111111122221222222221221221123312222112222111221112211112212331221111221111122133331221111221221111122221112223457721333133311112213333323333133211333122111221113322442112222111221122112444421123311333122122112223312211332111233221223321221112233222112212222122333221112444421133312331112331111122112442443311112212211122112222111135552122221111111113444422133663222221334421111332332122221222214443552111244551113322222222211443222111123311111111111111122122222222112222133311122222333333111223344414432221122111123311111111112233331112211122222213333244222122111122223321122122112211221223321122112212331222211122221111111221221133331332133312442112211111111221222211223321332233244442222222112233331112211111122111111111222222122221111233122221111332333311111334422222211122223332331332221221111112212211111332221122112213331111111112222221113321112222111221114433221111233224442122332221221332233133224444223312222122444442223321112331111111112211122221222211112332222221221332112222332122333322112211111112244321111111112211221332111221112212664333221222331221111221122111221221333123322111223321112553322221112332233331443332233444421111122444213333322212331111112212222112211112355222122122111111111112222113321111111111233122111221223334411112212233211133322111122111222223311112212222122221112212333322222221332111122221133212213321122244222111124422211111113333221113344211221122133211112223322221122332144331244233222112244331111111332221221112355211221233222211113321244222222212331221111333222212332212211111123311111111222211334422222114432223331222222112331233112211221123311122221112211443212211333311221222213323322222111115555211111111111111222224421112211111111112233311112222111222233222333123322111222222111111111122112233233211112212223312212212211111111222222221111122111112211113331222332233212222221443322111113321221111113322233331221233123312333321123312222113322213332223312553311112331333221111133331122221222222111112222233122332122111221111112233444222212222222331111111223321111122111122112213321221144322211122133332212212331122111114432122122133332211111123322112211221111122221113321111111233111112446643311125533333323441112211332111125534441111124444212442111221233111333313344122113321235533222212212211122222211133211111111221122221233221133211111111111332332222222111112331334421221244233212222111112331111122111221233222244421111221112222235521123312244421334442224422211122144333123312222133344112332331122112213344433311221111223321112222122111221233111335523321332221222212214442111222331221111112211123313333112211122222211221122122111111111222222123442211112222111222331223333111133311111112222444212212211111111122221111221221122122123312222111333112211111221111221122113322211111221221122112223311112233211112223312553222113321111221122111123663224443322331113332211112211221144422775533113321233111333311112331233111333113321122112366334411122133223311221113321122122122123311133223311124455522211113322213321122222212211221221221221122122221122112211221333311112211122133211122332112222122111112211111111133333332211222224421122221113332214442112211122111111332113321112222111233221221221122222211221111444211123322221221112223322111111233111332334411112212211332221221222222111113355322222122122111111443311115543211112211233122332111222211122233112222111112211221111554422213332233211112222122222211335521112211233221114432113321122221111122111332111233332443312212212443311111112222112331332133331112332222111113321123322111111221122113333111221222211122111122123322112223312211112344111221112233212212333322222112211222222221122221122221333112212223333312442111133442332122443222113322211221223333111122122133212211112211123555111122332133332222222211111221221332111122332122221111332221332222212211333233122122221222222122221222222111122112222144333221112222112211222244331221223322211233124441112331111123312222112214433113333111221221122223331122111133311244214432233111123311122335532111122221111123312332212211235521221332234411122111112331122332244344111112224441133311221111112331111124433111222331133223552221111221112211221122111122221221111111113321111332222211112212212213322222223321133233211222213322344221112211122112211233221221133213321122111122111112344111113321111113322224455111122233113333122111111334422222211111111113344331123333333311111221122221223344422244233222221112331123312211112331221111223333221222211122122221112344111111122112211333322122221112223324421122233221332111221223331112444555233111122221221221333133445543333321112211332233221111221122222211111333466212222112222122122233111111111221111111111122122112211222332332212331112211111244331221114442122333221123313321111122233221111112442112212211112222122122111113333113333123311111144333112211221111111123311144421111112211111112211332221144322212211443212222112211122122111122221123311332221111112222111111122222212212223322221221223331112211233221332221111133212212331112255442111111233111111333441122334433122112331332111112211221122111122222213322222113344213322211222355553322222211111133224421122222211122111133331111221332111222211113321112211221111221122111111133331244233212224433111221133313321111113344233322221332122111233125555123322122111111221122224432235521112211133311123322221112224422222233113323322332213322211122111111221113332332211333133212228866433222211112222112211112331133222111111112211233111123312211111113321112233223323312233212212331133331123312233312222111333313333321111133222234433552122122122111244331223344331123311111221221333112442122222211222332222332112212222223331111111123313321111222212224433332112211122222211112244442331122133322111333113321332122111122332134442122122113331112444421221244422233111221111133311222223553322111555332233332212222113321221113333332333222344111221111332222211112212212222112211122111122111222355211554433112222113321223321122111222211123311111122233111133442331332112355444322122133331123312211222211122332222331111122111111111111113332211221111111332222222111224433133222255321221233111111123312212213321332111111221244211221133311111221111221111223322211112332222124421222555224441122111111222222223333221113333321133331133214433111111111111122224442112331222211221221113322222122333312211221111113322222112222111111221221133333442112211111333333211334433222112212222334421122233111122122111221111333221122233221233111333333312211111111111225544332233311244212332211111111222442332335521111111332112344122122111113324432113321122221221222442221113332222111111335533122221133222111233112211221111221221144431111122123311111221221111111333441123441122222223312212211221123323311111111122133345533223311224433255333221122444211122122222211111112213333111122221112212212211111112211222211235521332111222222112233331444211222212233444113321111112224422212212213321112213344222222222221122122333442222111111111233221332222211233111111221123333313322344221244222123323322122111122111111112211113321113321255321122234433212332442244211122123311112233331112212212212332213321111221221112442122333222223311112244422233213322212211111112211111111225544211111112211122123323555122111222226644331333441221221555422331224444112212222111122112211111221443211133225533311112233322111222211233233112211122114432111334421221113322222144333111111111111222442122112212211332221122113321443441221444411122111221133442124442211221233111223333221333311332221111223322211112331144433221111133222111221333312211124421112222223321443244333123311111221112211111133211221221112332211223331122123312211133331112211124422211113322222123322221222211111332111144422331133442112211113321111111332221111123441113321111122221113321112226643555331122444441122111111111222442122111111221221133211112222334422211443211122111122244222222233331111122111111111112212212244444133212211111111124421221122113332213331123311223321221221332122122111443233333331111122334433111222212553211111111222212211133331111122332133211112233311244213321234411111112211122111444333321111111244422111122111221122122133212212211111112211221111112222244222111122113333221122112212222111221133211111122133311222331332222212222112223441122133222122111113344233212222244442111112331111111123313321244433222222214433111221221221122122332222211111113322211112222122112222111111122122223322212212211112211111233221221111111133332211222212212213322211221122222222112211111111112211221221111112211222211111112244331112212211111133311112222332122111111221233223321332221221122111125532112344222331111443214433552222212366321221111112222111222332211133442222223312222122122332223321221221111221112211112211222211111222212211113321221122122123442213344111112233211111122133211122111122122111124435533112331334413333122221122233111112332222221133553211233221122111122332111111221112222122255332345511334433111222211112223322122122221122223333112442111155432111122111122111122114432122222211122332332222211123333331155433442212222221133211223344344122111111111332111334422233111233111111122112233211222331222444221222213334432332222211244444321222211122123333311122123322233224444422122112211122144334423323312222122123311112222223333333311122332122122222211123312213333122111233223322222222211234422221111111333311123322133324422344221133211221244443313333221111112211111221443331222331223333112444455111221332111233222222333122221221111111111233112344221122111111221122123324421122111443222111111133233323322113321111221333111111122221111122222355212331222211112212212222223321112331122112211112211112212444122122112211122111122133211221133211122222211122111111122112211222444443332111133332211222211111221122122122111133222122221112211221111111221111233113322211112233331123311122112222222222122221233111221233221112211111222212444122124422442221122113323321112214442333221122112555212211111221112222244211111221112211222222221144321221111111122133222112211122332111222211122221113355321113331233111333324421222233331221111111122111123311111221122122233111221221133211111133222122221332111111244222221221111332233221126663233332444422212223323313322211223355321133222112211122112211125532122111333111233133552111112233233211221332244331111113331114434421233112222123313321122111112442332113321122221111124422211112211111122133311122233332112212211111122222233312211112233211111112222111111224432333223322331111221111111122221123442553211244211133222122113321222222122111122144455112212211111112222112442233333112222111111111111221111223322331221123311332334411112212211221222233455332111111333552443222443466214442133211112211233112211233244422222334432332122133222111111111122223344211122233122443323313331221112211113331124433112222111122221111111221224443322221221221144421222442133323441221112211221111122111244211133311223323331122333244211111122221113333122222331122112222233111125533221122155434411114432443211111111222331221111111332223344211233111233332222212212331333552233113321111112212222333112211221111122112443311222331122112442111112213321111221111221122221223321111221221233122221111111122111112332344111122221112233211113333222331122221221221113321221112244423333332332212211221122133331133331111244442234411122333111122222211123313321122133211122221111122221122111222223311443212255442112331221111122111111111133322222344124421122112211122221122122111223322213331332222222223332211222553222122122124421122112233222111111233111123333322221111221222222333311221124421111111221122111111112212222122122111122113331111122222344144331112211222214442233111112222112222443222111112222123322133212213321111133212333322211221221234411111112211122133213333112222221122223321114432554322222124423331122122221144334411111111222331221221123322234412213344442333133211111122124421224434441233111111221111221111221123311111334411111111222222111221233221111221112211333221113322211111332112222443311221111222213322211443222344421111112212212332331122124422223322111111222211144321333313322222332112222122224432133222111233233112233213333244212212211122233112334432122233111221111111111233111333112442122111221112233331114432233222211332233122112331111133222233112222333312233211111111111333222211122332113321122221223321221334422222212211221223322212222122133441111111112233332211122122221221222332331112331244443322221123442233444442212255533311122112444421112222111222213321233122122122122111111122122221111111124555112222221244442112211111111222233334444334422211221333111113331123455332112233344223333111223322212331233111112222111233221111111111233221112213321221111222344122111122111221122233122112331233122222344112213321221122332111221155433133331221221113331124444212211113331122233111123311112222221111222222111221222212212442221235522344123442211122122233244211443312222332221221122122133222244413321112211111122111223323321113331111122111111122133211112332222113322212224421122122133211111334433124434412212331223355543322122111111122222222111221443222122113321112222332112442332122221221111111223321443311112211223331112222333233111112223311111122222331221111111122122122222212212211222214433122222213322211111133311221111112212223444442112445533222211221233244413333112222122111112211223321333312212222111221222212244322222233111233123442222114433223331233111444222112222221111222211111111334423312211111332222211112212224421222211222222111443333331234412442233133222222212331122122112211111233112222112222221554344211111111122111111233222444111124421221221332111221122112211111233112211112222111113321155433111111223335521111123311333311122222211112212442221111112211222233332211122332111113321114433111222212222122111111111332122222213321332222211111113323331222222122111112331111221123311234577222133211332122335553311333111112233331133442244553322333234422122221333312211113332211112211221111122111244411221111112331111111221112211332221111123311111221122111113331113333223333244211112222443212211111122122123312211222222113321221222222112214432122223322222221112211113335522331111111111332332124421133333325543331133233322122122111111221124421221133222122111113321123333211222211332111221221221333311112331111332222331225553222122122225544212442221443212213333111111221222211122221334552212331344423344133444233144321122221221122332112332222332111112355222133222221111233332233223355222111221113323321223321122133212212212233222111333222222221111222212211233221111222222113332211113331111111221233112211111122111122113331221111111222211244445533322133212211222233333211122111133332211122444222221122221112223311233221333333133211221111443333321222443311223344331123322111221221122222445522111221112344122113335533443213321443344111133311332111222442112442221233222212211222222111244211122111221111123322123323312211224444421222331111111111221112212212222122111122233111221112222111222333322222111122122332221122244332212211113331332112222332113321112233212334443312222221221112222222223311114433221122111112233212211221111111245553211111554421221122221221133331332111332112331224433324433144444433212222122334422221111244442133211112331221111133322123442213555511122332111111112331111122112211221222222113333222344112212222222444123311133331111111111222212212211112214432444466223311221124434551223321122122333112334434421223321332111112211122443344111443324422331111112332211112222112332331122221332221111133211111554321112211112211113333221122222212211114433122233111221122122233221111111223321122222222233221111122112211111332111222331112211333221221111112211124444411222212214442122111111111122111233111112211223321111233443311111111221111123311111111113321133322221111222211222211111112233441112211113331111332332333221221112211222442244212212211111221244212212442111112212211332221113331233111221111111111233333123466442333322333322133212212213322444312211222212224441233112444221111554333444355233331233221332222222112212355211112211233111224442221122333233123311111111122122111124433122122111111111111112222122223333111112212211111222212212331122123312211111111112223312332233233211233221114432333311123322221112211332332123311112233311111333222212222122333111122233112211111133312442221221133311332112233222133233443311233233111111221333221111111111133553322221111122123311111133212222111113321122112212233222112212211133234442212213322211222212333321332332221233112211112331221111111332122333122124433224433333233444421333322111111221335521233112233344221111111112444421113355333333222212331221222211221233221122221122221111233221111122111122133322111122112222122122112222222222224433233111122221111221112331112211112212223333233333311333122221122112211333312333321111122333312212211122111112331111122233112211221112211221222222111112212233331222331111113332211111111122112212212222443355233331221222212222111222211221111113321122111332111222212233211123322332122222211222211111111112223323324421113324432221111221122111114433552112222332233332221133311111221111112222122111111221221443344112212211335522233443311111221122111123322221112212211221133222122222213321112211235521221122222211112222443322114442112211112212212212211221124421221112331111122111111122122222211133442221222212222344433111221111133444221133331133223311112212213331222244344442221111222212442113366355531666432221112211111221133222122221111332122221111221333233111111111122112211334433111111332133311122111332122332332111332122111111111233111112344222211244212213322331222244344211233333311123553322125532111223333233114432111114433144321222442112222122112442332122122111221444431111111111113321112331111133211112443311111222444222211122112222111222212233331122122133212331221222211221221332122443213321123323312211233133211222211111221112211332111221111112331111112212211332112331221332111111112211333311122122111111122221122223331221133311122111111334413332332211133355542222223333663222123311332111112222111221222222111223332212222222213321221111111221124433112211221332334412212222112332222114432111111112222111133333332212211333311123441133222221221111112222123314433133444122111111221111112211233113344331111221111111112222223333221332112211111122112211333222211222223322223322222221133442113331221221221244212331111111112222122123311333314433441111335521114443442211122332222224444211111332114445532244331111233111224466643222223333144422212212211111111111122233112212211122221112223322111111133233211221122221221221233133211111112211112223313344442111221111111122112214432221332112233311122443222112211112222133211112212233332443311133442112332331111222211111221222331111333322111111111221122111112222221112222222211111333322112233211222211233221111133332211443331122122112444111221111111443233211222444422444422212222111111221122122221221111111112331122122112224421221133333321122111123441221122111333133555558832112223441133233311113321332111112444421111111122233233221112233663331112211123312233211112222122123333211123323333212332211122221112222122133211111111244422111111112331112222112233211111112212211221221113331333311122222211122221112233445661221122111221112222221113333114432221123312333331123552443333331112222223333223344122122222331111122112211123322333221111222211111222331144322222443442222211233244233212344122123311221111111233332221221111112331122113331122221112214442221112211222224442222123311221221334433122255333111133211221122111122122122124442233222112332233322221112211334411112211112212212212223312211112211112442111111111233221223333221112212333322222111233221133322123323441233111221221122333111112212355211233111221221112213322233222221233111332122112223313321222222111133333222111233333332123322221122111144321333122223321111333221111221111233221221333312233311123312225552222212211221133331221112222115544212211111111111235521123311144331222222222222222211221223321122222224421114432332111133212211111122221122222223322122122124441112213322213344331111122222222112211222255543312211333111223322333332331244211144322331111122112211222212211221111222333321222222112211111221123311332222442111122221221123311111221223321111112332333321133311221111221123441112211112553211221233223322212211112444442331112211333222233213331112222223333244331222211111111112211111122244211221123311122332112331122222211111111111233112222221112233322224432111123553324422442333311221113334413333133224422213333122111122111222223333213321112212211122113321221112233322233122221111122111112212222221222222332113331332122221332111111221111444211223321111133312331112212223311144321133222111333223321144332222111332332111111122233122113322222221112211244233333312211111112442235521221222222334422211222211133323333442112224423322212331111111332133355233212224421222211221244233222112211244233223311122332111333312211111223332211122112211113321222344112211111111133331221124444211222443313332211112222111112331223323321443324441122111221112211112442222213321111221111111221133212233331111111122333111222212442111332111333221221111222212333331111111222211111111221235533111111133331111221111122111123333222332133332442122332111112442221111333221111111113321222211112211221244233331123323312222111233222211443331111222333321112212233222112233211123312212222221122221111221332222222554433221221332244212211244212332211333112211221111113334551222211122111111111122122111112211122222222111122222331332221122233111221221112212442221112222223321111111111111221223321113321111122113321111332111122222211122221233111111122122221123311333221333322122122111111221221113333333222222112355344111111133222221332122124421221112331122112212223333233211113332211111233122111112233233331221332122223322211332111221112213344222111221122221332133323322112212222122223334411111112222333112222133212212222122111122223321223321122221233111111111133211124441111234411122122123311122112214433233123322111135553312331334441113321221255532222122111123313332331111111224434441112212222344433111221222244321221122122221224444311332221111233333221221122333221111221111233111221112212211223331122123313322211112222111221122111113322211113321124422222113331221111113322213333111111222443322223333322212211122112223313355211234422233122111124422211222222233333112211221111112223312211111332123322221233111122112211233133332332211222244422212213321111221221112211122111244442222222222222144321221111133331222211221111222212212211222211111222331111122111444412222111122111223332211124421332123323311112222122111111223331221122332224433312211133211333122221114442221111333111122111122122112213322211444331122221111333312222123442553212332211111111111333313323321223322212223312666321233111111133311111221122112331122122222222333311221122133222222211222212211222211222213321112214432221112331122111111332122223322211111112442111221111111221221111333312233244422344222212442112211122111221122122111111122112211244233222122221122222211222211333311112222221111113321112444222211111122112212222113321123455112211332122122222212222333311133331113322212331122233244222332221122233221122133211122221221111233554433334433311111111111124421333221112211123441222344111112213321111332111111221332122111221221332222211111221222212331332233111133222123312222123333222111112213344422221221221221111122112331122112222111222233223312213324432221444344221112332344221123326643212211125555223333122112224441133331122111112211133211332133211221233221111111111333333311222211122123311221111221124421111333133377774455521332222211111124444552211221123442442233122111111334422133322111111111244331222213321111111221222212222111111221221333312211221222222221111122221224444444442255321113322211112331221112332553553313321112211332221221244211221112442112212211234411133233442122133222112333322233312223311221443344233133222115544411221133222112331114432122111122233133322333221113322213321124421122221111221112211221221114432111444413333122333322122222211122221233111112212211111112222123333442111111111113322233211233333111111122333244333322223311111222553211122112233322111111221111112212211133222111133322333332111221122122111122222213335521111111133212211111122222212211233114442334421113321221221111112212233223311133213321222211112211334441222211111112212222133222221222223322122222233444311223344112211133442111221133332222112211122221111112211111112211111123312331111112211122111221333113331222331233122332111122333333442112211122333441112233311111122222233355332211221113321111112332331111244212222111133322332111221332111554444331244211111111222442113333111111122221244213322222111112233224444212331133211112331133211133344221112233331233111111221224433123311113322223312233444442211112331222222444211221111133222112211111222212211112331221111111111122123322112444125532113331122222332331111122122122221111111222212442122222233211333111222212211123311221112211221112211221221222212331111111332332111111111221221233113321233111113322444133344112214432111332222222122221233221111111221233133331221233111122111233111123311122221113331112213321244211112211333333221122122221332111221122221222212212223311221111336632122112211114432122333221111133444444332233322333311221111111222222123311111123323311443222222223311113321111122333455222244331223322331332113323332211134444112212212212222111223322331334441221111113333122222222333488433333442112331111113321144332212222333323322111122112222122122122122333333441223322222221222213321112212211112222122244411222222123311112211123322122122114432122111221332133442221221334421111222211122122111122221333221122221221332122122221122233123441111111133213322212222222233552224433312442111221333334422125533221122112211244223312211111332332122221113344113334411122221122111111111221222211122111234444433221112212222112212222112331221222213322223774321222212211334412331221113333111233221233111111221111112212222223344211333322244211122222212233212211112212212444441111221122221111111222233213321122333332221112443311444311332234411221221123312211113322332331113321122222222133211333221111122133214432443331332111111112211113331333233223333111332111332333122221124423321111111114442111122122133311111111133553323322111113333111221122222211124421111233221221221221122244233222233111111221221111112211111122221123442223334442123344433122111221222211112222221112222221222212211113331111221223321123366554223322223334422111133311111122111112211221222212442111221222222111111111221122332111222331333221221225543332332222112211221111111222211112211221222222221111114442111333222223322112212331222212222122221113334551332111122122333332111221332114432111111112331334421122113322212222123311111222222233112222112211111221111111122111221111133213321111221221111112332222222233322244212222122222222234411123311221222233311233112223312211221122113331111333552111333111111332221221133222111122233221122111112211111113333122122122111113322222334411221122233344421333333122112233311332222211122234552211111221233111111111112211111133444421222222222222111222212214442123311244211223344211111111221122111111111112211111122112331222211111111111111221224433322111113322211124433222222111221123311222211113321111122332124421122333111112211221111333111122111233443311111111113322233225532122122221111113321233111124421133331221113333222211221122111111221133222111112444421111333552112212244333122332222553233222122111122122222442221223333443211111111111122122122111111111133222332122111222444221122221111233222211333122122111122133211123344332222111111221221111112211133212212332344122221112223322111334421111222333322332211124433112211122111123333212214433442211112212211333311111111233112211122244412223311111133211111332122122233335533444313331221443331221334441244211221221111111111112223311223322211111333311233332111234411111112212331111111112331133214444433111112212211122223334411233335533112332213322211233123323311221122233133332222221112331221112211233222213366433111221122111124422223312212222221122112444111122112331112211122112211112222122111111112222221111222211123441123311111332111111111333133333344233122223322223324421332111122222331221111555522211221333223333233112222122112214432111221221332133322233111111222212211332122111123311221111443441144422222111221221133211122332221221332111111222211111122333111112222122112222122111111111122332111221133211122221111124422212211111111122221111122223333333111112553222222212211122221112222111112222122133244332212222111133311111111244211111233244332222133311111233111111122111122133332222111111133344113321122221122112211221112222111111333111112222133443441333333222221112331111221123311333322221133331233111333111332114445511222344223323322211332233122334433442122222222112444433133211222222233123312331112222233222211112331123441122111111111221221332221112222111123455221222211221233133211332221112442112223552222331221111122221111333311122221112211133323312211112223333331112222333111332122221112211221221222331222366321133312553222111112222113321124433122111111222332212331111222211221133233222123333222112222443331221332122112222221221221112222222331111112331233221122221221113324436662332122122123311221123311111112222221111233124422211111221233122133332223311124443336633112344244355444122221221112211222211122111111133332442111221112211122111111111111221221233111221111332123311333111222331111133324422211111111233112211443211112212213335522355332222122332221122113322211111221112214434551244442111111122332133355211144321221111111111332111111222211111111233122244211123312331333221122122123311223344112222122111111332111111123333211332333122122111221112222111222331111123322222211112212222332113321122111221233112211111116654321332111221111233444444133233441222212212211133344344113344411122112211332111221123322111244411122444222334455221221233111122221122111444331133222111111112331244551112211122111112212222112331221122221111111122123313332233311112442221221113322211123311332221111113321221111133222122222213321332111111112223324442222111111332111111221122124423444211122111112212211221122221224432221221233332112211112211123442211122111122123311221221332221111112222111112223663332223323312222133377433122244412211222331122111222222222333344332332355211111123333213333112212331111112233311221111122222344133313332211221122222222111221111133331222331222211122111221122111112212212211221112331234411111123311123323323311221332113344123313331221233112442222443324422233322111112222122332112211332222222333311112331122111112222122111112212222111111112222123311122133212222144421111111332332144322212332211112211111123322111112444222212211112212442122122111334421112211111221112223311112213333221443553212332233322221112211111122333311133331221111221133552111111122133223311222224421221221122111112211222331112212233211332223321112222221133331233122223321133211223344221112222113333111112211112222122122133331222244421123312223311222212444122222222111112212331222332211133553312212222126643331222233331221122122111122111112211112211332222211122112211222222122222211112222221222222123442233211221123311112331112211111122221223333112222155432221332222222233112222122221332332333322111112224434411221123323311333311123333212212211111111221112233211111111111126643222112212213334662111122124421112222221122112442133214442112331235533111112212222133311111112211111122112211221112214432112331222212212211112664444331133313322212331333323311221133212332211221111233122111112333323322222112211122222212332332223323312212355211123322223321221334411122111111111221122123313322213322332212212331111133222222213322442233222222111111222244322211221221333444442111221222222333122332222223311111333441111111222211112233333322233332211244331244222113322222111122122133212211233123322112211112222122111112222332333