33211111221123311221111225543442443211221112332223322233112211112222122112213322331233113333112442332112331123322112222122122122111221332336643222333311221111111221244332212332233312212212222255331112212212331233112212222111221111233111221122122122112212211133211111133222112443312442111221122122133312233212211112222111111111222222111111111111221334421223323322211123552122233233221112211122133233344255344332443441122111233111112332442122221122221113321112233331111122111111221111112213321333333113322212222113322222111111443211334552222111223321111111221111221332123322111111112212233441111332122111112211221111221223321111111332122113332211222222221111111111334441113323344332211112222122111233144333113333111223334422111222211111122122111443443322212331111221122443332331111112211244222255321111133313321122222222223333122244211221133212211122443233312212331111112211222211133311233113331111123312233333222112213332211111233112212212222113321133211133212212332211112211221223322211332111222211221113321221112211122111111332233113321111111111222211122122122112222111221111123312233211112211222211111122221124422211224442221111111122133211332133323311123322112211111221222211222211333322222244421221122333311122233122111112211222212211122112442221111111122221122221123322221133311233111244422233133311222555442122222331111111221233111233111112223312331222233311112211111221222233322333312222221111221222222332111222222244355211112331124433221111334434552224421221111221133332344122355521112222223321111122111111334421111133442221111111122443444441112331222233331122111112331122122221112222221111111112553312213323321111255321111233221122111221111112222122222211122122332122112211122222222111111111122122111112211112211111221111122235521111222211111244222112333333333311133331111122233221222331133332442112211112233211222211112233332211111111222233312222113321221133311334422122112222122111221221122111333311111123442444666433223321111134442222442111111111222212211122111122122221111332111221221443442123322122221221111111111111123441133212211222222111222332211111123322111221123311122112333321333221113322211113321112222233112212222122333111125532112211221224433133553212222133332331222222112211221332222211111144421111122244355332211233123313331277543445512211222212212213321222211332133332222113355222122244222122333332133344233222211111111221111122221112223312222112331111122122111333311222222112211122111244422112233211332111344421221111123311233111111233111111111111122123322222444333312331112332212211244212214435533233123322333221111111233221122334421443331111221333334421111224434421244212334432124422332331112222122222332222111122112333321111221111222211122112211222233222221122111122133312213333122333313331111333311113323321133322334422112233223311112212222122111221224433311112332212212211221111112211113444211222331333322221221221111123444442122122122111333122112222111221122111133222111122233122133233442114432122111111333113344233223311221112331112211333322112442112211111133311222211222212444422332211221111221221122112344221122112331233133332222224444442212211111122333333333222222244344332222111332221111111244222112331222211111133311222211244222122221113321233223321111111113333144321122112332212211111122221112345511122111122443311334424432122244344221221332443211111223331111122332122122111222223322333122221221122112222122122111111111333112222111122111112222133211222211244331112211334411244331233222212335544422122123312212223311333111221111111335524432112212213322211112331112223311333312244433144321221221221112211133222222211233234551221222331111123552122112211122133222221122221111332144333321233221123312222112211221244444113331111122111112222122144444133331111111221111221112222122111223331224432222222244411233113322331234411144331113332211112224433133331112211111112222221332111443333321222244321122112213322211112212331221111112222332122111111111221221111244566112233311122221111111222211113334423312222332112211122221443322332122112233442221123311222213321223322211122222212211111111113388544332211122244211223332211111114434423312211112211123441332332122244222222222333311221122111113333122112211223332222112212553211112212212211221122111221333666611112222123322332111133211221332111112223442332222222211111222211122122221122233111111112222222211111333311111221221111443222122221111443311112212212211222213335521111222213322244331112223313344331112211124433222442255333221222222112212344112333344211111111221112222334422222222211111221332122122221221113344211443222111221221222211111111122221111221133222111111111221115555311333322222223311111233233221222332211224433466632444111332332222442112211122112442111221233111133553332222111222222124421111133211122444222221111222233211122133311221244233552111221123552221111111233122221222211112344133322221221111111221112211111122234422144421113333123313333122221114432111112211111334412332212333331221111111221112211332122111111222211122333312444433111111111235522211221333233221122122333441221144333122111111332344442442122112212211111221111122113333333442211222211221221235533133222112222112244321123312211221112211112211111332221333221222211122221122111221122222332222133442111111111334421122111111111122221221114447734422211112222111112331221222212222111122122111233221133211222212213332212211124421122112211123311122122122111111221333221221122111221122122236633311222211124421221111111111122444411124423322222144321112213331133332211133442124433111111223321111223331222211123322221111334422112222122332111221222443322233122122122222213321122111113323333123312331333333313355333333244331111332111124433111112211224433122111133332211122233222211111122111112212332331221111122221222213344331113333111224433333222111222211233233111114433235533233111112222112213331223321112331443212212211333333323311112443311221111221112213323333233111111334411112211111221221124444211111123441221222224433122111123312223322221112331122133444113322222221233111112211221233112211133224441111122113321133222221334422213321122111221333221111122112222122111221123322112211122122555333233111221223322211221111122111122122122144444124433222212233212233212211111122233112224421111333322113321334433333311222211332122111221111122111221111123323311113321111111444222123311221113331122112211111233221111122111111111122122122222332213322331221222213333125533552112211122221133222122133211332112212222221122112213333122222212212211112442122111111122111332155433322221111111111221112333322211113321223333344233332211112211233333221111111111221112211333111111111111122114433312211233113321221221111244211221222332211111233333133222222211124421233122123441122111223331111111112212211111221133222221222211111112211233221244422221332221332233111122111111123663312211233222212211112211111222211112223322222222221112212211111221222213321112333331233233112211222211123322334433211334433122113323323321111221112223311221133332233211222331222332213333332112222112332442122122111333123311233111222213333123311111332221111221111221221222211221111332111133355331122222222222222111111223322212332211112211111112443312222244213321112211122111443211111113321113332255532122111222212211221223331113333122222212222444412233211233112213333322331332122122222212211221222222222331123441333221244212222122333122221144331332111221111233122111122112222111221223321111122133212222222211221122123311122112222554333444551221111332111222222221112211234412442112213322213344431112211123441222211111333322111223333221111221133212332331221111332133331111332244211113333122122221124421222222123311221112211332221122111333325532332221222212211332122122222212213323322212211332111221112222112213321122112244444123311111111111111122112211233244433325544442221111112212222122122122222233312442122122122332332111122112233222111111112211111443311112211111133213333111332222211112213331111112211111111122222222222442111111221122111233113321111332233221111334441112211111233233111333441221222212666331255521122111133313322212233211222331112212332211122111222212225533442553331221111124421221221222213334411112222133222221122221222211233111222222111122112211133333323321123311111332554332211122222222221443442111122221111124422233331221133211332221333111111122112331111122123311122122122111122113321111332234411123323441221111133333325532112331112211221111111123322112224422211221122222223312355442111133234441333333222111222222333312332212211112222332221114432123312211221111221332123311122133222222332332233313322332212211111122333322332112331122222332366322211221244211122122333111113333122122123311111111112222111112211112211221122122112331122221112211122133211111221133311111112211333663211122111222213321222211111113321111332111123441222222221222222333111122122221112331221122122123333213444333313321124444332212211111233111111112222111111221222211233222211444212223312222221124421113321122221112212211233333111122221221111112213331112222111133323313331333333322133211112211332111122122112222111443444111221221244222122112222221223321221111112212213333113321221221221222211221111332122333311111133311111221223344122234411111222223324433444442221443311221112212222222212222112212212212211222211122123333331221223322213322211222211112331221122221221112332222111235533112222223333222233233211111222211111244442234422111221334422233366344212222221111233233112222113344133212223322113344222333321221111123344333333552111124421111233111221221222331113322211111221113321554322212366621111332332111112222221144422332233311133211133213321122111112211233111222212332223333331222211112331112211111111332332223322331122332112212222112355211111122233222212223312332212442111112213321114433332332113333123312212222221112331221112211133212223311223321111111111222355211112344111112212442112212553311333221133212331112211122111111221111111221133213321111233221233111112332331221133311221112211133233323441222211133211111111112222244212222111222332222221222233233323322111122111123455221112211112244321221332233112244322211221111221221123441244222112211222555222221221111122332244233214443441111113321111333333331255344335555322332213331221133442234411111112233222223333221332111221111133211221111333322221112211122221112211111112443455112233222332221332112332222333322133225532111112331223334411332122221223323321111133312213331221123311122112224421112212233222112224421112222122244422122112331122332122122122333111111112331222222222211222212222332111122122111111221123312214442444223312443322222211112211122111234433211111122221221111111111221332122133322133222123311112223311221222211224433441113321221111221133233211223322211122111332112553211112331122233112331133223552111111112442221235533112224422224422443311221333457771332125553311221221122111111332111111144333111233133323322111221111113321221222212331221221111335552222212212212211144323322211133442332222211233111221221221133332223311111111122124421111112211221111111221222212213332211122122233112211123311111111112212211111133311221221222211221111443332222113322211122332111112255443322333311443331221122221112211111111112211111112212211221122222211221221111111111111111133322222211133222111244222222222133212233222233112224422211221133311122113324442122222222221221122122222442111111244233222111224432122222211122122111111122112212442111111221221221222233214432111112211443332211112211221111133312222122222211222226644212222111111443222233111333311233112212222112222111221221111332122233112442133211112332211123311113322211112223322233113344233332221221122111111112331122222211123553322222331111221122122221443212222222211144421221111112443333212211332123333222113321233222222122222442144321111112331221221112211111332112444111122122221333155533323441111111225543311113322331111111111113322223312222112212212211333233124433221133311221111111111221443311111221122111443212211113333111111111222213331111111111221111111111333123313321122112222332112233212211111221133224433111122221133211111133332222222211224433112212211123312211125533111133233312211122122244344113321112213322331111111112331221443312213331233123333214432122333323311111233122111122122112222112212213332255433311133322111111221133332222111111112211112444421112222221223321112222221221332112331113321111234411244211133222222211133212331332221222213332233311122233233114432124421222212214432221344413333344444444211222213322211221221112244444412212211113321221333553323311111111122221111111222244321233123333322111111333333442122221223333443211122111221111221221221122111111234412442221111332244212211123442211111111133333331113335551221111111233111122221221111333122111221111222222133244333321221332133212212332212212233212211444412222113332211122111221112211114432122111221123322111111244222133311113331122222211122221222331123311221221111333333222213321222223312222333221123311111111112212212211133212233211122333322122222222122112211122221221221443311111332144333233113322212444423331122221222222222233212211221221111221122332255322211111221122144322332222113322211122122122111133331221113333111221111133212222222233233233222111133344111111334423321111333311112331221222223441221111122111111234411113355321111221222443663211255331223321111222233331111111122221111221112212255432111221133222221333311122111221114442144323321111133332211222222112222122221123312331222222122222211332111122122111222211222331144321221221111124433233122111122122111112211122111221333322222211113333114432122122123322113322211111122112211221111221222334434444344221112331111123322222212211111133222112222221332122122112331221112553322122122221112211111111222331233223331221244333323321122122111221122111221111112211111111233221222332211111221224444221112366322211111112222222211112211111112344221122222442222331122111122122222212222221111221222222122122122111221122122122111123314433111233122223321133211332112212233441111222331113332211333233233111233333311111234411334443122233111122123311112211123322111223322211221111112222112223322333122112214433111332113321222222221222331122332112213355211122112211122111122221111221112331122221233123441222212212211233111122122113332211333233133664331233122111122233222223314432222211113345533333211332332333111222211223323321122133212222133311122111111244555212222111112211222211112224444233322221332222211235544222233233111112211133331221221122221222211114432111221111332333221111333322122111233233222222122233332333311112222221333322332111221113321443331122221221111111221111112222444222221111111222233211111122111221122123311111221333312222122222331221122332112442223322222221221221221144321111221221221122255331222222123311244213333113321111244355334432123313322331122332222222112331222333321122111112223312344111221113321112222112212212344112332213321222222122333333112222221233222211222211112331133212212445533332112222112211111221221122112331122122222366321112222112212211133213323333222211113321334421111124443321222222332122122114432124421221144321221122224433322111111332222213321122112222112331333111233122111113321221111234412222111113333112211233123312442111223334411111155442111221123324421122123313333123441112332211221112331122233122221233221122111244433331111222211221133443311111112211111221112212211111122122222212212222122122133222122112211111133311112233212442332144321111333123311111112211222443311112212212233222111221221222211111222211233221111111221233122221333322155442111112553222111111122111122111111112222444211112211221334422233311111222222111111123442214432221111233333112211122112332344222331221112211111111144321221111122222211112335543233441222233212213331221221111122111133222333323441111112222221111233111112223488433332221111133331122112211122122112244332211113321112211222211133211222244321112211111111123322113321133222333334423313331221334662332111222213322332333333112223311111111122133555677221221113331222212212222112212211122233221332222222111332111333221221221122444331111133333333111111122221111112222112211221133223312211122332122221222212213323322212211122221332234551223321122222211133322133311122111222211111221233233223332233441222222122111111221111233221233332111111233111222442122111222331233122244222122111111113333123312332211144333222211111155442112222233221122221233221133331112212213321221111221111233111133222111221133332212222122111332122222211111133332222133344221122122233122133332224421111111111112222112211111122122122111122221133322112212211111112211244233366333123311222332212211111233222222222222113331221111332111122222233212445511111221222442111111113321244211122111111332122123311111111112211222211112211111122222212331111222222122333322122111111112211111222222122113332223323311112212332222222222112225532122133333321113332223322233223332212211222233344332222111111221221233223333111122221223366321112212222111113333122111221111221111112211113355322212212211111222211133223333331122111123323311123322221122221133311221124421133222233221133555222111233122222331332332221111113331332244412331122114443234412211332111444222111123324441133442233212212212222221112212211221112211122255321122332111221111133331222222111122333333312211133211233111122113333443552221111144332212332211122133214443324441222222122233221221122112222122133312223442442233221334421122122114432221333111111123311112222111112443311332122221111111112331122111333322335522211332122122111333312212222122122122123312233331111111333122111122111111133311122122221111111111111111122122112331224434421233443331221111221112222123312213321122233111122111112344111223355333112333321113322213321111221221221111111112211222222221221222332213322211122222331122122123311221111233122112211123333222554331123312223322122122221333111332244212211113321222211111112212223313332212211222212211122112445511221133332211221122334433111122244222123313321112233222133222113331221221123663212222113321122222222123313331221122112211333111122112222111221233332122332111221123443322212443322244222122114433133222133322113344212442112211221111111111332333222214442122122111332222212224421111111111122112222112233355211221332111221111332111333113321221111111112344133222221133211111122244211221122113322212213321122123312442112212212212213322212331221111221234412212211122113323321133211122221122123333213321112211233111222332212211221221122244412224433333441111111221112212222111332112211112332331221111221111221221124444433211111222331222211112213344412222111144432223477344244212212233331111113332222221112222221221221222222221111221112331221112211133222333111111333442355222112211221122111333311221221112222111122112211332133332233331221122221111111223333111122112222112211133212222222212222233233233122334466222221221112212331221332112212211332221112211333442212222112211112211112211222213323323334551111111222222111111122112213322443311133322111111111112331223321113321111122111111332122333312211112211111111122333122111133211111221111111111122133331221122122233122111125533312553312211222331111111233234412212344443313331244331233122166644211113331111223323333224432244411332122122123312233211221222211112212331221222223312211222211112212222111123311332133233442111233111333312222222211111133311113321111221122112211122221233122122122122223321221113323321222442221111122443311122222211133213332212222123323311133312331122222222332221244222112331221111111155434421122111112211122122222213321112222111122111221333122221111113323321111112213321111113321333312211443311133211111222331122112211444211332111122221244411221123311111111221222222122111111113321221133222221332233244224433112212222111111222233322111332124421111112211133222112333322211144321111111122233111115543332214432112211122111122221112224421221133355222112212442221112222332122223334422111221221222213321554322244321122133442213322442112222111122221112233212211233111221111111111332221122122122332111112212222144321112331221133211133222111222331122112344111113321333111221222223344323321221122443322332223322212211111113331221112222112223311113331221222212222112233331222442123323441111111133322111111244222122221122233222224422222111112212331221111222443333442122111111111122111122122222212211222233322111333221221113344211133333322211112212211133312553212212222111332122111122111111112223322333322122221111233221332222211333322333111233122111113344332221133311221332133313321112224421112222332122133442111111122221112211122111122221113321111221333123311112212224442211124433133211222212213321222211332222212222221332112553213321112442111122111123311111133211123322111144321112211122122122122233123311122221221112212211221221222222111222331122114444421221113321111112211221111111113355321233333311133312222111236632233123312212212331244211222212211221223331111111221221111122233112224422211112222122221112211111112355442443344111332123333211111222223442222111111443332211221112222122122221111112332213331112211112212222122221221122112211122111334421111233334433222111332112211233111221123322122111244412211122111221112223312211111111221222332212222221332333221111332221332222223311333244412331221122233111223333332221111221222344123311222211111111111112233222221233122122333111111111133441221112211221222212212332442112212211123322221111122234411221222331222222332222222111112211122111124421112222112212222111222222122124421122223323333221223321221255333111122221111122221112222112442122221133211244211222211111123312211111112331112442111333122123322112211122111223332222554321122122221111113355321111333441112331111333221223333122111122133322124441111222222221112211221122111111333112211332222212212212222233122112211111111224442332123311122233112211111221332333332333313355211221123322222222333244443323311122122332111111111122112233212211111114442111222223322221221122123313333222222122111222211144344111122111133311443213321111111222233233211112222122332113334412211233111122221112212211233112222122112211222211122111112233213322211221123322332122111122111125533233222332222122221233244432344233221244212211233221111111222212212442222211111111222222112211122112211112211244332222111333322122333665552233223333332122111233112214442443322221223344214433312211112224421221332111111112211111122111122221221233111221111122221221221122112222244443311111111222211122221221334455332211111222222111221233111111111333112223312211111111111112344221233111122221111255333221133233311222331233112223344333133222112222122113321133222111221221122112222233122111221111111111233112212344332222211234551123323311221124421112211443211222222334411133211221111122112344332111221122122233122111333111443313321122111233111332332113322222122123311111233223322331113331111133333331112211332222211221122221233221222233211112331113321221221122221111334421233122111111123322122111113321122221111332111233133311133322333111111221144423333113324443344333222211133212222122111444444334421221221222211113344332332233323313344122122111222233333444111111111111111122111222211333122111112212443441122221221111122111112222111111122111111111111112211221111122221122221111112222222442112332233211222211111111123311112222221221112222111111112222111443211112223312211112223322124421221111122222211333133222111122111112211233221112331222212222111244433332233331133332211111111112211122111112211112222222211222222133211221123311222222111221113321112211111221244211221244222111233221221111233133442111111222331112212233322112211111111133233312211333123324421111233144444443311112212222221123311111111222212223552111222212211332112331112211122112211112442113323321122111233234455433322221122221223344221221221112212211221221111221111113332212333321111123441111122233221122222211112211221113333344444212222112211111112331122112222111112211233111112211221111111221111222211221111111333322111133332213333222332211233122111111122221111221122122334433233111123322124422212212211122222211111111122111222224421133331122122221223331111111221111222223311221122111122122122111332222233211222234443311334566111122111112332224423321111233144322222122221111122221133311333322122122113332211221112222222331443322111222345511111111112211122222233312212225532111133332211234422122113345511221122111221122222366321332233332112222111111111111223444212211122123312331332111113333133211112212211112332211221222222223335533122122144321111133222133355211111222223442222122221111111113331111443322112332211113344225533312233211122221111221122332112244331122233444211124421122112223322112211221122111222211112233331111122111122111333122111222212212233223313321332233122112213333321221123441111122122233111233332112211113321112213332222233111112442111332233111111133211111133331112233323663213333221111122122222223441111122443332211355533221221233112211122122233224442111221111111122221111112233211222213321122222211111221221122222332211111333332112212442111233112331111111332111112222112553322222442122112211223321221114433323311221113321221111112211221111222211222212331112331111112211333443211332221222344221335553322111113322211111122112233311111112212222221233111111144422442123312211111112222221122112222112331111244344111223331122221111111111332111222233331221223331133211332111123311223331122111133211221122113344124422211133222144321221233112211222212233211111113322553344122223333266434421123322221122111122221112344122112331122111111221111223333122233221122111112211133333322211122112222221233221122111444422443212211122222331122111221221112332222133331221122111122221112213333111122112211222211334421443333331334433221222211221222222221113334422221113322211112212212331221122112331233332122222222333133444124441144331111221221111122111112212222111133213333333221124421221111122111221222344133211133211112222111133211221111122123323311221221221332125552122222212332213321124423321112211122123312214433312331122112223312233222111233124444211221122112212212222221221244212331116664423344111111111112233331123313444332112344133223323312211221222222113334551111255344211122233133211111122333466443311334422122122133211111111133211333112212223313332233222221222334433111122221133442133311133211221111221111233332224432111122233122332111111112212211221221332221122122221221332334421221221221122221233221112222111122221111122111111144331221221111233122332113323321221221223334412332222443211111233133212331111221111122221221111333111123311111221221221122332554332331112233331244355512344122123311222344111222212211122333552122222212332212222122122222444122221111233222233312213333221332111133222111223355522221122111112344233221222222222211122221122233111122222212442222211332112222111332124433221222211221123311111112222122233332111111112211221123311112212211223332211332111133311221112212442111112212222133311444212444332223331113321123333445532221124444211113323377434421112332222112211112213331122111332221124421112233211122233133331233234412222111122111221122221122112331122112222113321111123441332133211244331111144333122122111333311221124421221113333123312222113332212211221221222212212222111111223321111111224432144321332111221112211222214433111111112211133211112233211122222211223331122233233233221122112222122222222222212211221111221222222111124422331221112211125533312223312211113332211223321111122122111221221133233211332122122111122221123312212222111222211221221124421221333332111443212331122112222112222112212212212212332222443212212222244211233112233212222122122332122111111122221221122122221221112211221233233122222212212331221133212213322211221133313322211111221111123441112211111133212212212211233113333112332211114433221222344113321111255332211112211123442223312223322133222221111112211221222332331111112222122123311222212224421111133211221124421244413344222222111222442112211223331111443442111111221112222111221333113335543212213321123312222221222222221244212212212222333221111221111111111112233322111111122111122244211122122112222122112211122244212442233221122222222221113355332211122122112212233331122122112233211144344423313334411111233332133222111112331111112211244211111233221122222212211221133214433122133332332233331112211122221133331112355233222333111133333332222443233213331111122123311221133311222211112222112222233221111244222111111221122111233221233223321222223322122221111221112331221221122111111244211221111111133311133331332113344422244332212222233122112211124433111221111111225553213321122111155433144331221111221113322332222222211122111222331112331113333333333122222223311112233331221223332344111221123322221112211122133211122111233111111223355344244211123322221221124433144433112222112211111133312211111133442221124422211111122111222233212224422222111124441112211112211234551222442233122133233444221122112211111221111332221111222212212213333111333223321222222122113321222331333111122122122111111111334551221221112211112233323322222211221111111111111221112222111334421111124423322233344111222233212211221112223311123311233244222114442233222223312212331124444211133213333133312211111122112224421111221111122133312222332221122244223322111221111111112444556611111112222111221223333321221122222211221334423355222223322212331233112222233111113321122113322331112222222222222213333122111221111112213322211111221112211112212442111221221111333222211233332222211112212211111111222222122111122233111122112224421222223322122122114442221122122223321122222211133211122111111113333221221111332111111122113322442221233112331112222233111221123333212211221443211111223332331111221122111221111124423332331222224421111333122222333321332124422553222111233155442255323331223333133322144466432111222244323333233222244333122221222211122123311133213331113323321111111122111443331123312212344144321335521113332222123323552122123311222223322111333313344222222211133333331112233312332211333333332222221122222211221124421255322222124421111122221221111122223321111224433221112331111111122332111112331233122122122111221112233322111244211332111122112444112213324433124423355212211122111122111333311122113321221112211122221233111133311124433111112212444111112213331123552112331222211112333332222112222221222333321244212332222332221122133312224421222222111233144321122444212344332111111233111112211221233122122122332112211123355534411122111111111221221221112211111112211222222221144322222112333333221125532221111333233244223313333222331222212212331111111111122111221122111222331122111223322233332211112212212222113344412211222211112211113333223331133211133233212332211221221221333111112442112222221111111122333441123312212211221122112244444233211333314432222332212222223331222333321112212222112244333112211223321111111122233112211222222111221244443324441133355244444331111111122111122133442122113334662122233233233122222222122111133332211122111233221112442222212211123312211332111221221233112331333311111223344212211223321111221222442112212233225532112442112244332331122554322442111122111333222222111111111221221223322211112444122221335521112222244332211221222344221111221111233123323311133444422233213322222332222222233221333111221111124441122122111221112211111221332111122112211244332211112233222221221332235533221133312212222221112211221222211111222555222122111111222212211122221221124421112212443323312211113322211233112233212211112442112331113331111111221133333213322222111222223323311122334421221233123311133244355212222122221112224441233111113322212222122111111113321111332112553211221111221133213332211221221221111113333112442122111244212212211221332111123311111122222222133312212331233122111111111122221333111111111122112222111111111111122124421111111221111244212212211112212212212223311122443222333311221221114432221111114444423344344211332114444442222332133222113322211122122134442112222332221111233233122122111122123313321333333112222233244212212222122111221233133322122111111111133443312211111122122333311221223321112224433221122223321221221223331222213335521111112212212332211222234444244211112222124441133212233331111111122112212355212331112442334441222331222211332234433666212332212211332122122221122222213344221233111112212233212211344433222442244212211333133322122221112553222332221111133233331123311111122133442113321332111123311222233322111111112211113331332111133333321113332331221122221122222222222211123311111112212222122244222114442222222221111112222221221221221122122222211112211332111221332111133212222122112223311111111223333122332221111111221122112222221133552224432224433311332221133212211221112332331122111112213322222133211332111222213344233441222211221221221221114432221233244222332111122221111221122122221111222211221122221122332332122222211144333443333331333123311221122122111111133443333133331112211133322133441112213331333322221221111111222442111111111221112331111332223344422111122222211222222133331222213333221332111221221111111112222111221111111221133442111332244431122111126643212211111122112211112223322112212211111222344332133323312331233112442111111221122111221111221111123322122111234412222122133332212225532222355212211133445534421111221111122221221221111111111122221111221234422221333111332222211122122233122112222233221122112213333112443311122122332122122221333112212222244442111221122124433221332123322111221111233234422111114442222213333223323321122113331111122122222211111221221221111111221112332331111111112211122144323366321221221221133233333211112212212344222211124421111333133322111221233113322244322211333122123311112222233122112331111111221221111124421111133322222211221221223323332331332122122111122221221111234413333333122111113321122122233122133211122221112212211122222332211111222331222211133222111112233233211244212664321111221222211133322112222222212211122221111221111111333233111122111332111133331111221222233211332222211443331111221122111224434412222122233113333112213322211111233223322211122112213331221443212212211122122133322112331112211222212222233221233125533322244222111222223322122222212213323333221222331122222222122113322211112331111111123312223311112211111122133211332233113322211112211112223311122221122332122122133442133312211112222233122222222221221233111122221111554431133331123311221122123333211333122111111221122221244366324433333311123333211221111111221111222222111233112222221122332332122111111112244323322222233113322222144433122122122255522553211222222221122221223344221221111111112212212233331111112442122112224421133211222211332233122111221111221221111223321113333331111112211111111112222221112211113331221122221221233221222344333312211233222222112211122222211111222222221222211113321221222212233213321113321111112442111122144422331443331123333552133441133233211332123311123312222112233331122222223441222443322122332111124433221133211111111113323331155455523322111222332212233322111111332122111111332112223311113333321222212211112222244212211122111111122113322211443331124433133312211221111111112212211221111133331112233555222111223322222111221222224421112442122221244213344222233122233133211111111133332211221111221112212212225532221122122221332111221221112222112211111244331234413333222211122221111221122122114444412211221111222211111221111111112211111111122222222112213333122112224434411344421221112553222255331122255344222122114432244233331125532221111122223333331221332332111111244224433133211122122221333123311112366322222111133331111111111122122111122332111112222112211111144321111113331111233111221223321221222331122333311122123322124434411222331332221111113332211122111111123312222222211221111233221112212211122222211111221112233211112222221122233221122133222133212442122111111122221333311134455221111223321111332334422223311221114433111133222113333112222122111333552112211122133211222212331112224422233211332221111111111221221111112355544221133211111221122112212211221236633222244421112211111111113332222113334412344111233221112332332442443441112331111122111111111111123441111221133222111111122222331113321111111122111112224433221122133331111221111111113333336633311223321123313321221222212212212213331144333123333312223313321112214442221111122332122222222111122221221222344122221111133333331111111111122133223333333444432112222111111233122112211111222211111111133222111221122122114434421221221122223346621111222442222211221233133344321111133211122255331122223321111122221221111222211122222213321122337743211112222133211122122112211221221122133332222332122221332223355321234411333122133311112333333111222222111112233311111222222221221122122113444212222111122222442221222223311122111113322222221111111233235522212222222355212442111233222233211222222112333332222111221221122244213322233312223344331244222112332211122112211111335533111233222212212222111221112222112212212443333332344221221222212244322331111221332111111222332212331113335521133333312211133331144423331111124441222212212211222331133322333111122122111122111233112442332112212213321221123311123311222211122233111113444331333233332123313333333312331111111144344411123313321221111111122221255323333122111122111122233112233331222222112222111122233112553344223321111113331111233221122111444233211332221111122111111244222111122111122111112332222332221111332221111122221444222222212211443211113321111122221124421112222233113321113333331133211144344411122221122111233111332144333233234422111111222224443333333332122222233322221111223321113333111221133211122111221221122111112211122111332133222122133244344122113323321111225544222332333322221235521123323312211221222331221112211255333322331221111112211122111122111133222221221122122221122224444411221222233443313321123442211233244222332133444443211332221111111111221333122221233111122221111221111233221111133222111122221111111221111112222233221223321222233211334444212212355213333333112212222244331221124421133211112213322211111111111221122112211112222111233113322211111122124422333344411111111244455222333311334412211111335552211112332331112211244331111122111111112222111112222221221222222221332124421221111233111133222332332333111112222122221112211122332122221122111111133442112244344111111221221111144322212331122221122221133322124433122443211111111221223333111221233112211221122122122112222112233222336634455223321113323331332123322112211222344123312212222111332122221221122115554411332111133211112211112212553332213321223322223323311112211133212222222211244222122122112211332111221133331111333311123322111133222221221112223344344211111144322211112211112211221222442111122221111113322233331111333112332222112223311112332222112212212211233332111255321111332221122244212444455112332211111111244222133332212211133322122244444323321112212212222122221222332222344421122221126643331444442111133211443211111111122222213333233222212212213322212212333321111122555333122134442111444323311122133222221125533112222122122111221122112225533332222211333123323323311221111122332113321122221112553344123322221122112211111123311112212211122122113322331222331222222233133331111111122111223331111333123312212332211122222214433312355211222211122122112331111221122111111122332222331122112211122122122112442335533322133442111222332233211133311122221221221123311233111221221111233221443222111221221222211112222111111332221111222211122111223332211223332211221122122111222212211111111111222355222122221111111123663212211112212212211221112213344211111122221122222211233112233334432221443324421221221123311332221221111111112224421122111111122221221113321222211112222233111133211112222125532112212332223312211122221111221111124421221222212211112211444411223333321235521222222111122223333322222122221221221334421222233331111221332122133233211122221224432122222211133311221221122221113321112211111111111333311123322111112211333312211221111112355443311221111111221111122332221111223331122112332222332122133223312212213322211122112224421111333221221222222111122333221122221111113322211122122222233331222212222222211223321122113321233111111112233212234441111112211222222111221221112213344111332133222111122122112442222442221222344222222222211111122221122222222221111112212233212224422331221112213331111122122111111111332111133223323322332222211112211122122111221444211112331124421233221144442212222111222223322221111234422233122133322113333223333123344322233444322235523344331111221133211111222211221112213321111122333122111332221133212211222222111244344122233223331133211112211111122122221155432111233111221112331123312212444113322211112331222332223311221222211223331122122111111221111244233442123442211333314433222222113321112233222221112212223441111111122122133443311443443334411221111111111133211222212233211111333122122123312332443311112233322122111133331222211223444212331221443322133211112233311122111221111111122111133344111123333212211111122112213321111112212222122122221221122133211113333233221122222211111332112223315543332332212211222211122113331112211133211222211111111221112331332111111122233111122333122233113321222222122111112223554422214442221221122332112213321221333333311122244412331114432222211222223324422442221122122221111144322212211122111111332123322333333222221333554421112212212233442233113321221266432111112332211223323322211111133553222221221332112212212222443311111221114444312212222233133212211123311123311221222222221233111124421122111111122111123312212211443211111255321233221222211221233133211113344211111221221111222211122111122221111244444112212211111133222221333312331332122221122113321111222223311112211111233112223311112211222222122123322221332114434422211222332233211221113322212447732111222331332123344321332223331222331111111111221224432233112212366377442221111111111333111122122133212211221133445513321122221221112222111221122122122133211221221133442111233113322213321111444211122122122221122222211221221113444222133322333332112331444211221332344421112332222111124433221221333112331122221122133331333221111112211111133322221112332222222211333311112212212332211124444412211111133223311122111223321233122122122112223333331332113331112212211111122122111332122221221221122222213322212331112222111122233122122122113331111122112211111221111122122233333322122123344321122111222212211223322211222211221221133211111112211221122221233332235522233355442111111155443122111112211222211112222111133332222112332211113321112222113322212211122333114433122111112212212222111233133211333122111111112212233211221222212553322122333311133224441122122123312211234422221111125532221334441111113332212223311122221233221111122111111221233222211443442111122112212442244211112212233312222332112222122111122122122221223322223311111334455322211221233112344112442122221122222213321122221221112211334434411222332212244322211112222222344122443332222111333133442221112222111221222222443222225544222221111122113321332111111221222211222211113321221333442223313333112331332221111221221444211122113331111114432221111113344233233212331123311111112212222332111112233212211122112222111221111122112222123552122332111133311333111112442133222332112222221332221111221122223322335553212211221112222122111111111111133322221222332222111221111221221332111122221111122221221122112233222144433111244411144321221221122111111122222212212442111221122123322133222111221221111233244233223312211122113332347733112344233222211233222212211111111233122111113321112211123312222111111223331111221111111122133211133211222211233222222144332211112222112213321111111222212331112211222211111112333322332211111111122222211233111221122333111122133222122112442111222222111332133212222122333333123322133311221221333111122221221221112211221233444211111111112345522221111122113321223324432122332111221122113322213321123314443323312212222122222223312212222221122222211332122124433112442111222211112212222134444122234422111122133211133212211124441111223344222222221112332233445532221111122122244211332112211122112212443311222212211112331111111222212212222111112233211221111333224442112211233112233214433311122133211222224421233111112222112222221111112211443222333322122222212233222112211122111116655322233211221221111133322122133213322223311122111112442111234566222212344221221122122244442113331122123322221111111333111112222111223332222111221113322355222122112244333113321221122233112222111221122221111221221133211233112212331111133331112233224423333331222212331111122221222213321122113321113333332122122112211122111122123312222221122221112211113322212223442213355212212211122112222111122332221111122332221222222122112211122112212211122122111122222222111122111221233222211244213321111122111113322222112222332111221112222111112222223333122233113345514433123311122224433111111122111111112344333122111111123441111222233211113333111111234411112212331221224444443321112223443322222133311122111244433222122122221112212332212233312331111112211255521111221111122333111111111221133222222211333111332133663211111124441113322212211221133211111111111333112214444222211122222222221122221221221332244211221124433122222222111222331111111113321133331111122221221111112222111111111221111112222221124421122111122111111112332211113333122133322122221332111222331235551144321112213322222333333312212211222222112233211111122112211144321122113444111113331112344221221111112442112211122222211222222122123312233211122112211124444233212332222122111122144321221221112222111111221111122112211122222331112222122221111222211111111222211222233211112212211221221112331255333111221122122122111221244213322212211111122112222223321112331255321112233331122111221332111113333122122221111333441221112212211221113331221122233111444444421221112211122222211221111122122332133212332212222112442112211233221122221222211111221111333222331223332213321222233222332122122233222211221111233144333111221122112211111221112442122333223321221122122112222112331221333113333133323312211221332111122223344211233333122111111443442112211111223333222222443332214432332122332221112211111123324421332233111221221111221332111111112211233233111112331111111222331234422111333312212212213321122221122122111222212331133311222222111221221112211223333112211112331333322112211332122133331233443311221112212222113323332211332235522233333442332114432221112233211122122112212212212332223444444133311122113323321111124422222111222223322111144321222442133442133331334554434411122112442122222331332113321133222221111112211222222111144321111113331111133311111122221111133332331111113322332212222112223333211122111111111222331122333332222211221111111133331222211124424433123311221221111332224444113321112211133222122112211111332122123333211123312222111111111244222333322221233443331233133211111112212212222122221112222122133211112222222211122111123333211221111221122221111122111122111221111111112212222111221112222124421111122221333111112442221123311233221222211123322111111221112211122233122122335521222222221221112333323344422234552222111122221333322122124433123311122221111112443314442332221122112222332111112212333321122221122221122333111244222122122222212443311123311111221111122133212331332122122111332221123322111113333221111111221111123322122221335552111112212331133444221111111144322212332233663441111111122111122221123444434433211233113321443311221221133212332211133212332442222222112211111222213322212212224422222332443211113321222212332211111144444332442111112222443311332112211221221332123311233112222221122111122222211111222222111113321222212331111111221233122332111113334411122111122122112211222211111221233443322233112211234412222244331334433221123311144433122122221221222224421665444221221233124421111111222211111122111112444311122111221222223311221222211244552331221111554334422223322355211221112233222111144444211222211222222233222211122113321221111111133311122133331112233222122112222112233212223322123322224432223321332221111222222122111133332211332113331122111111221112212233332442123311111122111221221112223322112334433312222221233124435553113355331234423443331111122112211111122221221222211222331235521111124422213321122123311112222133211123442212222112211133211221221123312331144433233111221221111112211113346621221221122112212331122133211112211221112211443213321111111111221122111235522222115544331133212223312222122133222221112222233122122222212222221124421221111133443321133233552234422233332133322122234551333133313331111221111114443311244211221111144422331222355233212212331112222221111221111221332222222333111112212553211234433212211122221123311221443444222222233233111221122221112212222113321222211111332221111332122111111111221111221111111133222333111133442235521112211233221222222111111112333321125533312211133332224422222233122221112211111221444442222222221332222211222211123323311222211221111111332122332113321333222211111122222211221221111333442212443322122111221133442122122111112222111122122221111111221221112444112212211133344111111244211111222224422212355344133212331332233333311122221122122244412222112442111112222221222222111222333344233323311224434423321222222222211122221244422111333111111332111112211223322223312233212331133331112211122122111111444424421122122223334577212222111222211222223323312212211222212211221221122111221113321112222221111111111221221112222111111222222332233223331221334441111144322331112212223313333122221221332222211122222222111122332111111332112211122332133212222111122111332122111221111332112212332222332111112222112212211221112222111122111233112211122221111122244443333211111122113344112212331111111111221111122113321221122112211244442133311222442221122111122221333443334411122133211222213333221333313323332211123311221233113322442111221111222213333333332221111333122244211111332111332221112233211112442111222211122122112222221221554422212211221221222211221122144432222113321111112211112222122233112553211333322113322212211111333322222442111333111221233223322212211112212224442233552122332221111111111122112212443311221112331233244443313333112223312223442222332244211222442123312212212211122221122112442111111111111123311222222112222111111111122112212211122335522222122111111221112233212212212211255321233111122111223333334412233377442122221122122222332213333133223322122334433221122443212212211112211111122225553222112331222212224455321244222222222222222111333311122112442221122133332211222553222112211244211112212223312211222211122333441111221122221111111233113322222111111122112212211112211222223322222213332213355211111122133222111233113344112211224433222331122112213331133663212212212222222211221332111112211122112332213333112222111111111112212211332111233112212211111124421111122221122233111112212332211133233211333111333311111221111333441113444233221444331144344211111221124423321112211122221133331223334411223323323322344221111221111221122112222123323311223334411554421111111222212222133552222222123322122112222122333112222443331111221223322332212222233221221221133222244212211111111221122111123311111221123442214455533114443333211221111112212211122244332211332332111122122122122111133211111112211113344122443213333321111111222211332111112222111111332111221221222223322112211122222244321144332211133211221122122332333323553312444441111111111234411122221333111133223312211333312212331133322122122112222122444311221443344112211222442222222112222111122111233111112442123311112212223322111244331221443224421122111222222222222133212212222111123313321221236632111123311111112355211111111233112222111221133311111111112211133211222222111122112212213331221332111111122222211221111111111122123322111112222133213332222123311111122111244223311122112333333321133212211221222222122221111111221244332222133212211111221112255532122111113333111111112666322211111111221221222442332133211221111221122122133212211111111111133442211122133222111122223331122122233244422221114442222553311111255521123313321122111111221221111255355211222211333111233122111222211333323458832122111111443211111112332211221111233123322244222222222111332112211111111221221222212233313321111111122112233212233331221133211221111112331111122221222233442122111111123441111133333331221111111223333111111221111112211123311124421112211333334424421333223344111112331111111111111112212442133333211111112211111122122111111112212212211122122221122334421111221122122111111112211332122221222222133224422224422224421222222332111223322331222222122233111221111111111133331221122122221111222211111233233111333222211124444212211133211333311221221222211221223335521123311111221222211111221112331111111233112212233331222214443442222221133331112212222112222221112211112223663223312212223663332233212222133445543311221233334433111111133212222122222212331122221122222211123322122122144321222233311111111235521221111223321221333312222332112211221233235522222122112211111111112211111222212211222333344422122133312331112233212222122112222221111123322122221122222211111244222122111122122111123552112211122112222221122133311111122112211111244222133442221122111111221222212233311133331133222221111124421114432111111112211233112211122122234412355212233333331221111111111224433311122233122122333442244321111133222111133664321222211445555233331111221122221122111234412333331111221222222122122112212211111113333322212244441111222233222111112222122111111122122221111222222111332222222222222221111122111221122111221111221222211221221112212213321222222122111111133211222213321111111112222111122122221133211111111111244211332112222133211222211332111122222213321333112211222222221332221112211122112211111222222133212212211333112222111111111332111133212211111111221233111111221122111122111332111133322221221332111111221221123322111221112222111221122133344111233221112332332222332122111113321222222122122112211112211221111111221222244441333311133311122122112331221221111112331334412211221221133311113333112211122222211221221111221444222111111221122122133222344444211112211334441112331133211111111122233122111221144322211111221111333312442122443213322255434421222212223312222122332112211112222111221112233222122112222221221111233221221111113321221112225532122221111122222233222111221222211133331122221233122223321113332212212211233112211111122111111113322222111126663211221111233221112222234422122111221123441112211112222222223314444422211333111221333111222211112332211332112222122122111111111111221124421233113344212211122112213321122222332211222222111223333112233213331244366321112222111233111122133211111112331222332331144332212233244333111332133444112222111332111223322212222111122222222332112223323442222221332122221333221112331222211111112224444211221122332111223322211332333122111122223321221123441112211123322111122112211221111124423355321122122224435533221124421133211113321122223333244212222122112212332332211233221222211111221122333322111122332444344332222233222111122112212211112331221122111122244331221112211122112222111221112233322111221221221221111112211222332211123311111111112344112212213333111111111111111111111111113321123311122111111113321111222211122221221233222222223333221122111111155433222331133212222123313323321122222331111111443211332221111111221112211334422355544222213321111133553332211113333111126643444222212442222332444221122221112222111233122221222213333333312213335522331332221221133322221133444122221111111221112331122234411111124422222333313321133212233222221233123441221122222332331221133311222211333311111221111111222442113344422222211332332222211111144332211221233123311112233332222222212223322333311221111221133211221122112233211221233133211112211133211223321221113322442122221112233211111235521133322221122122112211133211333122221111111111111122443213324433111112331221222224444211221222212442221221112211112211221122112212212212211124455333112223311221222222112233222122233221111111122111221112211125544662124421221332122122221111333111111233113331233111111222553222112211233111222211112331332111111221122111332221122332111333322112211122111221244222334411111123311233221125533111112222111113321122111111122221221144321111222331122221221122113321122221124433223333113344212211122233122111222222113323321123322111122133212223312212233233322111221221221111332111112333321111222211112211133441123311221111221233133233441332113321122123311221112211111111111133331122122111133211122133213322331122332112331111111122233133312211221111333333211221113321444331122223332331332333221111111123311112211122122244233212331112211111111221221111335521133331112331221111222222133211111222244321122333122223344233211221122111122222211112444111221111332111112442333311221112211111111111111112222221125532333322111221122122221124422333333112211221111221221112212211223321113321111244331221222223323663324433122221113332223311155444421123333331332332111113321133211111221112222112331221133555455332444311112211133442331221111221111111222212233331111333311112212222332244211233332112332233322111111112222111333111234412211233111111133211244344221221221221221111332244222113331221113321144344444443331111122221111111122123312222111112211333122221111123333222221111122113321443211111221111222442221112233211112211111221112211113321112222111111112444111111222332211111221112211113333111122111111144331133313321122222211332123311221111223321113331122112222111332112212332211112211222223322122221122233113321122112211221122112225552111111222222122332111222331221111223322212331111221122223331235522233331123441111222211221133324441222332442233122122122266442111122122122144331124421221221113333221111111221111111122112212222332122334421224432221122111133213321112332233211111122221222331122133212332233311221122122223333331244443312222221122111221112333331111221111122123311443311111222331112442111221122332222213333113331122112222111111123311222331112222122221112211133212212211122222213322211221122333443321122111221133211111111113321122122112211111111113366333111122111221233111122122133344334412213333321122233113333133222112212331122144334412211332113334411111221122111122133223311133222112211122221332122122111113321112211233111111112212222113323333111111222333322222221122112233332212331112233311443323325532123455133211111222212211111111224442124421122133211111221221112442111443311111111122221221332122111122123311111255331344412211111111222332211223344133332211233122111233122111112222233122111221123322123322122223333333244212211111111111133212211112331332124433122111111112211224432332443332331112214432113331111111111111111122112211221133223312211113331221111222211111122221111233332112211111111221122111111332244212331332111133222112222111133313333122332221233221334422223322221112222255321133332332442111112211122222212331111113321133311111114433233113322212331122233332244411111221111112212222111244344111123322222331221222212211221122122222211333122123311222211332221111111111222212211111221112233312212222122222211112212212222222212212211112331111122111112212222123322111111111122221332112212211112211133223322221222213321123312222233223333122233332111233112222122133222221222224421112212554443323322113321124421122113344442124422233211235522222111111111221222223322125553311221112212331133222122122122111112211221233112442133442222112212211111222212222333312213322214432244211111122133211112212213321222331221233122221332112211221111111122122111233112211221111122222212222111122244211221111221221113344211333323311111122112222221221112212211112233212331113322212212211111112212332222222212222222211244233211133223311111111122222553311221123323312222111223322222221112212222221221111111122111112212211111112211222332211112344112331222211221122244212333344212233222111111233333222442244233332331122221111221112233211221133332331244222112222221122221111122111122221111222224421111112444112212211224433333311133222222223311112222123312222114442111112211123442211233114434421122222213334411122112355233444421111122133332233211233244211221111111221111111111112212212211122111222345511111133344111122112211122122233221223334422111332221221111122111111221222222111233111221222211221133222122113344212233223445555312212212212211221111112222112212212211122133313321221113321221133211112211244411112332233212211222211123311333311111221221113333122111111554333133222221111111233221122112211221443332211332124422233212244433124422224422211112442112213321122111111122221123311133211112444422332212222112331221122111111111244211111122122112211112332213334411111122122112211133212233212233211112212211113322211122111122112211222442111111111221112211113331221112443312233212223441332333111133443322332111233111111221255331123323322221122222212223311222233222221443211244553311221122111111222213333244331222211111122222212233211221111111112211122111111111111223322331111122133311111123322111244332211122333122111111111113322213323321111113321111111221221332122223331222212211124442225555536632233221111111122122111334421111122122332123333311111111112211221133211133322144441221113344222211233111122111122123311111111223322211155433442212332211244222122122221113331233112212443322112233211111122221112333333221111221122112211332221133443333224433444212331221332221122333311111111122112211133222122221223321223331122111233221332122113366662113321112212211122222211123322113322222122113321122332333312211111222211221112211122133212331122233112223311111222224444211112553442333122113321122333223331133311332221111112331223332211234422122222331221111332122332332233122111221223321221122122122133311221122111222233212442333311233122221122111222223311111111111122222224455444122122123312211221222211234423322112211221221111223322211111111111222222122221333122111222211111112233311122222442112222221111112211222331111112222111221222223311221111111222211112222221122221111122124421221221111111221112211124455322211111111333221122221222332211221233123312444133211111221122111221111112344221234433313333112233331112213334433211222212331122222233212332212211124441122133443311222212222221112222221133211111332223322223312212222122222211113444122122112211221124433332112212212331123322112442222442112222122332111112213332222122111222222122221122124433554432211111123311123441221111222213321221133223312211222213333122112211111222244322442112331155432111123442222222233443311133211111221112222221222222111122222222224433233111112233222122222212332212331222224422212211111111333322122112222123333233222111133212555211222223311111222355211332221221111112211111122332233222211122112222111122221122111111221111113321122111122122111443211111122233122111122221233112344123311332222211112222332221111111222222111111221111221111111222212211112233222221113344233123552221111221222223333331112222144333122222211221221112222221112222122221111221144431333322221111222222111332111133441111111111112222222211111122443211111222212332212211123311221221223323323666433224443333222221111221112211112211111123311332223331111235521111122111122221111111244212211133211112211443213344233113344331122233111111111133332222233111111222211112211113321233123443321122233334434433223322133311443442111133355662213333222211221123322111222212212212553331111333312222133312222221112331221112211111221122111113321122332122221233133212211233221112332211234412213333113321122112331221221332122224433336663331233222211112213322222233221112331122111112212442111111114432222211221335552111111112222221122111122122133211112222112211225553222123311221221122221123312222133332211223444422443332211111122233221112442221111122111223322212212212222221112442222223322122122222212222111332332111221332112442113355331111111111112332211111133312211222233212444112233311112211112222111133233322112211332111111221221111244211112233211221111111222212222332111122111221222222122114432112211222211122222355222222212442123311124421111221113331111122122112222221222355233222335552221223333133211244222332112212331114432111144423321333221221111122112212222332333552122122111221223331221333124421333322222222221111233222212222113331221111111235521222212211221221332111233335532221222212211333255321334421335534412211122122112223441122111111122222213321133212212212211111133233444422113334411221111111122112211133344221444344332112211221221111111332133222332222332212211221122122111112211112332212332443477323321111112331332222331111111222222332111332123311112215544211244211222331332122133441111244551123311123552111112331443222123312222233112222233224433112331122112224433111233133233311123312222244222233255332331222211113321233332133233211332111111332222366344211221111122221221115543444122333113321233221222223442233331122122333111233221111221221111111111133331144421111111112222123322221233122221111222211233113323444211333312212211112212211222212332222222212222111223321334423331122223321112212212222222212444333112222333111222213333111122221111111133553312211444323322112212222221112211221221221123311111233112211112222113322222222211221222224441123311332122133212442122233221112212213332214433111111244223312332442222222111221123311122111113322211111111221122233133331122111222211221222222333233221233111111123456633344221112344111233122334441111111111221111221221113333111111222233331222222112212332211111222233224422444221111113331244211111112224422222221111221112212223441111113321111122111133222133212211233222222222222111222233211111111221122222211222223466613322443311233111112222122244332213322212211111223332222111222211334411144331221233332111332221333322233111444222111332112211444222221112222112212222133211222211223322222222211221111123311112212222221144333111123312233212212331112222112211122133233332222333322332122222211335533222447772122111334412211124421444444122112211125533344344211221112222221222211111133442112233331133323311124421111332122122123777355331122111222233443441111114432122111111111112213321111122233112211122233221112344111111111221233113321122222223333311124433112266543331333122122111133211244211112211122114432122222211122112222233122122123311122122333552222333321111122112211111122221233111113331113321122111443313331221333111123312211221124455334433211221244211133244333111144433124422233332222111122111334411122111332122221113344111221233122122112222111111233122222442122222334443111223322211123311111112224421222233442122111111223321111111122144331122122133331233112442221221122133324422211122221111133222222222332112211122221111124433222211112223311112211333311111123312223311122221122233221221122222331221133222332222212222221221221221112553222221122111133212333344222222211112211144333112211111111221112222111222331115553332212223313321133211221122111222442111111112244441244222113321112211111113322212222112211112211111111133322123311221111133355222222222111221122111244555212211221122233221221111122111122111122111113321122443311222211222212211244211111223323333222332553441111221111443441244212214444144333111222331111112223552222355211111221122122122221124433344422442112222111111112222111111122111124422211221111111111123333212211221221221223321221122112222122223322211111112331332122111123311123311133331122133344111122221122112212344122111111332122333311222212212222221223321111122222333321111221111223321133222111233112222123322124421111222222233123312222133212222221222212212222112222221122111112212344222223311112222122233122221221223321133213322211111122332221233332123322221222244421221111111223321111144331221221122122112222122111222211554322212222333311222222333313331122122122112222112211133211112233442333441122221222233312211122222444233111233112211221111111221221332222212333321223321111111222211111332113333321122112331122221112222112331333322113322222221221133222332221223323331122112222112222123441222211111122111443344111332123322112223322113321144331111333111222211112211112222122111221111221444211444222222211236633313321111222212332332331111223321111233111112222122111111233144422331335521111222332331443244323344224433123323311332133211122144321221133332233331122112212211221113324432443211113336664434444333255355222332122112211111221223333122122123312222333122221111122111112222111133312211111122221111244222443211122112331333111111111233112211443443333321222233322223335521124421221111233221221332222211111111113322222112331122112222111111111221221122221111122222442332233144323321111221133441122223321111221221133211233111111332222215543211113321133211111122111122112213321122113321111111122112211133211111111122133313321122124421111113321333333222122122112222222222221233111221112211221112211221222211223344333312223312213331222222333312222122123322221111221112211221111112212212212211111123441111221222442111111112212211244212266666441234411112233222111443443311111122222223442333331221122112223311134441122233222332211443443663323311122111111332333322221224433322221222211221122111111112222111221123322112223311332122111334412212213333321111112443311221122122111233111122332133311222211221333111111234411221114432234411222223313322222133323333211221112331113344355212211133233441221111111222223322111332122111233112222443222332221111122122221133311333114432221112211111123311111221111223321111333333311222213323321111332233112211111233221222222112222113321111111112442111332112223311111333333311133322221122122133331255521111111233111113322331221222233444443222122221112332222111332222212344112331222553311221113323323322331112211333322113344233331222211122122221122124444122223321221122222344133444111123313321332335544331122112222133222111122221122112233442111221112213322212331111221122221122111222211111122244211122122112211122221112331123311112223311112233212212212222122113321111122124421123311332222233213322211111111111112211111332221115553222111222225532111221233111113332211332112222111123312222122222211122333233112222332111112222221111122123324433122222222222211111111444431111123312211123322111222222122111112222221111221122122111111444411111112222223333222332212233331221332222344112212222111111112442112222122221111111112331223321112331113446661123323322221123326643211222332211222222111112211255332355332332331111113323323322212223333311221222213333111222331111133212211221221112212222134441122133211144421111112233332233311333443311111221111111123322222211221221221111221443345522332244211332111334455331222331122111222244424444222211111122111333555221123322111443214432233111111112553355212223312211111334423321112211332124422442221122133322133331112331244212211111221133552122111122221221113321122133222111112222111111111122332221222222122233111221221122112211133441111112211112331332111112224421221144455211122133222221222211111333311444213322233211127754333122221112212211221244345511122122333111244212332223312332212214433112211111444444221111112211111122111122112331111221221111335534421333112233553311221443311332111122112332211144321333442222113321221133211122111111122332124424432122222212211111443222222222223333335555321111112222221122222442111111112212212211111236633312212332213321333313331122122122112233233312331111111113322212223312211111332333122112444443321233221112222122223321122133222111111122111123441221123323311222211111123312211122554321222211112212212222112211221221222225532113344212212211133211222212333344212331333133311112222111443211111113344233466211332221113333332133211112222111112442333313322331233111124421111111122234411122111122113333111223321221112331221122123312225532221111112233223312222112212332443322221122112212233322111133311221122111122221111124455221222222221332133443333333331244344223321234423441111221122112211111332122111112222123322112442111221221133331111122111332444223311233111222223333211333234411123322122222211221221333124443221111122111221233222211111335551122221124422332222123322111122112212222221122112255442112211111221332111233122124421122122112211222211111223331221111122111122344444422133331111221111111122221111221112211244211112331221112332211122332443312222222211333111122133222332111222212211221221233122112344332123663333331332223331124421233244211122122112212213323333113333221221333113334432122222331233111233221111122122111122112212223441111111221112233311333322122111122113321123553311222211144331122332233112331111222212211122112212211222211222222112211111221113333122222211111111221221133331111133312211112211111221223331123313321122332122223344122111223322211111122221112212212211221223321133222222233211221332122122111122122333333312333322212213321111111221112331111233133211113333111112211111122122133331113322211133211122112233222111122444412222122223321221221111332111111133322111133332331122112223324444442122122111111122221122111332223322211122333311112222111222222111233221122332114444433122111221123311112222221123322221221122113322212211222212222111111112222111112222443244443221111111221221112222221221221222222133211332133211122221133213333221111222442112224444212211122233332222211112222113322212222443222124435522331222213344244222111122111111333112222222211333311111333222211111332221123333322113322213321113331221443344112222111122111224432122112211111221332111221111122112331133311332221112212212444221113344331332222211112331221112344112212211111222213333122133211221111332233111122221114432124422331221133322122111223322331111333113322212332212331112222222222221111221244331221111112222333112222122122112211122111122222332222111112222112222113333113331221221111112222112331112212212211333312233313332211332111233111112222133311111112212233212331224433111444331221123312212211122122223322333333122221123344322331111221333322112331111443212332211234422233112212222122122111122233122122221122221122122123312332222111122333311111221122443331113322355222111122111233223321221222213333122221221332111112233233311122222331222222111222211333311334423331122221111222233222112213333111222212211122222213321122122111111111222211233333312222124421122233221111111122333111123311122111111111111333133333355553332222122112212211111111111221222212211221334551112211221123322111113321221111122133322111221221112233211123311113331221122112331111112331332123311112222111112332211233124433333663222221233111221113321332221221111112233233332331222211221222233442222331111112442122111244212212224421221111332133211332333312233455122111112233213321221122133211111112211112331122111111122122111122233221222212211221122112223312211111122221111122111221113344222111111111221112224434552211222212222111111233111114444422211112331133211221221122332122111113331111111443322123322221244223555441332113333332123322222553222111111233233111223321112212222133222113355211332144332223324423321222213355222333222222222331123311333122332122221123322122221111112222123311133211221112211112233553311133332555442222221112331233113321122122222222244213333122112211233221221122111122233111111223332244322233344322331332333112233332212211144332223322233113333122223321111235522213323321111111111233111111123314433111221222233233222233111122133212233311224442133211111333311122332332123312222221111122221125553322222222221124421122111233221223324432222211234412211111112212212211111111233111111122111221221112233222221112211233111112211122111123344444213321111334551111113331111111124421112211122122122111112212211112211222244321122122123311221111333312222112213331112212222111112233211112212211122222212331114432133211222211112222233122122111112222122122112331443322333324421111111222211221111112332212213322212553222223321333311221122122123312331221144432214435532333133212211233221111122222222222211111332111112212444222212211112211333111133212222111222211235553337743311112222112212233212553223311122122222233244331111222444144442211122222212213322233442332222222333221112211334442331113322211122244233233211111111221123441221112212233211112223325532111122333311244224421222224441122112212222222331112222332122122112222112442111133211122122112222111221123311111111111111332122113321111222213444211133322221112331222244321111111333221223321124421444211113322212222133313333221223321111221111111244233332332355211112212212331123311111133331332223331122333441221233122111111255333221112211332111112211122122122221133211122222212222122122221112213331113321122221332122122122222211111111113321221111222211113344445511133213323322213322333333111111122111233221122111112211122244211221111332444422233223322211233111122112222112222123333444222222122233221122111111111111221233333122221221122333114444122144444222111134441222211122112211111122112212223311111111113322222133441332223332233212212211332111123313323321223321111133344222212211111122111112211333314443124441233233122221111112222221111122123322223323444134443311222211221233221122444331112211111221122111332112211114442111233133213321233112212222111332133211221111222211223323321111332112664344211122112331233112211221112222111222223322133212331111111111112233212213333222233322111334422331111221111332111111155552112223324444233311233112211112211332111111221111221111224443332222222112332331221122112212213322244421112213332233331111112211222212213344444422211222443322122333111221444211333111332333312212442244233212443552111112331244331223321221112212222124433122111122222211112331334442443441222212212213323332244421112331111332223322211221221111122112211332233334422211111112211111122112212223324433333233221122111123553441244332331221222211111332123311233235521221221234423323324422211235521111221111221221221221224432124421221133222124441122123311122221123311112211144333322224421221223331111222212222111111444212213355551122122122111111333221332222212212212224422212444221222444244223312224421122244422113332233222244222111111122111122111113322331222222122122111111112211111224433442211112233311112222244331112211111122112222123322122113322331221333122112223311122221112211221233112222332124422212211222223312211123311122122122112244334412212222122221112211222212212222221255322332443322133344122223321225543331122111443332212212211221221124444412223311221221111111333311255321122233233222331444552212222332111122111111221332221133663322113324432221221122221221124422443663224421112223322111133331122122133332211122111112222332112211112212211122111223355522222212211222233332331111223332442133224421133222111112211111111122111123311122111332122221122235521244211113344211221122133311221333221111113344122222211122113322211112212331111122112331112212211112222112332211122111122113322223333441111244222111221113322222221233133233442332122233111111122122122122333312222221223321333122222244421222211122111111122112211112214432233221123311122123322223322222144322331333311334421222211122233221112211221111223331112223322111112211111111221111111113323332211111233133311111443211111112211332221111124422211222222221222443311122111555322211111113331233221133212223311111111123442211112244321221443445677111133311221221221222211133332213322212222122122111122221123311122111122122123322122111112211122332233244222266442221222233223311111111222244344332211221123333311112442111112222112212212212222111111122133311221111111554321112212211233122111134443552113322233211233221122122112211125532223321122112331112212211123312222112331122221122122112334443312222233111111221223344233222444331122112332212331112211221221111443331223331133322122111133212331111112211111112211221122111222223311123311112332442111111111111111111221222212555222111233111111111122333333331255321332112331221221124422331222212213322211233113321144333133331234412233322111122111111144321122222211111221221244422112331133211111332112211266633311111221111222211112211112212211111111233221112211122113322222112211222355332222233222222114432335533233133312211223331111124421122222211123442222221233123312332333333333333331111111221122223344222211221221112332222122123312211122333322223321221221122112222111334423332442111122332221221223333112332212222111222222221333443331133311122332111113333111111111112211125553441111133211111221133344233221233122123311112212211122111122111222233331113321221122444222444411111333123322122333221332221124422222221112212211221133211111111221112222116654321122124442224421124423331112222222222112331222331111221111122111221223331111122334433344112211133211221111144333111221122124421133222233113321124442222222211332333111111333122221111221122334411122221111221111112211234422111222212445532133332222111333311111112211122111133211122332123312211554335521111112211332112442122124433111122332112212211332111133312332211112211221111122122111133442211122112332212211221221112211223344211221112331111122111112211111122133211112223323441335533332221233112211333322111112222334422221122133312222133322111133211111122133233222111221443331223321112224424432122124422223311122111122112211112331332223344442244212211111221122111113335521112211332111111221122123312355212222112211221222212215553331122122221111114433111111221333133322122112211221332333133441111112233222111144322211122111112331233111111111222233445533322332221123311111222211222211221111113332233222122111111113322212233322222211332221111111111133211112211111112331332133222111111112222222212211122111111122333334423334423322113321112211122222333331221255321113321122111111111221111126644433212212222234422221111221335522331122111222214432221111123442211111221112211221332122122222222111221112444221444444111221221113344211123322223333333344211222211333311111112233332222114443322111112212331222211222332223312442125532244212224443111222222332122123311332221113321221111122111112223322112332223311333122222212233331113331122223322222122444344244222222212212222122332111111112212332211554331112555442112211122221111221222344221111221122221122112332212442222444441122122111111221112222112212444323312211123441122111222222113321222211244442111112331113322332331111112444311111221113321333311111124441112344111222332344554421111122144321111111223333221221123311111233122111112222123312213331133211332122133213333112233311222344113321113321223321122133223312553332222122222212222112222333443321221112212212332222222331221124421112222222222244222222222221222442111112223442222111112211111221221112333331123322111122133211111222222111221111133212444421111122111111333123311122222212211144442233442133212212211111111122111233111125553112332331113321111133322122112211555521224433322112211111113333332211124466611233111112332211244212212213335524432111221112211112211111111222211111122111112222122122122111123312211221112222123313321221111111221113321221122111234433442211112211112223323312211111112212233322222222221122112222221122133355333331112333321223321221111244442111111244332225532222331111112213333244331111133222122122122221111122122255331122111111111112211122255322233333321221222211122133334433112222111112442221222211111112212212233211122111333312222333221222233213332212211112211122444214433333133211221222222123324421221221221332112442122111112211113344223334422113321111115553212331122123333442331112331111333123322222222233122255331122221222222112212331122113344221111112331221112211222332344111122111133442123333211122122122233333322333311332221111221133211112233324441222224421443222111112444443211443477322212212331222211222212211122122112212211221124422555522122111111233112222133211333255522212222332335532122233112355233211221111112222113334411111122112211332122111112331122112222133311124421111444222122111222224422233233331111122112344332222332213333222223663311222213323321122332122113333331111111111122221112443313345512214432221221222211111111122111112332211554322212212222233223333222211114432124433222331122221113331223344332222221122111221333366543233311221112212223311221332111111333222212222111222211221113332344112212224424432233333222331112244421111112211221233122111122122112212211222233212211122221111332122122221122333333211111222211122133222221111111333333322223323321111111333314444442233222221333311112332211122133333321112222112211112211122111122222212211122122111221333111332222244321221221112211111122111233111221111112223333311332122144321112211221111111333112222123322114432111133211133211221111111333122111133233331111111221255333222222123312213331111332112442111244431221111112211221122112211122122113332331122122122122111221221222211233221111234412211332111221222332222122112211233111333322112331244422111234411112222122122113321111122113444211122111112212222111111222222221123311122333133211332222211222222123311221112212213321111111124433122111111221122221122221111113355333443211111221122332234552224421111111111221222211113333122122133233332331114432222211111123311112212344111111111111112222255321111221244213321133311221122111111332122222222122111111221133211111221112212211112222221222233333331124444211122111122233111111122111123311223322222112222233112442122223333111111133312332211111222211123312211123311221111122111111111111112213335533112211122221332112344221233111332113332223322222553322144321233221111122111221112222111233222211233122223321332122111233122111222211122133211112222332112211111221224434421221111233221244211233111122122133211223331111113321222212212211234425533313321233111111111122234423312222112212331111234413321122332221111222211111122234412212222124421223331112211332122222225532122222223311244211221122112331333122221124423344122122233111233122332222442111122555423321221332112213333223321221111111221111112211123323322221111122111124422233211112222112233211111332122332111233333111335554331221111221444212211112233212331133222221122221443233331221111111122112212233212211113334411111111235533122111111122332111123322221111221221222213331113323332212211133211133323333332331112331133312211112344233111111221111111122122122233221111112212442111111122333111112212233311123322123313366332345511111122144433111111112212553322221111222222111133312211112223311111111111122112211144321221111112244333123311122111234422222332222122112222133312211221115543322221222331111111112211113321112212211222222221111221221222211122334411333133211113331122221332112332233332213331111112442123312331233112224421133233331233123312213332213321123311221111443224433111133311133212211122111111122222211111122244411222211113321122222211122221223321221122332112212233212345511123312211111111112222111443222223321221221221221124422442221221111112212222144321111133331111221122335551111113323355511122111111221222442112442124421122111122111233111222212212211111112222221332332112222113321233133311112211123322122112222122122122244412211333122221122111122113321122233333144321123441222211133222111111112212213333112211122332222442123322221222211221112233211122111113333112222221122223331221122332122113321222211221111133213323322332211222224421222331122133312223322221133211122122111122111112222112222111112211244233345512213321111255321112212211221111114442221333233221111122221221112442332111333112211111122112331222211122112222112442255334444433111111122113333221233111111222224421111222222332443331122111222222112344113344332222222222221114445556643211221234411333322111233221122221112233213344222211111122111112222233233133322221333221111223344233313322233333333332111111333111112244355211112211133344111234411111111122111443441222212331114433112222333122333111332221332122221111111111133211221112223324441111332122111111111221122244211111122111223344422111111221122111332111111221122122222211112211222222112211122334412222333111221333444551111221221221221332221111332221233234412222221444441221122111221221222344111222223312233222221122244331223332443322122122221122223321222223322223331112211332222223311122221221112211122112212211221233222211444212233444313333344223322111112213321111332122111112211332122111332122111111333111221266434441122122233111112222122112331222331133223311133212222333333221111111122122112332211233112222112345533212331332222222112222222222122113334422111112213332211111124443332332133222133222111222331122111221111222211112212233222111122333333311111244442133664344551123441111122221112211111122111111111333112211113322331113332211244211114432111111112211122133444311233111111123322113331112211111221233112442221123322112223311133312212233312331221111112222114433332111122221122122111112222233133344244211332333312213321111244212211123322221221222211332111112222222222112213321554433332222331111111332112211221221112211221221111223321222331334422212222332111133322221111332233122113321111332111112222443222111221221221112443311221111333233221332222222122122122133331223321221113321221111122133233312211122221233333112223313322233211111122133222111332244224433112222233111111111222211112222133322222223311222212213331111111112211111222331111144331235522211112211111111443233211122111112213322212332666344412212233222255321122113321111122122221221222331443442111233112233211133222221112331222211122221221333312211235522224441111221112211221332133444443212222221221111122112331221233221333112222222222221111122233111222211122443212212212225532221221222332212212233331111122221122133331332122344411233113333133311221332123311244422111111221111122122222444133222112222112222221233221221111221112334432221112211333233221111124441111112332213334411332221111221144322211133331222222221133211221122333112213331332122111233122221222211133211122122111144321112233211222223311333311221221221111234422123333211221122123344322211114432222212332211443455221111111444211221112222233112332211221122111122111112211333323323322122122333111333222331334444233212223344322331122221122233221122112233311111333311111111222331122111122112224422212222222213322212233212222122221221332111112331114433221221133344221111114433113331221111111122332112211221113344332211112222133212211111111221133322111111221111221221223321123663211111112222221244344112211332111111221221221221223323333221221221333666442222112213321111111111124444111122112212331113321112211222211112212233311221111133331113321113322211221113321111112222122122334441112211111111111111221244664421122122111111111221133211444233211123312214432233221244222222222133211233221112331332112212211111113331111122122144322212331122332112212331122122221144433321122221122114434412211111112211333312222112211223332222122111112331221111112233312442112212211244222122221122122111123322222222112444311221112332331111111224432111224442233221234412211233122112442221111112212366324442122111113322212344334444433112344111221123322112222111111111111112233222223333322211123322122221221221111222211122111112222112211114433311333122112214432222222111111112211221122223321222222112233311111123322112345522221111112211221333324421111133222111111221111133331221114433233233334441111111443322221332111122122111123313321112211222211221111234411233122112212331223333221221221332221122122122221133322111133322111122133211111122112444111222222133312211223334433332211122112212222111111112212213332222111113321111111255531221222211233222222333122114432122111122111333312212332212224421223344212212213321444331221111124444411112333323321111221112223312211111111122222212331332112553211112333321122112212211233122122111111333222222221111122222224423355377432122111111333322221222211222332211112222222222122123456622111122221111111122332112211124421332122123322222212222111113444112442112212222144321112211223321111233233332112222221221112214433122221112222222211122122111222212331122111221334422213333322222112444422444422331233221221222355211122133211111444212213333133244331344433111221124421122233111221244411122221111144321233233244222333222331233233111112211111112223311111122112233222111112212211111333221122122255332212211111111122122111112211111122234411222331332112212212233212211122113333111111123311333323311111332332233222223313331122122221133312212211122221111111222233312211133331233222344113321221111122111221222211133211111111122122222211112444466222122111122233221222212211332111111111122111233111244423322122221112553212331221122113355212211333111112233212233222332122112222111112222233224433332334422122123312222221122222213322213321111111112211244211113331122234411223344222222211233111221111111221111111144421133555443311111123442212213322211112213333111221111334422111244211112211221223321133222112222221222211122111221443211221221122233221122122332133333331221222331112223311111111233111221233221332221255522211111122122123323333222122111233111122244222111122111221122122111111111111111124441112211111111111133311221113355334422444222113444412664344211111123322222223333331122221111111112331112224421113331123312344122111222211112211133223322111122111111112211111221221222212331333332123312211221221333221111133312212331221122111221122222212211111222222221332222222221111221112211111112442333311221233122222222112212212212211333333322112212212233311222222112331122133442213321112244332212223442222221111111155433221222233331122133442244211111123311221111244211122221122123311332222222221144334551221112211111122222212233333212211122111221222233224443113322211221111332221111221111122122122111122221221122113355344212332213344551221133212212211122133233344421333221222255433133331223322212211233332233122233333112332211112222112211244222221244331111111221111122222211221222233552221123322122112212442221233133211122111111234423441332112222111221122222222133222122113332214432113321222222333233133212332212445522111111111221221112211112213321122122144321221111111133331332123323311221443233222221111123322111112233211111113331122112442332221221222211332244211111133212212211111113321112211221332221221221223321111221221111333122221112212222222211222233333333122111335521221113321112212211133331122332111221133211111222331221222212222221221221112211222222333221111333322222213333112344221122111122122122221332221221332111133223322221122112334432144331222443313321333223321221233122111112223322332222211333111233133331111112212553442211111122221133213321111111111234412212211221222211124421111122111233221332221233122221111221111111333113321133313333123324443122222222112331122222244321111223321122443222112222443344321222211221112331111332133323311333122111222211111111133222223321111223321111334422211133222111122122112223312211122133313331335533323323457733133332222111222331111122222444111111111233122111124421111111111222213321244331124421233122332111111122113345522333124444211222334444443244222122111144332222221122122221222553222111122111123311221133222335521133212223311112222133311122332122111333311233122222211111111332221221122122222233311221111112212223322113331333221111111111114433221133312332222111123311221112222144333111111111223331222211221334422212211122221122122124421122222211333221112211111332111111122112212214432112344111122111222345511111334422112222122133222112222333333222122111122111333322112212223311133213331221111111113333255344423312222115544211112233332222111112222111111221112212344122122233122111222211221221122112211111333311112214432221122111111122122123322332222211112211112222111133444122233111111112211133331111111112233333322222133441112222233111111221221111332122333311233111111222211122224434441113322211332112222111221122111111222212211122111222212211111122123441122111111111122112444421111221111221221122111223322211112211222211221123443321333221221122112332211221223333111133311111332221221111122221111111144322211111221221112211221244213323355211112222222211112233222111111233244222222212331244211111222222133444112224433221133255532111332222344244551222222111221332112212442221222344122122221111111112211111112331113333113321222212222111332221224432222211221111235521123455111221122222331233122234411113321221332123322113321133222221122122111122233112212212211222213321111112331111111221133211222222122332333122221112222111111112212212366344222112442111111332111222222111221122222553211111111113321111111111122332221111111122443344122222211111222222332122111244223322111111333313323321122112211122113322222111333221332221222211112211111133211221222222122221111122111221233111111112222222222112211122122112211112332222244222112212211234444322222332112222111111221233122123312332333321233111111222223312331111112211111224443311111114432221111123312212212224442211123663222221122221222331112442111122334662332113322212211112212213332331122244331233111123442331111222222222233212222224433332111123311332111112211222222112211221222222122221244211221111112211112333321122111113322331111122122111221332112211111333311222222221112331133344221222332211255331111144441122144366333221234412213331111122221111111111112211332112213322222112233211222233211244212211222212211111122112213333111221221111133331122223321111221221221221122111111233133212355223323443333111123311111223321111122122221221111111332111112331443344133222332111111111221133331112332222111221221111124422443333212443441223323322223322112233211443222122223331111222211111112332443322111122111221112344122221111112211222244355331111122122223331222211122221555321335533122111221223322332211111111112211124422355212212332211111122133223323322113333221122244433323321133224433221111112211223333331443311112244331112223313321221122123313344211111221111221333311244212212442112224433221221122112222123313321111233334421111122122244222111122233111122111221122122221332111122443332211222223322221111133211222212442221111112211113333122225553212213322212222221133222221113344222112211111133223311111222212553222221112443326663332211443211112233244443133344112233443322123324421221111223344112244321222212222223334433212211122122112211223332211222331122233233122133211333221222211112211111122233222233212344112233223311122333112212211111113321221221133212211112223322111443212212224433223355213333221111111133211244442211221222331122111113322212211111112222221111222211122122111222222122221222331221122221221122133333334432222212223322113344222222212211111111221111112222111122221244244323346622331114433122122233112442122111111111122112211112211111334424422331111221221221112212211122114442122111111123311111133211221223321112212211222212222223323321133222133211221111133214442111221122221113321244222233223321221113335551113322211111113321233112222123311111221133441221122123312211111122222222112211133223311111222244421122133344123312331222213321122113322444433222332212222221223321122221221221123441234433222244211122333312211114443111111111222331113331222211111111111112332211111111133211133311133222111113321221111112331122111221122221221111111123313322222112331112233333333333111222211111221111222211111122122233221111111221233222211111122233123441122222233322111133344122122333222212212211443311221222214433112211111221133332222332122111221221223321111113321111112211221266432222244321554422211124421122112222233333333441221112331133211233234422122111221122221122111111221111111221112224421122221222211122221111122133322113321333222211112211111122122123311244212211122221123311111223344122222222112211221111133211111111111111221111123322112211112212211233221333312212233211113321112212211122111122111123312442221112211123311111111221133211122233221112331111111221111233111122133222112211111123322122111244211122221112212222112211122222233441111222212222244332222133312233312332332211222331221221111111111122111112212211111122122111112442333144441123312212212211144421222331122111112223311122233111332221111111111111444222122221133222112222122122133211332222224434424433222212331333312233332211233122222233211122332221133211122111221221112211221333332113333355555321111221111244212344332111244212332211221111133333323321111113321221233111221122111122111233112211111122122233233332221111114433322221111122112222221221244213344333334421332112331112211133222233133332222122112223333311224433324421222223312223314444221112212212212211111244212222111111221221113333111112222111111111112212212333321233122113444333311112333321122111122221111112222123311332333113322214432111221112212344221221112332223311123323312222111111112331333322111223321222211111124421122233221123552221112222122123333222144443321221122221133311221115553311235522442122221133211112331111111122221112212553222111111112212222233123311113321122222213333222212211111221115543552122221222233222122111111111122112211222211112223455333133212212211221222222113322211111221222222244233313333112444266432125533312212211133322111122223333111332111332122112222111133211221221111223323321111122133312442221333111133222122244223441221222222111221221113333111122122123313321112212222223333122221112211333123312212344222233322221112211222222112233233212331111233111221111221244233244336632122221122111133211111233111123311111244211221124422331111144333332133332212211111222331122122112244333112212211221221122112222111221111112214433112222222233442111123312233441222222122112212213333122122111221111112331111221233112211111112211133211111221112331111222212222221233111332111221244222221123311222222113321122222222112233322122221111221133322113332211221111112233223324455221221111122122111112212222222213321334411222212211332344421221111112233333334411123311122112211112224421111244331221122221113331221233112211113344211122112212223323312331221133311221233113333333311221112332211112224421112212211221111111235521122133311111111112211133211222332212222112222221112332211221111122111334421111122122111111221122122111222211112331122222213321112212211113333332222211122122111222222112211223331111111221233122113322222122133311123322222211332111334412331111122112213322332211133333222122222244321221133311111122122111222211222211122133311123311111111111221122122221113322211122122122122111122112222111111122333111111111112211111122222443443331222222122222222221113321122111222332222222212332213322222133211333223322211221122111122122113321221222222122332222222332111221133222221111112233211333311122221122111122122332221112211122332122112211112444133233222112222123314432333312222221333311222222112213331221122112331111221124423322211133331333112222111133311221221133311124422222112211122221112211235521111233122443322111122111221122122221222331122221111221111333311112442111112222122334411221222213321133212214442221222211111221221112211233221221333221112222222211222222332144323321122122221112222112332211133212233222111221111122113332333322331221123312223322122244211233221111112211122111332122133211122233221122122111112331111221122113333244211222442222211122111122222223311221336633111112664321333322122112211111222212212211221222331332133323311111122334441333112346621111111122222212233213344332331112442221111222331111113332222113321111221221111333221334411133211111221133331111111111111122112344123322111122224444122112211112443322234411221111133222122111224435533233221122222233222111122255321123312211222211222211443344233332112212223322112212233212331122124421133312211222212222113333332332123311122111112213331222211133331122122155443311122222222223333123312233211221122111222222122122112211222212222133344222211122111111222222223321122222211144321111332112211332255332331133211122123313333111122221113321112211122111133212211332111221333442211111122111111122133313331133322221111113322211221122112211111333332111122111123442222113333333441221222222113321221221555333112211221111112233233444112211332333311123311233333112211123322111133211112211332111221222211221221336633311233133323552122133211222344221122113332244421221122221122221133312222111233112211221122111221111111113331221122221111122133211222212222554421221221222222333312233211244332333344114433441122124433112442221221122332222222221122221222212331111112223311111221111122112211122223321133312332222111233112222133211221234411111111333322554322212212211122114432332111111222223311443311122123322122112233212213322444221222222221112213321221112212211122111233221144421222222333322111221111122111221122222553322111334421111443443312333321133322122255533122122221333311333443344221221111332111123322133311233333111332113321111122133212212331122111112213333122222222122221111221113355331122111221221221112331332111332133211111222331233122111112332211133211111122122111111133212366323321122221111222213321144421111221122221122333222211111233244344111221111332233222553222122122122122112211122233122122111222211122111221111111123313332212211221222233211233111111233222331332111221233112222122111221223344411112244441122221111334441233122112211112211133322111221112225533324422332212344111221123311221221333333311221223332332222122112331122112211133233332444112444111111221122123312331223321122222331332111112211111133222122221113344211221133212211221332122122222211122112211224443441111111111222211111122111221111233222442112212222111244222332111133311122333111111112211111222212222122222212233313322211123554421133222122233443213332344223321111554442211111122122333441112222133211222211122111234663441443211221333322221222223311111222211133211332221221221221122122111112222113323322215553212222112233211133211112331233222222221144322211332111111122122123333333321223332212222443312331112331221111122133211221332222244444133324421113321333112212222111221111112222221112222332133211122111133311133213332211221111112222233111122221122443211233112212211125532221122111114444233221221233111233224433233222222122222211122111112444112222111111222212211222211112211122122113321111111222211124422212222221111233122443311133322221111332221221233334412222111332111233221111443311111133222122122332443333321112211122335534423312222222331332133331111222444441112212211332233122112212212222113321133211122144322331111111111221221332233111333112331122112222113321111234411111333221133312222111111122111133233323552332112332224422223663312212444111222222133222122122222222111111125532144321221122234422111332222212212222221221111244333332222122113321112355211221111333113321113321111111113321122122112222111112331221233122221122111222211112212211134443322332122111111221221554421122222331111112224421112211223321111332332244211122111111333233123311111333122222344332111255322212211111221111133222221221333441443223311111111111111122221234414433441332111122221111144333335533221122112212233313321332333221112211244222221222355523466211234411332125532122221122112213333223323322222112331111122123322122233122133233312222111111221221133311111221443331111122221332221111112211111111221111233122112212212222332111111112211111123312211224442113331221122111133312222111223321332223333113322222221233111333144333111111221123552221112222112244355222113355522212444421122221111111122122122332111122221111221111111111111221221111244433311112222111222211111112222222212233322221113322332355533233211111221223322233233213344211111221112442222211112211122122122222344221111112332225532333122122123441144331111223321222211221112211112233223311112211122221111222211221222211112212222123323322221112211112222221122133444222211334444211111111112211122111111113321222222333312211111111122221221222442111111111111222331112211111222212233222223322211334551111333324421233266632221222211113321112444421111122133322222222221111234411122221112233212211111111113331332111111221122223334663312222122234433555222112211112211122114432111112222112223311111222332222124421112211133222111122112213322212233323311221113321112222111111221246666155444441222211112211111111333311223333112212211221222211111111333443332211221123311112211233112222221221133233222234413321122111111221111111333222211111111111221111133322111111123333222122133212212442112222122444412332442111112222334551221221444224433123322111122222332211111233113321112211112331111111111113321111123552221122111111223334411111111111111222213322211122123333333442355344112211112211233244211111122111111222211122113322211111222223312233322133322111133312211554333112213322344333233111133212212211123314432122112211113321122111233221334441122123311113323321113321221332122221122133311333111111113321221222222221221111122111221122222212211244331122111123322222233233212211113322223312211332122244222443355211222223312222111111111122334422221122123311233111122444211133344443222111111222211122144333111332126643552122443233442221221112213322333323332211443212222111111111122222223311333133212212222222233211235521221221222332212211222212223314432221111111233122111122221113323331111222222221111111111133233312212222133355212211122222212212331113332212344112222444212222122332332111112211111233332222212222133555555211112331332111222211111111133233211221113331112222113333111122144333333311111112211111221332443211223331133211221221233111221111111111221112222133213333122112331333554421221221113344223331133331113331443222222222112211111122222344222222222332211222211122221221112211221223322223312211123441221122112211221332133212222112222112212212212211111111124444442122112222123322221111122111111111221122111112332233224433112444111133331221222222221111233222212222122222331221111111122111222222112332222221112222111332332223322212222111222222221221111122222442112211223321122122111113321122221111112211111122133223322221111122123325534422211333111221111222212222332113335521122122133311223321133444441111112332553211111222212211112222222355344122144322211122111122333221222332222113321111112213333112222122133311334421111112211222212222111221112222221222332213321112212211122112211111233111111111244332444442212331112233211443313323344422233122111221112211332124444332211221123323333211111111111112212213321111111221111112233211111222211111123312212233233211122443233212211444213335522333321111113333111221122244411222331111122234422111221223331124443323322332442222222332113331111122221224443324422211222214442113335521113336632233122111122122133223322134442122443324433444211133211233122133222221222211112212211122112211111111122122222223552221122223331122133222123312331122222222111233333222332211111123441111111111332221111133211122122223322212212222244551221332233233111221333311113322222112222133211221112212211122112211111112211122233221234423333441111111333333313323331332332122443222111123312222122222233312223313332212222111221233332335533344333122122333113331112331112211334421443443312212212222111122222331133334432122221122332111332122222223313334433122332111122113331111221122244224442222223321113322331222222444334433312211112344222222221332111221221221333133233311122344433221112332211221133311333221111112331122332111112331111221111221111443222111333111111112212211221111111122112332332233311112211122122133211111111123322221221221111332112233233332212212223443322223441122233123552222212212211111221221133314432111222211111332112211111234411122111133222111111221111122122111222553331122133211221233111111111133212222112211111222212211113321111221122122122112222122111111111112211111221111222211221221222224442211266432111122224433222212222221111443222221111111112211221111221144442222221233112223313335534662122112213332212222122122221111123333223313321234413334412331111111122111111222211223331222222221112222112442443322111122111111233332111122112212211222233211133332443312212331221221111124421221111221221222664321122122333344332332211112233222111333221122333311111113321111123322221221221111222224421221111222222266432122133555222111111222331222212211123311111222442111122335532332112213331111233122244422112211111133331122122111333233111111221112222332111122133331112331221111234413344211111112212222112222221233332221233221112444455222333355212212211112211122112211111221112222332221133331222222122112331111114432112331333459994773211122222331122123312211111233122221221122111122122221111112244444411244213332222111333112211112222133212222111221221233122111122335522333333222212211111233114434422211222444122111111111221221333122113322331111112233553313321111221122111244211221221222211122335532123311222331112211554333233123441111122221112213322331221113323321222212211244222221113321111111111112211221112553311221111122333466333322333321221332443212222332122332111244443456772222111111221111221123312211221111332122255333124421111112233222111133331133212442223321244211332221122111133212222111112233334442111332123311334433112331122111221122111124442211334433112211111133222112222221222211123322221111221111112212442144344222223321123311133442111334412222122111111111111111333311233122111111233122233133344114433322122221112223312333321122333322122221112345522334421111123311112442221112344122333224433311112211122115553212222222222111111222233331133333322122221221111112442223323323321122113331233122112233331233123322122111111344666441221112332331222224422211122111222212223333311122221443211111111332222222222211111332221111113322211122122221111124422212223324441122111221111112223311223321233111112211222222221111221221223333111222211112212211333311133332222122113333123333311221122222233311111111223344411111113321332111111112222122113344211144344431122234422223331111112211111332333221111111122334411123311222332212223322223344233322111111221221114433311444442111122112222112211244411112211221122111122221123322444331112222332111111112211332111122122122112222111122111122233233123312213344422122111221111122112212213333111111122222212377432221111124433133211221221222222221221144335521332133344221122124441111122122122122221112211111222211122222212223312222221113331244211122111221111112332212211111221122221235522211222211144422211122221122122443212442123312331111122111111122133313333111233113444122123311332222212233233211233333312222122332111111222211221123313333111332233122446666346621111221221221332122111111222211113331223321112442122133366323333221332112233344111133331111111144322211111111233112212224422211221111122111122235521122233111133211332122221223321111111221112211122133441222211111112212443441122332122111122123311113355322212332211133222221122112333355331221111122233233111122234413322212212211111221122334422113322212334432112213334413321112211221112331133331122112211112211221111111112212233233332213355331111122244331222332211221222211332221221332112442124422442122112212222233222213321123333442113322211221122122123322126666443122122133311221111112211111233223333111221221123312443312211122123322122111122111222331221133322111112211334421112212211332112211222211233222212212442233122122111111233112212222112222224433221111111332255321333111111122113333112331144321111111222345511133222233111111221112211244211112211443322111111255321111332112212212212222112211112212332211221133211221334433221111221221333111221111122334422212332442133222221266432111111332221122222233222221122111114432222233366321113333122113321133322123322222212233222112211111111112211221111122222334433112212332332222221222222111111113322211113331223333221122124433112233233311443312233223322112212344244444113322211123311111112213321443223322122222222122221244211112211113334662122112331122122221111223321111122133211221221111111221233221111221221233122221221221123311112331112233442112442111222211112213321122111221112444222222222211233112223322111222222333311112442443222443312211221233112331115543323455222222122112442221133312331133211111221112211133222221222211221112222223331112222332111221111111111113321221123312212211222212222124421266632333311111112223311122122221221335533311122332111221122112233312222332223322666344211223333122123312222122111111111122123441112212443314432221111224432111112332331221223332332223442332331111244211332122221222344221221111111111333313334423311122122112222233221112222122113332211111112355222122114442112212222122111124421234422221223333221221111221123311112332211112211123322221122222211133313333111122111233244212211332111221333312223311111244331111112211112222111333442233212212442111333113334411122222444222233311111111114442443212233211221111111122333312211332112222111222224422211333233222331221133331222212334432111332112211221111111333112212233355211332111124433112211332123311111221112212222111122111122113333111123442233312331221122133441123312211111122122111133322112233211112211122443224421222442122332122122122222222111221122123312212222224432112444421112331122244422133211221112222222222122112233313321111221112332212211221122221144321122233221111233114432114442112211222222111332443212211221111112222223321122111133322244331221221255333111112211333311122222332442111112211122221111221334411122221233233221222212211222213334433214442221122221221111122111223344355211122112211112331112211122111244211122113331221112211112233443311332332111112233331114442221221221122332233244223323323333331111233111111221111111221221222233212443311133324422211122112212442111221221122222442335533312244434566221224433444332331221122111332122221111113322233222122112211222223311133211332112332222222222122222332222122221221122223333111233234423322112222111222233222221333112222111112211111221332221113321112222111122133311111221111111122111133331221111111133311111122111244212211113333111224433122111112213331334411332221112211333133223312211122221112211111221233222212332211122133441133211111111332111123322111122332222344112212233211111122111111222213332211122122111111111122112331133331222223322112211221221111111133442211221221333442213321111122111122122133344111112213331112222223344211112222111221112211222443312211221233133322112442111133311111233112233322112211112222221111122221113321123311333133322122112211221222222233112211233221112211112233212211233112211112211122113321111221221221244212233211112666333111112211111111221111221221122123322112331244211221332111111133222221221111113321221144444423311133311224432244431233333123441333112211113321112223311222222221122222233211113344123322124421133332212212222221443442133442332221113333111221221112211111221123322122111222553211332122221111233221221112442111332233221221223333113322212211123311111113331122221122222331122221221221332111222211122122111111223344412344113321333111111111244412212233211221122112222111112443442211112211221222211122122122122224442112212222122113332211113323322233211112223322111114443312212211122222331114433312331133222111112331112331123322123441221122233111112443552123333211111122111122124466433221221233133223311221113321133223312211112212222133331222222144323321113321112331112211124433222444111133212222244422122122112333335521223321111112211222222122122222222111332112222122332244222332221223321443331122222211112344221221111133212444112331122777543322333332554331222212213322211111111111113344332233222111112211111221111222211111223322211221221124466212442221221221222211112211133212212211233111111123322111113344222123311221222553223322222211122122122112332211222212211332111111221222211332222211133224421133222112222255355321332113355333133211122122122111111223333221233221333311113331222211111111443222244433311122221112233213321113355211111123311222215555533442111244222111111332221112223441123312211221112442112211114433552111111221111333112222111221334442211133211133331111221222212444441221222211111222222333122111111122233112331221111111111111221133322233112211111122221122222355223311111443211123312444421244222122113321123312331122221244333321111221111111443442244212212211333122122112553222221113322212211113321222211332255331122111221111221221122221221233122111111244222234552244322211122333311112331122125534422122223321222211122122332133344111123333212212212223322111111112332212211114444222443312444442211111111332122111133212211111133222111122332222211122234411122233222222111244332212331122221221123323311111111111122133444423322344133442221333441133312331133331112211122332124444411114433222222114442122221122221221123311144442211124442223322111233114433333222222211222331222211133312222332111334441221111221122133312213322222221111113322222111122223321221122111221221234433322113322212212442112213321111133324421111123442331122233112442221144355566544222221223322212222133332223552111221122111111332133212211111111124421112344111221111233221133332211233111233111111222222111221333322332221122111221122112331332111133211332111222222332111233111221122223333444211111112332223322221222442332111233221122111111122332111112331222211122221122221222212235552222212211333311111111122554431111111111122221122221221112222111221122111221221111112211221111233113333332221333311122122112223311221112212212213323344211222211112212222221111332111111112211221111122221111111133332222111122111111144321221112443311334422222122113333233221113322443322111112211113344212233212222122333322233221223333321122112211111111233233111443211112211122223321122122111444443344344222332332233221221122112225533122111333663211123322221112211122111111113321221333133222221333322133222113321122112212213322211112211221122112211222331122112332222236632111122112331223321111332111112244321122221332122133222233332221133211123322225544233211221111222233313331111222222332122111111113321221111122223321111112233442133443552112211111122111111111221122122111133334433312212222221122122133311122112222111111235522331133331233133233212222221233112211332112211122244411221133211122111233111333122111122133331122221111122112212211111124421111111122123313322222111111221332234411111122123323323311332222222123311122222331111112212211122222222122332112211111122113331222331332112211222213333123322222233311111111111122222222221113322211123311133212211122223331113333333322113355211112222112442221112331122114433311111112211111233111221111122122122335522211112233222111133222332122122223333233122221221111111221221111221222211111113344211111122111333111111122221123312212331333322221222212355211111111221122224432222233455133244322222111122122233112211221221111112233211221112212222233235523321112212215553331332221133213322222122221222222123311133355211112211222233331223321122122112212332233552221112212442122112222112211111111221223321222212332244344233311223333111122223321221233111111122233244212222125533123552122111122112223312212331113333333111221111233222211112212244321222332212233211234411133322222332212212445511233222211112442144333331111115553312331123322133211112222332221133455111133323555112212553211233332112211333322111221221333112211123555554421122111221221111111111111221333442233211224432123311221113323331112212211221221222211112212212332222221111334421111332123312222111221111112344111221222233312222111221221133311332233233133211133444233111222222122223344211111111112222133331221111233221133312213331222222111222333333123333211112211221122111112211111133311111111112211112212212211221332221222211111221111333552125532112212211222212442123313444411125532222225532111111233133344123312355331133331233233221221111122111222222233111122332221122123312224433223333111221222211332221233111112331221113333111122112344222355442122233111122333111221122112332211112212211144344212212223333552112553212332211122221111233223322332332211113321111221122255321221112211221111235551123324433122113321122222213366633244211111111333114433313322222221122122332112332233441124441124422222122133442222211332122122443323311111111133312213331112331122111111113321233222211222212233212211221222212222244331112331112211333221233112224421133332211221111112333321222212331111122125532112222233221111244332222221222212445677112332212223322221111111332111111223321221222222122111133331223321222223333211222222122122111122222212222111333311223321123441221221221112355211234411221113322211112444221332112222122122122221221123312211111111333444444122122113321221122122122334422221233332112222233221222442111332111112211112222221222212211444211124422222122332221113322211112222112222112331222211112211111223322244355344222111124421111221111111133222122221111233122122332222211221112233211222211113332211221222222111223321111221112233442223321222233211133233244333111111123311222222122222211221133223333233222332221111233111222211112212211111222222112212222221111233111112211112331221233233122113333111111221221222222233221221111221223321333123312233212212211111112211111222233212212222112212211111122133211222211221234411222233311221111222211112211222331144422444433111123441244211221222233332331123552222212213333222344122111221221223334433441144321111122332111111112223333212211133442222222222222221333313333133212212211113321221122554434422222211222222122112222111221221332221133211221332122113332211122222211244211221111233112332211221111221111112211111334421111111144335544332222111333221111122332122333111122111222222122222211111112212222111133212211333111333311111224435551122112222111111111111133324421133312222233133331122111221122221111554421221112223311111221111112211112212331112222112212211133222111233112331222222223321111122111112211122244211221221221221221133211111122221233222211111111334422133212212223322255321122123344333222442221111221111111112211221444442222222111133444455344123311133344221111332122111111112211333443211222212332331221111112212332212255533312211123442442112211333442344222223311221111222222111112222333222442111113333122133222112211221112211255321112332233552111111221555321221122112212212223311113331122233124421122344441111122222222113333122111244333322211112212332211111233123311122111221111124433122113321122233122222211221222212222122123311111221124421111122123312211111166555233212331123322221111111111332111333221222222133233331332123322222233332212222122332221111235533112223311221111112211111221122112555311111221234411221233111222233331333133333334552233212211123322112222122222222222212211222332213321233112553311112223312211111122222213355222111221122122133211221111333313321111122122221111114443233122111221112224421111112335555531112223311112332211111133211122122221126643233244444111112211113321221221221233122111133442233332112212212222233234552211111122221333124441222212222222213331221222222233111333244222223333333221122123311221221133331112222111222344113322223552112211334443321122233133212212211122122112222233332112211111113344222112222221144421122111111122112212222221122221111221111111221111221111112332233311125532222222111112212222123322221221122112211222331133333311111122111113321122112211122111221112222111233133313332212233223311112442111112442111233122112212211112233344221221122122111123311113334422221111111111222211112212211333111122123355534421123311122133211155533221122112211221222222222222333322222211222211111111221122122222212212442111112223311122111222233332214444113322344122244411111111113333444331122111244211122112212442122233221113321112211223321332112222112233211111122133222221133311222211334444222133355211222222122122133323323322113321111122332111221222211444212222221122123553441113321112211111111112211133323311123312442332122122125532221111111133311221124422211111222332224422212211111111223333122133222444331112233212211111222332211255533222211112212213331333133211221144332211234411111355532221221222211221333123311111122122222222123324434422233123312233332222122223331133233334433322233221122235522223311111112211221113322212332331111112222122133212211221122443212212211221122221221223322332355331112442111222344444422211122112332222111122123333211122111111122122111221221112212211222213332212211555321443333331111111122111112443552111133212222233223321223322233442223321122111222331113331111122233112212442222213321222442112222111111111333311111111221111221111233113321125532122244331111133333211122133222443211223321111222331112212222123553552144441221111111233111221111332122112212332233311233122112222122332221122221113355213321233244222221223331111112222122111111221221111221113321111112212442233112222221111222331221221122221221112211111122124555222442222213322211111122223321122222233311221122222442112211122334422211112211122221221332332122233244213321122111332111112332211111221133213321233122111333311112355212211124441111122112331122233133311112444122111111111444222221111222211112222112331112211122133222111222223322333322122123333211112233222332122221233223321221122112212211221235524444111222212212211221221112233212211443213331122133222111122112233312442112211124444222223331111133233222111112211221111111221111122112331332332133213344211222211221333122255321443211112442122111122112211111122124421123311332111111122333221133322233111332113332211223332211122233111122111111113321112224433111223321443211122111111111221223333112212331221122223333111332111113331244211221111222233244321111233122233122133311122133222332111123311221122221233114442122111112211111221111111443331222211122221112222122222222224445511133222233221122111221333322112211133442233222211122333122122112331332112212233211334411112331111221332222211111222222234411155433312443442212222112211221122122111111222211112222221111244331111244223323312211111113322212211122233222211443222222212211111113322355331222444122221112211111122111244212211112442111221113322233233311122221233111112233222122124421221222212344111244442111111133211222212222221221111122111334555332111112212211123333344111123333211122112442124441111111111122221122111122333133322111221221111111111133233311122332113321112211111333221111443322233111112211112212213321111111111133322111111114432333111111122122221123344322211123312446621122122133211122111111111122111112442111111111222211235551112331122221222212211233111112222332221122112332222111223321233333311122221111133331112211222211124421111111222211115553211114432111111133211222222233122122122112331111334422112211221112212233212222113333122111144321111223322233212212211123344333122112212444221111111222332212211122223332212331122111111122221111123311112442221111221233221111222233444421222222111332255321111112211221113322212223556633222221222331111122122233112211112233211233221221112212223311221222222112211223324433133324421111333312222112212211122221111144421222211112211112553212212444421221333311222211223321112222122133331112222333313321223332223312222122233111112211111122111123441112211332122111244233311111111333133225532111122111133331122122111111332221233111221332223321221221111112222112331112211221122332111123441221111112222111133442113322211122222222221133333213321111133331112212222112222223321332133323311221112211233221111124433221111122122122443442233144332212444441112331222222112213331122112211244212222221333326643322222222112212222233222222221122112332244322222111111221233112212211123324422213321114432222211223344221111111113321113344233111111111122221122144344112212222222212211113321222331222211222212222122122133313331111112442112332442133332211111111221221112355222222222221221133323312211123312211111122111112212233322333122111332111222331221111222222122221221222233211111111111111112331112222122112211112212332222123313333111222444112211222223313331112444322334433222211223331111122111122112331114434444212211223344211554321111111221112213321112211111221111112442111122223321221144433122222214432133212211223331123322122111122112233211443211255533111122335521222223322111223333112211112223311222211113333122222212332212212212211122332111332122122122111111111122112211111122222331221334411221111234423322111332123313321443212222111111112211123311233112211111222211111233112211333311221133211122111111234412222112222111111332122221113333221221222222111111221222224421111111111222233344111112212211112212331114432222332223312222222212211111112211233112211221111111111133355211111111111122113321221112233323322222212331333233222331222222221111113333111111221122122111234422333323333212211332133211133222332122221111222211244222122122332111111122332332221111122144321221112224421333311111222222112222222442224433333211111221332221111111112211221221244222112211122112211332122444222122221122221112331221233123555533312222332233222444122122233221222222111122111221112222222222221334411111122222211111111122221133222111221221111111221122133324422344111244223311122221113322331222222111221221223322211221112222112222112233322122224432221113321122122144422344124421122222222112222222345522122122111332221133211111122113331111333314434433123311111123312331222212211221133442221123322221221112222111122111222211233222213321244211222442443331111122332111111222331112222233133222332122443222333122133312211221221223335534662133222122223322331112222221111122111144332212213344223441112332331332221344443333122221233133211122122133222122111122111332221221112211221112222111111111111111122122133211223331221122332222331111133214434411122244213322211221111122223321112222111111111333133312212211111111112233222332111221123311112211113333221122113333122244244421124421221111122221111222211112222113322211111111111112344122222212211133323312222122233111123322111112211111111111112233233311113321332133211443211112355222221111111244222221222331222222112222114442332111221123441111113344122133213323321111122234411113321222222221111233133441122112222133211222211333312331122443211133312223311112211111111111224432112211123322112214442111133331133441111122111221112442122111122111113331221111111111221111222222122111112233213333333221122221122111112222332114432221333111111111233112222221112211122222211122233221111221122113333221113344112224422212222221112212211122443211223333144344333332221221122122221111111111112211111333324433111111122123311221112211221111221112222221332334443322211111111133222111221111221221122222211111111133211222211111112211112224444411111133323311233123552233111122133212233212211122221112222122113325555331112225532124444211112222221133244333112331112332211112331334421123324434411111111221222211222211111224434433233221332133311111112211221222212211332122112331233221332111233111222222122221111222233233311112211233111111221221221122122221221222443555122443445511124421123312444421221122221122124433122332111122123312212212255534423312224422222111112553555112212211332122111122112211112212222111133222221332244332213321222331122111244411111221113322211222211223322331123311111122122224433111221144321554422211111222233331244331222211111221113321133442221111111333221122233133322112222111112211333112211122133212211244443322111221221111255344411133323322122133332222443211111222233311221113333111443211221122234662332221222553312211123323311122221133222221112222111334423322255344223442212213344223311112443355533112213321111221223333112211443311133313321111112223323311111332111221113331221221122133332222113322212331112331332221122111122122112444334411221333311222211113321112331235521221122123322122122233221221111111334421112211113323321111122122122111133222222211222211111111332334412211133331111122113322212332223311221222222111113336632111112211111111112213331112212211111112211111122113321111111221112233311133332444441332122144334413321122332112211111111133211111221113344122334422222122122221222233211122122244222222222111122221111111122332111221122111222211112211122221223333122122122123312211111221111112222111111112211111111111223344212212222221112212222113321224432222222335523322212211112222111111112213321111111221111222211122111221224433111221332122111112222122221221111222211221122333322221244211122111443213334551443441122122222331234422334421133213321221221111221221112222111112222112443455112233444441111222332211222212212211111221111122221111111221122122113333321222255533222211221333311111111221133211221222331111221221111332112332223322113321221123322144322212223311111111233122221221221233111221113344233212211233111111244222111335554433311255321144321223333221122222444111111144323335534422112214433311221112211111333223331221221122122221233222212222221112332212211122334411122333313321221112211111224433122122223344213322212211133211111112331122111111112222111122122332113333244331222222122443331111111332221221222331222442222331233332221112331443331122222444311112211443211114444422212233333233222221333112211122122111223321221133233442112332211122111133224421111223322331111222211222212331113355333111111235551233222211111111222355222113331221233122244332222123333333211444211112211221111123312331221124444222221111122111111123311111122333221222211111122222444111112211221112222122111112344221122111112444441111112212222221144444212211115543311111221223322222111111122111111222212233313333122111111111223331122233223344112222332221111221221123322112211221113344214433221111112223552113366331111112211111221233111112212222221111332233112222123322221112211111122112212211123322111221122221113344222112344112212212331112222112332213344222212222223321111222442221111221221111111111114435533111123311222211222355223311332111112333333111554421111122233111224432113321222211122221112211133212244324443322443333333111222222122332222222112222111112211111233221222331122221112442111122112211113321122111112211123313321221111233122112222122222222223322223311222211111111111111111221221133212212212211111332221112222112212213321111333222222221112555212211111223333233344444234441111221223344333111332111111122221222553212212211332111111112348843553313322233331113322222111221111112212211221233222331111111111133443333222333122332111221111111111222211244212212233331133212244423323321221122111122224443311443444421333236633255333122122113331221122111333322112212333322223663331111111133313332332331222212211122221122144322222133442133322113321122111112331111111221111112222244222221244222112224423344211122112222133322222255443322444422122111111111332113355522111333323322221111122222222133313322331123312225532244331332111111111111111112222221111221133212223322222212222112211221221221111221221133311111133211111221221112233331123322112211111133222122233111113321112442122124433333311111111111122112211112213321111122221221112443311333324422222122221111222212332212211222442221111111111221222223312223312211333311221222222221122233111223322233211122112212211111221222222123311111223321233111221221112211122133331122111112233222122122112211332112222122112211111221122233111122113322212233355222112222332111122111111223322223312212211334441122111113321223322222133211111332332223331221111112211133312212212233332211333111111221221444244322212222113321122112222221233111244211111111111332221112212212233322112212222112212222124423322212211144321123311222332211112222111221221222211221333322112212233322221112213321111221221222223312213321133355331224442111111244211111111221332122233111111122221111221133222122111111122111122112442111221222212222111222211113344211221221111111122124422333333111222211113321113333122112224422344122221122122123311112213331124421112213332213331112211111122133442213344244223311124433222331122244224423321122113333222331111112444221222553331133555112212331123333313444233443442111122113321112233322111222222221111221221112233211122111244443441122221222233224422333323332222111223344244211111443222122112211221333221111111122111222212444311133442221332122111113321111114444111221122112331123442331222212442332332332332221111113321122332221111334466622111333333311222233213355511111221113322211122111112222111222344111222211112222221111333123312212233213331221133311112444122222211233554323332222122112222233111122112212213322442332221222333333333221111233111112222111122112212211221222212212233213322222221122233111222222221133211224443311332221222211221112212222332112211122222225535533441221122112355223333233222221124422212233443333441112211223331221221222222124421111122123322122113322212233211111255321222211333111233122332111111113333223333333322222332233255533663331111111122111221111221222211233112223552222442112222122443211111122122113321144432222112212223324421111111332223331111221222442112332212212331221112443322111124444212222332244222111122333311221122111221111221111125535551122122113333222211112222221112212213321111221122235533111112332223455222211122221112233222221112344124421122111122222222111113321443331112212331222222222331244444224442233111112211221222211122122133212212442122223322211123311443555212331111332221221222222123322443212211333112332222332122112214432223321133222222211122113322211223321221221122233113321112442112212331221111222331133312331123441221122133223441122233266433311221122111122122122111111111333333222333133331112443311233111133442123323311555555111221221111332221222211222212222233111122112344122155442112222334412212233311122335523321112233211111111221112331222211111221113331221122112211223333112222221112233441233122112442111111112211122222211111122277543222112233211111111332113333111122122332122111112222222442222222111111111332111221223322331221133222222442222233211332221233111111113321122111111122112222123311221122333322221222222111111122123322112344112211244442221133331122234412212211221332113355344332221333311111221111133331122332333322111111233221123322112211122221112224421122222331221222213331114433222222221222211332144321123311122223321112224444433211333333211122221111221443441122235521112233233313333122111221333323311114442333311122123322111111222331223331122122123322111113322233311122133211221112442111221112331111244212211133312222233221124433333333222112211133322122333322111222443442211244332211222212222113333222442122222212442113321222222221222331221123441111111111221111122122221112344244331223366432122221111112222332221111111144323331111111111112211221122111112222112213333112211233122112222111111111555321113333122233111122332122221111221111221122221222211221112211122111233221225543212211111133331221133222332111221332111113344244332225533311122222331221122221222333331122122244366321222213355212333323344211221133311221221112233214432332111111111233111122111222331332111221112213344212211222224421221113333122123311332333441122222233212211222332255432111221122222213331221221111112211111123312222332111332111111111113322222221222333322211122133324421122221111111221111111112222122221221123311222444422331222222222212211111122112211221111122233111222212331221221223355321111122122111122111122124433234411222212211221111133355433311122133442221112222111111221111221144466321221112211112212442111122111221123313321113321333323311221223333233122111111113344122222211223333221122113344222221112212222222233322133213321123313331112344111125553311111112444222331244414444422332212222221221221122111111122122122123333233332331112211221124422233311224442122255333114443552122133312333321111244411244331222211133445512331123312211221111222211221221123322112211332222211111122332123322112212332211133224433133213321221122233222212211334411111111221111133222111122111111222211122222213344211111133322333122111233332221133222111221221133331122221122221144421112224441111266442221221222223311133311111111111122112211223331122244213322222111112233211222214433122443312222221111111111122112331112212222222212331112331333222211332111111122333322221122111111122221112442221144331221122221112211122111112233332212332222111333111222211111333444331221221111221221221112212332211112233444221111112222221221133233552122222212213333111112211332224433311122122111111111111334421122122111133323442442233111112442111111244422221111221111233111221221111554322777732221124444211443442111334422212211332112233211111133322222211144321111221122112222112211123311111223321221221233223344332221111111122112222122233112212331122112211123333442112212212222122112222122133222111133211221133211221111123552122112331112212211111111112222113321111222222133311123344321222666334412222112223311111223321222332211221122223322211122113333111113322222122122333313331111221333322133211112211111221332233233112211111123322112211111133213321443222221133312222233221122133213333233221111122122126644233211111333112233311112211123311111223331112222221221112332445511222212222221221122113321111112222222222111122122111244222222211122223334422221144433222331111112211233122222211221233111111122222211122332222442122222332233213331114432123311112222224446623332222233122233122112211122112211112213333111111222331111222222332113355224441111122221111333222332222122333313333222212331221444332222144321111221111112211111222331123322133322111122111244443323311443333321222215543311111443222221112222111221122133331122111222211133311122222212213321221122112222111111221111113331111111221233221221222212212222114433221234422221222222111221443211225544441124421221122124422211255521122222222333113331221221111222212344111112222111122111223331111333322111113333221111233221112222133211113355334432122111111222443322221112211233125555224432111112244443221122112332222222223311223332212222111111111122122222331332111122244331233111112211112222111221112222111111113344211122122122122111111122144433112213331111111332221122221111111122333111221221221112223312331233133213333133212222122114432111234412331112212212332211112212214435532113321233123324424434412212233212211111221221334421221223331122221123311112211111122221111112213321111111133553224421122112211222244433443211221111112222111223322222234411112355222124421222335543222233333441122133313331112223552221221221111122444211111133223312211122122334422221111222331221222331221233332122222212224421221111111221255355321112212211221233111112222122112212211124422233344124421112211111332111144345511133222112211111122221111111222222122122221112211221112331133333212211111222222112244422444221221111122122122111221233233221222211111221111111122113344222221332123311233111111112212222122122222332223312222111125552443312211221555321111111233113321221222211221112331233234411233221111112222111112222222444422211124421111122122112222221122221221111111122233111111122111122222211222233332211111221111122111111113332211112222233124442233223311233222442221221443214432233112233211122112212332212211222212224421332221113344331111113321222222111112222233332122112244321443444444223442212222222442113333233333221112211221112244331122122112233211222442111221123311111334422111222211221144323333122221122222211111122111133312211222223311222211233133332222221221333555221222211112444441222211112223333212222221233244211221222222111111133222221112344221122122111112331122332112212212443311222234441222333344111233111111112211221221222211221124421122233122222211221111122111112355332331113321111112212212211222222332333334423321332222211122111123312331332122111112443344321122233112211112222122221122122122221122123322113322211221111122332111133332443312222122112212222224434441122133222221444233331112212212212212211222212212332211221122112211133331133331111122111221332111221221122221221111222224441133222333111222211233221122111122111233111122111333221112212213331221122112211112211111122221221221233112331332221112442221111221123311221112222221221223322332222133311123312442133223312211233111133211113322214432332111222211111112222222212213321122122221111221112211122112222111122222222122133344113322212211111122111221111222212212222112331221221333311111222222133322133311222212233313331222442111123322122234444331221123312211111221221123312212244444211233221124441111122221221111133355222221111111125532222211332111112212212331333221244332211133211222211112331122222222111113321112331111111111221122122122222222112442223345522111244411122112222332221122255331112211133442221554444113333112211122221113321113666443111122111224432133331111111111111332222211122122111332111112442332111332221124423331112222333221111333333331332122112211111112222111221111111111111113321112211122221111122111112223312211111111221221221332332122444322122221133366335522233311222211112233233442331333333311124444413334411122124422211233223321112212332331443311111222332223311221221111112222221332111334421111111221122111222222111221113331221122111221221222212223322233111222213321111111112211122223355212212233211334412233222122112331133331112355212222144332211122111222211124433111112211113321122112222112211122111244422222212211122223321221111144344222111233122111221111233221221221233122234422122221111223322233332211122112224421221221111221221111122111221221111223323321233124443111122222223322221222233211122444553233442211111332111123322112233222222211111112211221233111222233222222331443331224434411233222211332222211124421111133211123322221332133213333111233111114432332133211111221334411332122111112344333112244331333133211123344433111112214434414433322111122112222112212444221221444413334432111443331122122333112212442244442225553322113333221221221133663212212211113321123322221332335521111244222233233113344222122123322112212212222113321111133211123311221113323344412255435532144321112212211111444233222222211123322122122112222112211112222133212331112222222222443331332221333323311221221223344221122221111111124421112223311122222331111112223312211244223311112212211111111111122122112331122134441122111444413323322222123311112211222553222221233221111332222213322211111122111111111221221125532112211122111222211122111111111111221133211114432233333311122221221111123311112222122222233211221111222211221233221221332333222211111333123442331113321113322212331233123322244222122122221111122123552112331122122222344122112211221123441111333312213333111122122133442331111333311332221332221123312211333333553442222112442222211111221333442211111221332122111221112331333312212222233111133214432112212222111443222221332111333333111111244211122223333332112212442144321113321122144321222211133233212211123311111332122222331233111233443332212212211124433112211112331332111123311122111112222221332111112211122133312211123441233332111111122122233124433111113331111122233333221122222331111221221111111112444222233344122112211333123322112332211113334423312212213321112233211122122111111111111332112211223333122122333322255321222222221221221112222112211112443552122221122111221122133442213321112233333333233123311111111112233322133331221223321222212212233211111111222222122111133331332144321122112444421123311122112222112233312211111122221122112213322222112211332122233123311122133331333312222122111221122222244355213321133331221111111221332114432111133442111111222211111111122221123311113333112233222221332244211111112332211221122112211114432111221122123312332211111221221233112212211122333311266434442211443441112211133212211111122111113332355553211222331233111122221111114445511221111122223321112222332221221221244222122221221111112222221111133312211333112212213333333111111111333111112233211111111122221111144322211332221333322113331113321122122221255332332222221111112211123312222112222111111111112233211244233455244553222221112244344112211155433332221111112331111244211122111244222133212211111244344222211221112211111123441122222211222211113331223321123333312331122333333255555221123322112213322212233455122221111113334411111122222211123322222331222212213331332222211112222222211111221111333221221122114432221133331111221222211111222211111332111111111112222111221221332111244224422222113332331111112213321122221111335533112222332111112331111111332112331221123322122112212211221222442221133222233122443331113333133313333122113321112212212222111113322222222222111333112222133222112213321122222222221111244211233133441112222222211122111112211233122111332221113332211112212213332222222222144322222113321113332211233221112332233222112211222223322144322211244211221133211155544221111113322223442331122333442211122124433221112222122222331112331122112222122221221113321221111112211221222212222123322124422212213333111221114443322122111133442111221332332223445533211122122332122111233222212233553211221112211111221122222222244222221233233122111333112442332255333221112211112213321112222111122122111122222211221333313333244411122111333111112212211111111221222213322222233244212222122122344441222211113344233111122122123323553322332122111112222122111223321113322223311221244211244212211222211233133233211113332212213322213322212332212223322221221111122222211222211111111122222214444111112213333112211114433112233553223311221111221122111111111133311233221221111111221222233344122113333114433442222113321221221332133211112212331221221221112331335533332222224421112212212331221111112211122122111111122112442112222333221112222224444431333311222212331122332111112211112211112211222211223331133212211111221221222332213321112211122221112224421111122244223442214442223322332222221221111122133322123466222111113333221233222224422233213321221333133211221112213322442332333332221124421112211111221123322233221224433114432333133211222331222233333331122443313333113344211166644331111335552111223321221112211123312211221112213344412211122111111133311221123311221111221111112244332222332111221111111122133442112233213333221221123311333311221221112233211123344322212212233222332112331111221122221124422212222122111113321111221122333133322222211112331222212211122221112332222255322332212211221112213321221111221122122122111222332222111122221233332332111111111111111112442222212332211234412233213322233223312222111221111133212212211112212332331111111111112212332211222211221122112212211221113333122144441444212211222331221122111111133322113331222211112331122133211111111233122112214432222211122111111233122112331223332211111133211221112331221122221112331332332332221221114432333112211333112222333552244332211221112443313333112331221222211111221233233333552112212211112233311111233112233331112212212233233333344111111122112443311222211111221112211112222111221111222443333664333333122221122221221333312331112331112333322212222144421221111111112211133553332222111222244432211222331111111125534423441122222212346622222122332113333155432221255332223442233312213344332111112211123311114433122111332332112211122111112222332133331221113323331111234411123323311124433355523355553212211221333311122111111123311111221222222112211111332111133211112332211443312211113331111222211221122332223322211111221222222332122332234413333122221221112211111332233122222345511332221233111221221144331122443331133222113321111122111122122112213333111221233111221443355212213321112213322213333221221332225544211122112211333125532111233122112212223311111112211221123322233221111122221111221222211111113344332211221123312442122124442345511112211221111112222332111112222111133331111122111223344332221122222331233111111444222111122123312331222222332234444334411224443312222113322222332221221122111112222133222122122112211122244331221221221111221122113321222233244334553333222211111221111111233122122112366344122111122122124441221123311222211221233112222112222111332221332114433112211112222111233111221111221222442112223311124421122221133333322111111222233311111244211233111133212331122125533111111111123322111332221111221122233112344133222222222112212222333311133444122112332212244421133211112212212222123322244222111111112225533311111244331233122122111111122111111133312213355331221221112331113321332224443311221111221221112222123344421112211233124444444222212442233222223312211111112211111233125532111111112214433133211221112233322112211112233211111221111111233222211111111111112233233311221133212222122234411112211332222222122233111333312443322111332111111111111112211221233122333112222113333331112331122221111222222122122122332133211133212331332111222211112222122123441222211221111122222331234433211333111111223321221233111233122123441122221111111332133212234442443311113322212222222211111233112223322122122222214433122111112222112233442211111114433112331111111111111112222221111111111111221222233222255321111222211111122222222233111112211122443322222331111334412211112222222233213331221111111122112211333123311221223322332333332344244663312212211221111221112222122111112211112442123311221122111112211122221122233221112211122221223332233211333111112233212211111233223321111113334422111133222112222222331255321112211122114443311122111111221123312222233332122124422333333111111133244422211113333112222221122111221222211111221332133441222211221332111223321111222212212331122124444422111233221112211111222344112211111222211233333322332111112212222111112211221114432111122221221113321444212212211111332111124442211221221221123333224421221122112331111133211221122122333144333443222221244432213331221111111221111122333234422122123311233114433221223331334433133322221111111332123323311234433312212211222211111222211122122221332122111122123552221221111111133312222133213333223333133212211221112222233111122111223321222332211111122334434411224432221221244222111111222211333123322112222112213321122111111111332112331122333312442122122112344122122221332221111111122122234551111333133331223321233111222332331221334423311332111233111222211221221221221555333333442211144331221222211355521144434411122122221133212211125532113331333122221112212233222133212333323321221111133322113344211112212223311111112211122122111223332222112222122122111221333222222113321111112222133444244211123312233212211111111221111223344211222222111112233312344111221112211111133331111236633111222233323311113323333112331111111122223334422332122112211123312222112212222112333321111222211112233211111221133211136666421122112211133211332112211122133455221112211222233211112332222222211221333332122111221112331111111221221221123311111332111112211111221112211122223321122233222211124433123322111111111111332111112442122124421122221222222122122111111112331122111112211122111123312331112213333221334411112211221111221221113322211244211222233443322222113333222211122221222555222332222332223312212222222211222444233111122223321111122122111221332233222211233233122122222212222266444411333122111221122113331122111112222112211334421222222122221221221233111111111332221332221112211111222553233211111122112212222133331221125532112211221221221111122122111222224422225552222213322344122113323322223322221221133211111122233133211221221122221233222222123441123314434411333332124421111111112212222221111122111112233344432332211443233332222133312211112211221111332244411223322212212331332122122111122111111112212212211112222223345524421112222221111221112222235521111133212211221122122221111122113322211221112442123322144333111122122112331221122111111122221221112222221233122111111122122221122111111333222212211111233111111233222332212211123311111122221112211221122111112331244213322212211221122133211111221113322211111111111332112223322112233212553345513321233122111125533221221122112211333222233333311221122223322331221122333112212233211133366333122112331112211222212222111122114444244332444444412553211111234422111221111122221122221333311221554423322331221111111221111112211122112444112222221122221133211222211332221122133334432123442212211135555222233111111111111332111111244211123313321111122244211123312223441112211111112233313332355355511221244211111112213322212226644331122133331222244333321221112331111112222133331113333124422211133334442222332211221144331332111222211111223333122233223331112212222221111111221111221111111111122222212233334444441221111123663311122221221221111111111221222222123311122122122122112224422233225533311222212443333211233112233212222111244442111112212211123311122221222213335521221221221122122122122111111122111222212213331221133331144321335666223346621221122222222221111122333314432222212211221111122444332211111444334432221221122111332223322211333133211111122111221443311112223311111332332221222222221344422332211332122114433111113334411221233124442444221112331133212211221111122122332133211113346622211122122133322112211113321221133442233133443311221111221222331233333333222221221113321112442222222221111112211221112211112442221112211111223323322213321222222111144334411335522211443331111122221111443212224422211111112211221221333322123311221221111122112222122112212211221333122332112331332123311112212222122111122222211111133211122122221144455133331133314442122221233112233322133312211133344222222122133233211112331332221133344122112211111122112344133333222111123312333331123311122113321113321122111333313321113333335552133332222221221111122122235534422222233331133244322212211443211123311112222222222122111332124441221113323321221111222211111111111222233212331332233122123322333122122111332111122111222331133311222331244212211332112211221222332211133331233221111112211443211233221222211113322211122111122111111123311122122221233221133311111113344112332331122111111111122112222111333122111244331332221443332331122114433224433222211122112212223312331111222553311112222133331111133311233111122112331133211332111111111111222332222333111122244211111122144333222222221111221221221222233344111233335522213321144321332332133211244212211122133311123322222211111123311122221222211122122223322222111112445512211233221111111222223312211112211332111112211332221112366321112211332221222213322222221233112442133331221221112212211112233212222221221111222331221114433111221111112212222221122122122233222332212233323322111222222113332222111111113331221112211124421332332221122221112211133331332124421111233111111223321111122144321554455212444133322223321111221221223344211221443311112213331111111144444111221233244211222222332333111111111122221133222221223355321125552111332444332211144321111222212223344331222211233122112222222211221333122443211122221123322333122111221111221122111222224422442111333112223322111122111333311111221111122122111111123312331113331111111332111111332111111144433112442221111221111221122244211111222212211122221112211222211112211221112223322221133213333122221333222443326643322111122133312332211113321222211112233222111221133311111122333123312211144331244211111222212223312212223311111111221332133331113323333221133211123312331114444122233112331233112211222442111111221221222445512212211111122122111111111122332221112222332111221111112331113323444345522111332133211122221122122112211122122122221111122222211222222133213321133222333222211133211221221333311133212222112213321111221111443311122332221122111332124421122221444211221133222222442122113322211221332111123333222111221122244211122221122221122122221122234422333311111111332111122221111111111111233221221112442123324421111244233211123322221222222111111112211221111113321111111112211122122111112211133211221133233222111332112331332125533222211111111111332112211122111111111221122332233111233122122112212442111122443214445522221337743312244422223311112212553332222122125532554321332122221233223322222122111112331112211222442111111112334443312211112212331122112211122122221221111333441111111222212222111332122332221111332112211111233133311222212211221221111332111111221221221221124444223344322211221244233331333122111111112212332212233312331332334411222212211122122334441244224421122112212331112444311133211122234411112222221223355344211221122122122221221133443322112334443322133311122111112211111221111221122123333211133311114432112212222221111222211112211122221221221255321113321122332333311444233333322111333333222122122122221124423323323344211332222233211221113335521222212211233111122221111122144422213344211144433112211122111112223344331111221122221133331233122333122122332244442233112223312332212222122144421333441122111221222212222133331122122334443122122111122112333333331122332332111221122112332442111133213333122221112211111332221112211111122122221112233211234551112211221334422442111111223321111112233213321112222111111221133311222211113321111122111221221221111111111222213323331333221122122112222222222122122112211111112442221112442122221111125534412332211112244331111222212332211111133222111111244222111113344413321221221221122111221111122111111133211333233112211233333311222332233211443312211111332111223331223333331111233122222211222211221233112333321113335552211113321222443322122111122332111221113331111443442332112443323312332211122443233222222212212211221122122124421332234552233223311122111122111144322233331111222212332442112211221113321123311221112233222122111133442222244222133211111114444433112332233233211221221155443122221122223322211114434443334588321122333333113331122335521122332112211111133211111124421123312224433333122221111111334662111113333112222112211223323344444344222111444211221332333111122112211221221112331221122124441111122233221244212344122111113334443663211112222333333322221133333321111111111112211111111221332122112211221113333222244321122223333122122221111111122112211332221111122122111111112212331111144321112222111332122113334412212211133442111221111111333314432221113332332211222213331222332211133211443211222224421222331111223321133222111233332111111221133211124421122111122112211221111112212222335533111111122133322122222213333111111333312223311221112233311122122222332212211123322122113331233133211332113333112222332122112332223322122111221111233255521111122332221112211133213334422112222124421221222211221221221221112211133211122222222122233111244331111233233112211124421244212211122221133213334422221332122125532221111221111444211221111223334662124423321221332111111233222212212233322332133212222111244433233211111122111112211111112212211221122233111122112222222344111124423344211332111111122111111122221111244222122111332111111222224455122111332222214442222211133212211113321332233113321222211112212222122112212222233222233233222133322223344431221221221112211221133222334433222332233212222223322331332112223322113322212223334466222122123311443211233221112355222222222112211221221221233222233211221333311332333112224442211235522331122221122111233112222111122332122122111113322212331113333332133211111122111111113321221113344223324423322233212331122123312211255333123333211233122122111233443222111133211133211222211122111112222221123311122123322332122222211122122333311122122113322212211111122133333331113332222122222211244213333122112211112222112233211332122221222331111111112333321111333313321112211443441122122124421133442223333111133223322122234422123311221123311122111133313333222211332112211111111111123312211221111221111122123311111244222223322223322111122221122133233222122222222123312222221221111111221122111112211244222111222222221123311111122443311222211222211333332111221244414432122111222213321111233221112332222234411112211111122111133211221221112211112222111221124433111223333144421112211112223442211122111221221122221221221244344122133213333112211111221221114433322333111113322212211221332223322212331111332332122114433322122233332221111122123311222211111224443111122221221233111122233112233233213322211122222332211332221222211111333311244211221112213332211112222111111333333311133311233332221122111111222211111122112211111111123442443313321111222212222221133222112211123322111122122112211221221221112211112211122111122332133211221122221123311111244331222211233111114433311222211122111111332122111222331111221111111113355222112213331111111335532221233111221122122111222211222211223323333123323311111221112664334411221133211111113322222222222112444423333221334412331112211122122111233122112233211112212223311133212211144333221112222111233221111111332333311111122221113332442122111111111222211333223333123552112222444213322222155532111221221122112233311222224466222111221111114433312211111333111112212223323322122112212211112223311221234411111112211444344122111133211223322233313322332222233332111112212224443323321333311222223311122112211221112211114433332133222222213321122443211144455122221111133222221443311332112211199877543311122112212222221111221221122122111122111111122111112212211111332125532111122222212331221113321222222123441111233123311333332222333344433244334551122233111233112212222222332222111221244233322112213331122123344332213331111111223321221122133222111111221113321112334432111122111133441244211111332113344212211221222211255333111221122112212223311122111112222133442112331112211112331111221122133344233222211122123311221122222213333221244223552111133211244442222222112212222222223333211221123322221111144331221111222332222111111222222221111123311221123311332122221122221222212212212211233222442444213331255344331333221112211111222212211221111122112222122332111122122111332221113321334433332222111333552122122111122113344244442111221111332221443311123322111111122113333111111155442113321233334455144331112233311223344144442223311244224444222221234411122111111234411111133324455331333443333333332244433333663224421122111332222233312222122221133211221444211133331112212212211114442133322111233123553311122122133211221233111123442211122111112222221244331255333133323311112211244222111221443211122133222333111332111111221112214432133222111222355442122112211332221333311111222222111111224433221111112211133331221333221111333221112443333212222111122113333111443331332112212222221221111111111221112222111122255533221122122122113322443312331444222112331122222222133442233111122222211133222221133331122111223321122335532221111221111221233222211333322111221222212444422211233332332122111112331222211223333221133344112213321236662222223322122123313344411244422222211222222221112212222112442222211112332233312211221123322122124421244211221222211332222211111122111221133322122123312212244321221123312222222222122123311221133213322212211224442122123442442133311111111222211122111113555212233444421111123322221221244211221122111111332223321111112211122123312222244412222112222112222122221235566123355443122222222133311122111111122221112211112211122111233233133314432221111111111332111244211112211111222332222122332221244331233122113321133322221221111111111111244211112215553311112442221122221123322222553322222233211221443211111332122144331112344111332223334422222211233221122112211112222221122111122221221111443223322122112233332222111133355222113321221133442112211122112211111122221221111123333211111112222122333233222223442224444222122122222446621111111111122332112213321122443212211122111333311221222211221222211111222213331112211443313321233233224442114455522211144422233346621332122333221111133211112331122333335552111332122124421124421222224421111111122122112211122223321112224421111443212223322112222233111111112223322234411122122133331221133211223321221333113322212222111332133222244222111111443211233221122221112222221111112211226655333111122111111111111122222212212213321221222224444211122334435533133344111221122133312233311222222221221112211221122124421221122222553222122333111122133212211222223324433224433122122332233111111122123322221113322211334442211221111111234553344221221111221122333222211111235522224422332212233222113322222223321223331332221122255321144422211122111221111222222221122111133333323312222112334433112331111233221113321221111111221112222221122233111111111234422234412212233212212222111133211123323311233112211113355333112233211122112331133211122123663211144455212222122222222113331112211123322133211221133222111443212211111133211332122111222211222331221111144331333333212212332332222222222144323331122122112233442122133331332255321255331111233333221133212222113333111133213321332222222122122233124422222122133311122222211221122122336644211111133213333111112211111112211122332221111112331233221113332212211111112212211221111122222444111111122222212223322111122111112332212212222112211122221122122332112211222222114432111332113331112211112222111221111224444111221123312223311222222111332221111123322112222133441111122111122332112213366444112222221111111111111332221111221122111333312222112211333112443323312344111221112211112211112212222111112222111555523321111112233333331111113323344211244213323321233333111233123322111111332123312212222333441112212212331122111111113355331233221222212233333332211122111112211111112211255332222111111221111332332122233112212332222221122111122111222212332222221122333333344111443222122111221111122221221222212211221111111221122111221221222223322112211111221133322111111221122333233111111112345522111112222122111112211112211114433443331334411123323311122111221122122332332111123314443311122221122112442122133211221335552133211332444211111112222122111122221221221222222333122111332221111112331122221222226643663222112222111111221111112211221221133222111122234422111222222221112442111123313321112212211333221111111443331222222221122221221122113322212212211122122223321332222222221111122111111222212222113321112222111111333442211222212211333322112442111122112211111112211122332122111111222211122123552112214432221122122112211221221224444424421111124421122111112212442112223311233122221112332211223322331333311111222211111122133331443313344344133331133332222122112331221122222211221122221111222211122122123313321111111111111233122111122221333111221122123333222111111333323312211244222111123455111122223322233332442111124441123323663211111123311133331122443311221233112211112211333312222332221111221122221111221111111122112212211221332333233122133211112553222244413323321122123311112331221221222223441221111221111111222211233111244431222222123312212212222111244211133233441112212212222332122144332222123311222213355212222111111221111112211122111111113321111122112233332233222122233111221122112211222222111222332211112211111221122122244331113331221221221122122111111122122221111111221332122221221111133222114433311111111111333322112443312233331112211122233111111122122233123311111222211112213321233221111122221133222111133233211222211443211222213321221122111111122223321122111233111111123322111112211222244332211111111122113344222113322224422211112212212212442333322332333322112222111133211111111221112212331221112211122221221223333122332222331113321222211221221112222111112222111222222111133333445532233111111133332213331112444223321123312332211221221133222111244212211222233212211133552222331111222332331111112212222122111332221333333443211133213322211221221221111112331221111111111443334433122332112211122122112211122113323333331144441234411126663233331112331122122555333222331111112211111123311221112233211112222112222112331123552111122111223321244233344321221112212211244222112212222111112331111223321111122221122221133233222144321111122113321221333311221113331113333122111133222221222214442221122221222233332222112211221111114433332223444332111221221122122122111112211122333322443332211332122111111112332211221122111222222111332133222111221222212211112331122333311233244333324442221124422212222234411233111221112212244321111224433311223323331111112222233222211122333311122113344122111122333312222122123552122111223322233334433311122244211134442332122221122113331111133663331122221122223331112212233311111133311221111112212212211332221122221111332111221122443311111111111112442122111122221112213321221111112444222211112211221443333332222122133213344213321123333322112212212213334411122122122221111221111111222211112212213333122112222233221111112331221111123323311233111221122122111111122122113324432221133311332112355222111222212211111233113321112222133553211334442212233311222332211111221122111112222111122122111122112223322112233441222222122222444123322111111221111222211133322221111112214432112212345511111122112212211333322222233211112211112211111221233221111134442233111233221122113332211133312212223312211233332233332221233112233211222211112212211112211443213322212222112211122333441111122112211122443212211111122222213321333441111111122122112212222133211222213323355444111333312331122221332113322331111111332112332332222221221111222331443311221113332222111112333321133212222111221133211112222255322212222111122222211244333333111123322221332111111112222122122112222332122112222233333112222111221123312211111112442221221333111122221133311333311222331111333221122112222112333321122133311111124421111111111113322233212331122223344112222111112331112442111111112222221122122111221122222211221221111333233222222133335553211114432122221111144355224441112211223331222331122234433222111332221221122111122112222111112233334442221122111222211233124421111122333221333311111244211221113323331111221112233441122112213332212212211122111123311111233122221122112211332112331223331221123311123441332133222443213321111111221111333111122114432113321222212212211222212442113344233211233221223321112223311221221332221222212211124422331112332211111111122244224441111334411112331222211111111111221123441113332442123311234433311333313333111111122221221222212222112222123324441122221222211332122133212211332222222111332123314434444212331123333331224444111111222331122221111112211112211221111111111244211111111234411332111233111122221111112222112344122113322444311221113321223344211133332444122333111113321111222211111222355222111122222212331122111333112331244233322222212212211112212332212233211221221112211111222331244551122221122111244423333443322224432111112442122332233244222222214432222222111222212223441233133311112443311111221133442333122111221122223321223331111111122221111221233111233111112222233222222222331133211122133222122122123322221122112213321223331221112211111134441111123322222222122221112222112223443321112212331334421122221111444212211233122221111122112211111233122123313332444422332222122122111112212211113321111111123311244212222113321233222211233221221221122111111221122223322211332122122111111112211133311222212211222212233332211122221332112331122111112222222211112222443455111122221111133212331111122111111221333311222442221111122332113322211111332221233111111122333441112211111133322133222221222211233111124422222122123442212222112211111221333221111333441111123311444444122222212212211113321123324421111111123333212222233122111111222223322111111221111111221112211122122221111122222211233111221111133442211221111112211221122332122221112211111111111235523332332211221111233221234422111112331222331222224444222112331111113334411112211122112211123322112211233124421111112223312233211222212211112222221111221221223323333122111122222222332113324432123311221111122221111221223331221333333111122222211122144421221221233111123311111122221222211224432122221122444211221123311113321123666442122111111122332221221111221221222233441144421123311111221221443225533322122332111444442221111222212332211221235553133443322111112211111111122111221222211333221133332442332112211112211111112332211122112211122221221332221122221221221112331111222223311221111111111111111221111111222212555222112222443441113322331133222111221221221111222211554441236666133442211133332331123312233332211122222211221113321221332122112211332221122332111111111124433111122112211112355222133211222212331112332331133223441333223322222113333113334411111122333223321111122111111223331221111111111221113322212211221333112211112211122233112211111112211124422443333443311111111223333333112222122111221111332113333122111111122123324424433113331332123312332211111111112233222221111221221112222122111112213334423322223321111114443441124441332111221112211233133311221221112212222333111332111111122223321111111122332122111221224433222212213332222221222211222212225532233111444211112222222211122111111111221112333331112222111112211122112223312213321113321112444412222221123311333311122111122233123552222222111113344112211222212331112212224422212224422331123312211111112331221244211332122112223313322222221222213332222111233233122111112222222222112212233233211111111122111111122111114444411222222222223311221222212211244423311122444411222212211112212233331223321111111332221111111122111111111112211244222112222221333322122334444321111113333234422233223321221333312211122222331111112211221112211112212213333333333111221113321122122111111333221333222211122111224442554333233133211443311111113323331122221222222223344222111112212211334412211133322122122244222221444211221122112211122221332111111111111112211222212331332221222211133322122111222332222111133322221122332123333213331112212212211222212212212211111221111113321333311222211113323331233113321112233323666213333111244214433322333111221122112211221334411244442233221112442244444333322221222233441111144344212222332223331221332111111123442233211111122223322211221233112331111133223311111255333122222222133311221221234422111122123311133211221111221112212222221333111123441111122111111222223333312211111221111221133331221111111122122111122112222244212331122113321112223311223333111221112233233331222233441333444332332223311112211221111112233312222223322211111221122332111112224422212211122332224442122112222221122122123552333312331222222221122111114442223344223322333222212223323311223322212222122122113333112222233113321222332213321221111221222344122111111224444422211112212553441221222211112212222111221122333311223355331222442111233221221111233122111111111221111112331244211112211221332233112211221221332111111122112211233332123311222331112222111122111222331112222112331122221111223323332332233224421122222212211112233212442133324424432133211332233111222244344422333111222222112213333222222133212222223321111112211112331221233133233322222222233111122233111111122222222221333112355223322122334444411111112211122112212331111112222112332211133331111332122234412331111111112222112211133311111112222222211122111233122221123311333311112442221124441111332125534444222333322111221122233111123552111233122122112331122122122111222331122221122222212211123311221133211222213322331122221244212214445553322122122112331333111133312211122221111112222333311111111122233443212222122221112233211221333311122112332211222355211333322133312331221111233221221111221221221112332211332222212331221233222211223355321112222221233111222211221111111233111112445513321221122122113333122122112211443444112222112222112222133211122443311332111111222211122122221255331112344122222211122112211222443312212233233211113333111111122111221122113333111222211123313321221221111133211111221122222222111155533455111221122223321111221222444444212222113333221111123322222222122113321221122221222233212212331233122112224421122111222211122111111221222331111155442332233133344332112223322111113333233333322221112331233133312211111221221233112212211332114432111255522211114433311221133211222211111133212223322244442223323332222122244212211111112553312211221112223333355344112211111111112332233224433222233233312212212211111112222122112213331221222442122111332111122222211122111244211111122255535521144334422332111111233233244331111221221112211222223442211122112211112213321111332255344123333344122111112212222222212222235534551133211112442111221144331333322111123312212211122221221111221111222211124423323332331111111123311112212222122221221113321111122222223311112331111112212213333221223322445511111233133331144444211111244411122122123322332111122111223322442122144321222211244212211332112212211111111112212331144321221122221221334422211222333321236633122155444112233213321225553322122221122122111111111222211122111122123455332233124421221122122111111122554421223344332233322221112211122221122223321122122111113332331111111221122111234411112222111221333222331122221122233112233311111111122112222111221223334411222213321222211123311133213321122221113321123322111112212211223333221221133311221111223331122112553213322213344211111122111235522212211122332221122221233133331111133324441221122111221111233112222222211222332211122111332222212222221122111112213344111123322111112214433122111124422222111223322211112211133222122111234551122221111111122111133442111221122122122222211122111122144334412211233221112212211111221221332111221222211111332221111111122221112553211122112212222111111122112211112244322212211111113333233144421122112222233111122113321443233312244322211233111111111221112234443311221133211443233211122122233221111122111333323312332331221222332211222212212212212222222211122332133442112212244321122112222111122111255322211222211122221113331221112211333222211122112222111122233111221111444222111111133331221221113344113323321222222111111111332122133225532221111111221333221233111111112222222332211111111221244411122122111111112355211111221122122444411112344122122124421111114433124421113321221111333312333321221332333323322221122111333311122222213333144333322442111111111133222233111244333321222222111112331113333221112222111221122443331111112233223312212332211133211222213321221111111221337744311111222211222211124466211112212211122111114435532111111122122113321112212222333332221221122223333111122122244411233332122233222211333312212222125533322112211334422222221333112212222221122222222244212332222122124421111113321111122221222211234412233211112211221221221111122112233211113331133211222211122122222222122222331233443222133331122122133552112212213331222224423321122111221113322211224433312222122122221221111112211122222331221122244422221233222233211122111111111122221221122122112211333441111111111221111112211111111222211222211111221112212211333112223311111244212442221112344122233112331111111221221122111223321122123313331221123441122122222211122235533113333111122112442222222113321112213322444111111221234423441223333112222111122111221113331122332133233222111244212222112222222223311443311111111124421223321233112331111111122255322222122233111111221122111123313321111221122111223325543322221111113331221122112211332255533122222212222221123441234412211221221443333321122222442443233332211332111111221222223312213331221222212211223331123311334422111123322221221111221122144355322211111224433322112223441122221221244211111332111112233211112211133331221122111221112211133211111111244555222332144333233133322222212443322113321112223311221221222211333554433221222212223311233113321332133222112222111443312332211222331122112224421222233323311221332332222223311122111111122112222221111122122114443233333111233122111111111133211244222222211111111221133333322212244421221443212211122221221111111221122221122122222555312442233111112212211222211122244223322111122122123312222332122133344122221335532112211112442133222221111112233442211221111112211332112211112222111221112223455111111221222213355222155443122221244213321222222332122112331122122112211333455122111233111122223321133333321333311111221221113332442222443322133311221111122233111222244434424444222244211112222123311111112211111111133233211111112222111221122222444221221111221122123322112211221111223321122111443212333322443312211113321113344211144443322212222112211221111221111112211122111221111221133212212212244434412211222233211122124433111111144331111122122333312211112213321113331112212211221223321111133211111221123552333323322123311133322266632111144442211111112222112222122111112223311344422332111244442222233344334444222443211112222222211122221112233212211122122222222112212212344333221221111111133444222244433222443311234411111113331332332133233211221112233552233111111222213332213321123442212442133211221122223331122112333322331111144331233112442221112212222444211221443311112222133332222122111122221125553312212331133331221112211111122111114433311112211112222122111144333122123311222331111221112213344422222331222222122332255321332122122221111122332122221111333323311332223333111111222211112211122221221113321111113331111332255521122221111332122111221332122111122221332111122133212222334421122333312211122112222112212331221133344122112211122332332112211122223331112213321112233211221124421111221133212223312332331222222221123311221233112212212212212211111112211125532124455533122222332332355223441222331122112211123312331112212211222332222332333312211221111222223311122112211133211222222112214433332222377433221233133311111112233214443222443313322443311122221114442122122221332244211333112222122221112222113321122111221222211112222112331112222122111112211112213331133344221123323311222332211111221111333312211123552333122333133332212233222111244211123311333123442211111111112223323311122122221122123322333333122233133311113332331122133212222223366632221223332233211125533311111222211333113323321332221122244211235522222122222212212331122111221112211244222222233233212211123312553444111333111221111111221123323441233221122133211122133211333325532221111222222221344433111113331122111122222222112211111112332211221112331222331122112233311111221144322331133212333322331111222222221223344422133344111332122221222446643333222111332221222211221244413355551221233111111113333335532113333111222211233222212444423321122111112244344212211124421111222222111124422211112213322212223311111333322221111221333111221112212222233122111111122122111223344212211122221333322112222112442133312212222111122122111221332112331344455334551222212331222211122111344411112233211111112211112224422213334411221111122111111332111122332333122233222211333133322144344333344333441125532111122221112212222122221221111111233221444211233221221233111111244332211111222222133355331133212442111111111221111244211111221144323333111221333333111133344233332333112233222111112211122111111112333322211112211111111111122111111122112211144334433222122233111111122233111221122111111111112211112222112212211222211122123311221112211222223322122222212331221133442111123323311112211221244211224443322111244331133311133212211122113323321122111221332112212213322211122122114442222442111222442112222233221221111111111111123312211112332213335551332222212332222122233111221255554412222221222213321111233111111111111221122111222212211112331111111112212222333322112344222211111122133331222211113344211223334411112211112233313332222133211122111122111111122111122122111111111333322111111122113331233111111221221111133214432113331233124421111224432112211111221111111122111332113321122111221113321233111221223321222224444213321112211111111111112212211113321111113344221122333311111221221122122111233111112222122111221122221123553441112211122111111222213344411112244323321222332331111122111113321111111444323322223321122112553444122111133313331332122112212332211332112244333221112233213333335523331111111221122112211133213322332211122113323323321112211111123333331221123312211111221111233111122122114433111112212222233122221111111333322233133222233113321112222111222212222444211133322111122221113355333111111112222222211122122332223322331221333122221233112213322222134442122122122223321221133222221112223443444111233112222112332222111122111122334421112211333222224421221221122112212222111112212223311123311113322211332111122122111244331123441221222222111122221112443312222335533555111122221133332212331112331222333321112211111133223322122122221111113322211113344223311233111332332444466222221111112222111111221333333133222221112443442211112224422553211122122111221111222211221122122122111111122122221111111111123322223322211111133322111111111111133311133322222211111122111133311333122222211111332222224444233333322222334421221112332222113344222111113324433323322112332222221221114432235533332133314432222222112223311122111122112213322212211122221221111111113333124421112331112222122221112212212211221332122333315553311332221111112443311112212211111221122111222222122221221221113333122245551122221221222212211122221133312211114434421222211111111111122111111112211223321221133355442122111133211112211222212443344321112222333311112211111122111112215543212211233144322331332223321332111133311114444441111112222112222112211111124444331332333122221122122111221111221133212211122111112222112213321111221122111222442332133322221233122112332211221235521122122111112223322112222122112211221114432221333442212222122133222244211221222332212212331223321111223333333312213322442122122111112211111111111221113324433311111122222211111133311122122111111122122233111111111133224421221221443331111133222112212244321111222212224433122113323322211112222122223321112331111144421122111113322211111111111332111122222222122221233221122144321233123311111221122114433222211111112222221111122111122221333333222111122111124423346621111122222222111221222211112211111111111122223333221333111122233111111122222212222244222222211221221111113331223333112223311111133222112223312212211222222112331133212222122112664444222211114442222211221122111112331122111222553211111332221443211221111122122122222211111122112211244222233133331221335552111221111133222111111221112222233244333321111122233113333111133213321223331221111111111333333311221221222222112212222122111443332222222211111332223344422112212211112222122144333111233122112222111122122111113333233122122111223333113322222233113332222122225553222221122333311221111112211221244211255331221115553331233255321124422222222332222111112211111111122332111222211221111111333311122122122122111222211113324432122222222221133313321222212211233244222233111222211111111443331222222112222111112211122112333344222133311112211122122111244331112223333311111111221112211255321113321113321112222111122122122112332211122223321111222211122111122255321112213321111123322112212213344335522222112212222112212211111111233244233211221221111224433112211234413321112213321112255533112211221221133211122221123311122221333113333221112211221112211221244211111113333221221221122122112222122233221112223313355321155444422331113321111233122333322124434411144455221111111122233133441122114432113321122111111112211111221111144333235533122122223332222113322212222222211133233311221222222111333144441123312211123333332211111111111111112233552334455122443311113331111221112222111111113321233124422223552122221111122144333443222122221111332112222122443222332112211221144332211111222211221221222212223311333322122112211122111221223322212211224445552111233111123311113332211113331122111122333133233322113321111123554421221112333322222133344321133211123322222233311111221111111332333311443211222211221133212211111111233111222211133333222113321221223555344211111111233223333332111221221222212255532113333344553212222221222212211112332222333113321111122111112211332233221111111222233322111112442123322221333222222111112211233111235521333221113322222335532334441221133331333221221222233442123333211222211111221122122112213331111125532111221111221111332111221122112224421122221111133443311112211221113333122122111222211122122111123322112211113331221111111222212331111221112442223333112331222345512443322133312211221112212211111122111111111222211332221112331122233113321111111221111224432112211222211111112443312211122233113321111221221221332112233222221111221111122221111122133222233112212344221111111111114432111332244211222223325533322113344212212214432111221221222212224433122222233211223333221233122112211111111234411122221122133322122111222664331133211123311222211123313333112212331111111122111332111111221111222222221222211221221113344211221233221222233311133366331221122221221123322112212332331111222211111122133212211332122221221111122332332111244224421221111133211111112211222212222111332332111122111111111111221444331112222221123333313321123311111111111233111112212222233122112211123312213333321333333211111111332122133444433122144321221221111123322122112211111221112211122221221123313321221222233222122122112443441222334432111112222144322212344222334432112211122332221111332133444433113355321123311144321111333122122443312222111112212211133311222332211223332222221221111221332122221133223323312212331122221333133444411255331122113321221124421233332111113322211222212213331112211111122122112212211111221233112331222333321332234422221233221333112222112222223321111222211221222553212213334551221133311111112211122221222222111255333112211122112211133222122332111221112212212211111111111111222211133333322122111223322213322211133211112211111112332223312211111112223322111222222124455112233322223321111221122122112211122221333111221111122111111113555332233233333211222212213344444221333311111133332211112244434422113321222212222133355211111112244322222122221111122144421221111221122123312212212222123312212211222211111122122111122133333331144424432233111122222332222233112331111111223321332233244211123313333233133333212331123344421111222442222332223311344411122332111111221224444244411333111123311123322333122112211111333123311111223322211244223442212211221333323441221333311111221122113323344212213333334433222211333111222443311113322211111112443311222331221111111344421133222222222111122221221111111144441111221221111443211111112211223331223331111111133213321111221111114442123311221255321224433311111221112222333322111112211233224433122133211111111112222234412233212211235522211223322211133211222331111112211221133211221112222221111222212211111221221334423321111112211111234773311332244431223331222442222211111122113331233112211111221111221133331112222111221223332222332112211122112233211111221221222332222222233312355222123311111111112212211111123311222211233222212211111111233122124421111221111111221112211111111122222222332111233111124423344123311333324421333332221114432133211111122111443222111123322133211122221333122112211221221133222111113331122221221112222235521221111112211111122123314433133322122221122113331111221333311222222221233222212331122233112442333322111234411111444212211221122111112224444332222222344111114444113321122122221221221122222211122244212224441122111221221221332222212212344333221144321221221122222211111221111332333311111223333221112233222122111222332443443322211111144321333112212331111122123322332221113335533123311111111223332444111221222212211112222133311444442221111112211221222211111111244212233233211111111221133332222133233213321111111111111122111111221113321332122122333552111122221122112211122221222333333221111112331123333222111122221113344222333221443333331332111111113344332221111122112211112344122223334422123333211334421443211122123555111221234411221112331112244442212222144421133322222211122221233233112223312211112212664446621133333331221122221111111122334422212332222123311111122122122333233111244212443442244321112331332113333111111122222233222221332224432221221111221221122221221112213321221221112331111133332212331122221112331112332212212222223355344444221111122133322222211222213322213321221111244422221244211111111113331113321333312211332221221122444212222123311122113321144442211112211122333311332111115543213344122133211124421222233233211221111123311133212233311223322222133442344111111111233221111221133312211111221112332233344111332111111111122221111111111111111221233133211122111112442111113332211221122112222111221122332332233111122111122111221112222233221133211332111221222211133331111222211122122233222331221133222111112331332444255433122133331112211112211123311111122233111223321144331244211222212211221222211221111122333313321244331221112222333311111112332211111133211444213322211221111111233221221111111233111222214432111112331333221222211221332223324432111332111111112331111221112212233312211122111444211111111111112222221233122111111222211333324423321221122221333311332122112211122124421222443324422333331221221122122113321122221111112222113333222233211123311221133211332112222223321112344111233111122221333311125555122222333331112222221123313444332111223321111111233233332122133222221221111122221122233111222211133311332111111221222222111221221222211112211122112212331221122122221222211111233333312211333233112223333311332333312233222332124421222211111221222223313321222222221221122113333113321221111111111221122112211221112224421221223321112211111221332112211221221221233111111122222332212442111111333311112222111333221111233222344123312233212212211221112212211111133213322222332332133312212211122111112233222221122333312211122111122333311221111222222221112212223322222333323333133211111122233334434433211123333211144333221112211122144322211221223322332211221122133212214443312211221133224444222332133311332222233233332211221332111133212332331133442122123311123311223344222122122114442122122221123322233222331112213333112332222233444466644224442211222211122122111333122443441333122222222122221111122222222221233133331221222222221111233112233331112211111123333211221221221333111122113332331112211112211111443311221233233332333122122111133224422212222112222112211111111222213322212211332111443322444344112212222244222111111112344113322222111222212553344112331122111111233332111112333344222233221111443212212213321122233332332233344442212442333111111333313323333111221111233333133212211122112211122112212233211111122123455223331244211111221122122222211111123312332222112211222442221222211443212344221122112233211112233211111233111122114432111244212332212233211111111123442443322111111221332111332122111113321133212212223311222331221122444222111112211111443222221221333333322144331221133332664421123322112223311221123312211334433111113344212332211113324443441332111133222111111144331111233223321112213321111443211113355333331112222222331122113333112333321332332221333312222112331155532332111122112223322221333222346623332211144321133212222111221122112223313322222221111112213321111111221113321112233314444311122111111122111221221221112222111111111222222222211122333333445534552213331333312211332222211222442244222122111221222212233211221111122112442221113321122111111333235521222244322244334411222211221123322333133222221221122111111221122332332333333333322222222211332122332122222213322233331111112331122122221122335544222112222122123312223322332122133455111133332212222221122111221122112211233112244432213321222222221223334553321123322221122112222221221332122221122335544233331133442221222211111221233111112233211221222212377433111111333233122122111122112224421233223333123311332122332111122124433333122221123322113332332211111111222443442216664321111221111111233112222122111221222212212211221221221444211111221112212211122133663213333122222211122332133212223663244322211111112211111443222221124444211111234411221112366621222222111112212222112211233122221122122111221222442233144321221221111133212211122111222211221112211122221111221122123311111111111221221111113333366323333122332112344122244212222443344233233233222211111221124444441333311111122223321122122111111111244222332222332222222212222221122112212222111111133223312233332233211111111222333331221133222111112222222211122221111111113322222122111222214444332222233211221266432233111133311111221133441111111222344123552111222212212222332122111113344211123455244331333112212223552221111244211221111233124441111112222222332211223321112222111123312211221111122111233223321233112222111221111122223322222111222222122221112442111112233333211112445511122122111332112211112334432144444332133311122221111122111221221123311123333222224433344321221111111111122222212212233211133233331111222211333443212331112222112212331133222122122233122222211221122123344422442111111122221222211233332221111125534422112331112212222233221332222233311123441221111111233122222213344233332111234413321144422222113322213333112211222212211122111122112666333111233112223322111123442211112211332233224432221111113321123322222244331122111112222233122122112212214443112211222222111111111111222222112233212444311332222222222331221111112331111112212222112211112332233442332123311255333221111223333123333555233111222211122122112212211111112331133212331221113331111111332111111221233111221112222222442332112333322212211111113355332222221222331222211111221334553321111111111222213322225532112213321122122111112212223442211244211111221223321221332332113321111233111112212211123311114432111221112222133211122122334411122222331112211111112222111222212223311111111233221222211111111124433111221221112211111221221335522222221255332332213322212213333111332112212444433332111233122112233233332211332112211221111221221221111111111443311222222122122333322332133213344111111112553222111113331112233331222355442111333111223334422221113344233221111221111332111111221111223331221133212222221133344433222222233221111222211111225543332233312211122111133332211221222244422211113322211244213335533122111111111144321111122333311221133442233344115543224433112211244412211122233221122111112222122222222111111122221233123333212211111111221222212211124443122122112211221111122122234551244334433111111221111222223312223311222211111111223321