11123311111244211111112222222213322223311233111123441111111112212211222344123311111233133332222222211223322233377433332111122221111112222111111222222111221332111233221111111133331111221112344235522222111221111122112212344234413321112212222111133332213322331111221221111336643212233332332211221222213331221221111111334411112211554433221244222122333122111122133212332331233144422212331122332133322332122332221221111112212211111111222212222111122113331112244334552212332222122123311112211122222331111333442331223333223444221133213321123311113331111112211122244332211112211133333211122112211221233111122332221111222332222113333333323455112211166643455111221133212222221133222122221334443222211111333221222222221222222112212212222122122244332211122123442222332111255355511122443331111112223441123311221221333333322222212211333312211222211112211112331333322221111123312223333442111122133344221112211111122221111222211332221221112344221222211221122111122222211133323311244222111221112442332122222233312211332123552122111221333322111112211112222222212443311111112214434422144443322222221221122113321333322222211111111123323312212222112222222222122112331122111122113332442244551332233222213321111255321111111123322111122111333221111123311221122133211443313333221134444111221122133441113333123322111122221221233122222211111111111222222111222222122333441122112211111222332211144321123322111221122221333333211122233122111113321221222211222211111122332333311222222112212211122112332211133313321122112212233441111111122332233112222144331112211223321122122221113355211113344411111222344111111111122221112223322333333224433221223333221111111332222212211233221221111112222222223311122333323311233222233332213333122111111133211122123311111133211244422123322122223333122221222332211111111133442222222222222212222112442221222222122222222221122221112211444212211222211111122221222224421122144421332122112235553211224433223344445512223312233311133332233311112222122332122111333122122111333322111122123313321332111122221122133322122122111144355523332211233233112224441111222332233211133355444111221221111221122122122222233331443324444213444331221111332112211112211233113331122112223552332233222212443552221221111122233133212211222233312211122133312233222111112222122111122111333233122111122123312212331122333322112222333322233112222111233233122443552112212211111221122221111124433221111122113331111122332122112211223322211222211112211112223311155533311111221111111244211222211244222222212222113332222112211334421221122111111223321244331123441114433322234422112222122255522222111111233221111221122221222332233333222124421233111111133213321111222211221123311221122333442222112224421255322211334422553211112331233244212442112212223322221113321122233233133222234411111111221111221111443331233111221221111221221222222122332111221221123322111332111112211221111111112332331122133211221221111112444222211144333111133222332332222211221122443313321222223311111221223322211122112211111111112212224444211221112333321122111111111133222221222366333111122123313321222222222331111222233344344412222112223311223323333322211111122122221332144421221222222111113322331335533221111233221111122111111111223321113322222221113321111123323311221111221332123311122124433113331111221111122111111111122111333122113333223322233331111122111111122122123311112222112223553323443322233212212331112211333244214443311111222211122221222222122222223312224441111221123333332442111221144332233311111233221233332221332222222221111233111112211443222122111112443312222333322221111223323322331332111122222331122333221111255321123322244332212222222223443334412222222222222212211333466212222222211222332215543445532123311221111111123333233222221111111112222122111133331244662111443222244411111111111332122111332221221222222133212211144331221221221111111222212444422223312332222112212223311122332335522442113323355223333222122144321122111113322332213344212211333312331443331221112223324441112213334422113321133212214432112212211221266455521112213321122133222233111111111112233211112222332123311122111122224433333442114432133555212211333312333333113331111111111443211111111112222133244322211133233311113323331233122111554344433311266445532111221221244433212211122221333442211334423322331111221333114432233112222133442233211111332221221221113344213321233122332332111123312224444211221221122111112211222212332331111334422211112331443212333331133211222212222111112222222222222211133212443312222123442334433122221334413333221221221111244444332223321221111224432122123442212553212212222233122122332222331111111123313321112222122122111112331222233322111112222113332222221233222211112553332222332221112224441111133324421122122111122221111133222332333111112331133344221111112212233222221221111111133222244212222233221112212212344122111111123311133223322112223312332211334455112215554443441233221122443442111332222211111555321221221122222222221111221222211111221223323333111221333443222222212332212331221224433235523331221111114432112212212233444111112211221255321111221123311112233222112233311233111111112331122133222112211133212211111122111244222221221554424433323323322222331113322553222111112212233211221111222344332221223331223321112212211111122221332133553312211221221113331444332211122133211221122111221333663212211222331221221244442221221111332111133312222333144321221122112211113321221112233322334421111332111221222212442133322221221112214442155432122221221221222212222112211111123322222211113332442333221332133442213321122221111221133223311221332122111122122221122133212222221111111111222212211333312211133212211111122111122233221233224432114442111221122111122111221111221122332111112222111111221112211112223322111111112553344222211223321221443222114432122124434411123322332111222223312222223321111221332221122144422211122332244222112213333321112211112223313334422111112222112211133311233111112222111122233221112212211122223322222122233111133552111111221122133442123311221235521112211221122111222211111122111111222332211111444211221244213444113321221122112211222222112211122233111233111112212212213322443311111221333222223311221122111122122111222331122112212331122125533322111111133444233332122233133213331122111111112222332122114434422211111233221233122223321332333133314434411233122144423335543212233222155433441111144421112222333322236633322124444211221222211112211332112211111222222111111112223443321443223344322222122221111332122221123311221221122123312442221222211222332214442221112211221221333221112222222233311122133312222111111122332111122111112211333111222212211222344111122221122443211111122122111112211122113333111244212442222223322112222233111155432244211111111111111111221122113324432111221111221133553322113323333124441112212213344123311222222221332111221111244211221221333114434433222222444212233312223312223322222233211111122221112222122333113321221221122332111122122111111111333552221335533233221111112211335524432111144321112214442111122111111221233122221111111222222221112355211111122111122122222211113331123322133211332222222111111233233233222211111332221333234411111123312212222222212211444311221221111222211125533221122111122223322212211122124421112224421111111114432221112223311112211122111221334422335554421221111221112442111122111221221221122112211133212214433311111122221111223321221222212213331222212222233111221113321113332211112212211113322211111222442113331333311333233112211222222112211233233221334411111133211332111111123323323322133441123311123311221111111133222133224433255331112211122111111124441223344222222212211111111112213321122133322223331113322222221221111122122122133211111221233122233221222344332113322222111123333211122233221112553212211111122334433322233221112222221233124421221111122124441123311222213322211221111221334421222553255433122111111221111221221233223333221244222221111122111111111122221112442111111221144331111123311221111221221112211334411222211222212211112211233244212211233223332211113344411112332211111233111112222111114434413331223333221221112211122113333221222332332331222331223322222111112211111112222111144421333311333322221122111122332111122222211221222211111221221122221221112442221111122221123311332332222225533122122111111111124421222211122122221111221333111122122334422112233211221111112211111223322332233211112332211111111111112211111112211111112211222212212211113321222344122111122112223312211221133222244422222334432111111133211221111333222212233211112211221112224421221144321133212332223311221111112444444222111332111234433222221111123311111221233332122133331221122133311122111111233333112211122233221113322233444221133311333324421332123312222122133212211111244412332211222212212211222211133331111123311221222553211112212222223321222211112211111332221112211333221122235521332122221111112664321234662112212233331112211222222332122111133222233112442124422211112233224421133444112211332122111221554323332222333332332112222112212212222123333211111133443322112222111111221112334442113322223322111233111122221221122133311122333441221111222211221222331111112212344332122112222221111111222211112234442111233334433122112331112211112212222122124421111244211124433111112222332332122113333111122144423331112211112211112222221221221122112211112212443322111221122222553212222222222221122233122111111112211221222331112222221233122112211111221111222211133331122111221233233332233112233344111122122122111122333314433233133331221122122122221222211222211113332331111332221221122332221333322122111122332221111443332214433333222111112212222111112211122221112212212222122112211111111332111111111111112222111333311112222122332122111122255522223441122114432111233222331222212222344433222233211222211111333111111333221111333111111122122332221111221332112212222222214432221244211112212211123324441122122111111221112211123322112211111444222133211111122111111111233111133331221112332344144321111111222332212213321221222553222111221223334422111124422211221221112222333221122122222211221111334422122221123443331112211112331221233111111222233211221111112222122111111221112211244212344221332123312211111255333332111221221233111221221333312211133331122332111112233332233222123311221222211133314433221112211122133211332332112211223321133663311233122111122112222221222344221122222212332222111123311124421133322144441221122133211133212222112211112212222111221111133311221112222233111221111122122222211221133211233221122221221255321233332144431112331122124441112212331222442221112553244442442111122112211122244332331221111112222222211112212211333123311133331233111112212233222221122112211111122111111122332111122144433222555345772112212223312331233123322221221332123312223322112212212233323311111234551112212331112211234412211122111111333322222211111222211111332222211222212211443331123312213333111111122133211255331234422112211221112211111221222213321221244442332122133331122222233333321122233123322221222211122112211244331221333111233233221221112211122112211122221244212222133212233332212223322111222212211113331112223322111112212331112212233332442124421111122111122221111223321111122333221112553224422332222221112211122133331332112332344111144333111114444112213333122244423333223552113321111122122221122113344222221221111112331123311332111122111221133211221221133212211111111113355222222233312442222212233233214442332332221122124443331244222122332122222222221111123322112222233333244212222111221222443311122112212332211223322223323311221221221111221122221111122122233122233111111221111122111112214433111111222212211221111122233332111235521122221221111114432122332122221111221333233112331233111221122122221221223322212222335533233223322212211222211221334411111334423333133222122111111111111233221122122112222111123455122233122112213324433322111144333223321111222211332112355222332112331221111111221111233111133223322112212222122111222222332124443332221122113355223322133331244211332222211233111122221233233112222122133331223321111222211122111221244222122111222211112211111222331332111112211111111113323322222113321111334411222211111114432133211111123311122233333555552111113322211221222344122221233112211111332244211111221122222222122221111122122233111122113331221133213322332211333122221122111122122244423333223324421111133212222332332223321221221133233331244551222212211221221332133222122221112333344211223344221221111133222122134444122122222212222122111123322112222222212211112331112222112355211122111111111222212211113321221111122111111112211122221221222211122233221221334435522233322111333325552333311122111333311112212344111222211124433111112212222111111111111223335521333322122112222221111112211333221112211332111221221111221111255321111221443222221221122111222211244213333123333211122133331222211444211332221221333311221332222211221112442111122112332233322133222122112211221111221124442213344331221222331113333221122113322213344221221122111233112211144423323324433311333311124422211123322122112222221244412212223312222111112222222213323332211222211333322113322366344225532133211221112211112442222222221111122222211235521111332112211112211111244223322222211133211112222222344111111133222113323321122111222332211222222122133212222221111221122124422224421111221112212212211111112331123311114442111332233112222122332233221333311221111233111122111233111113321221112222222211112211122111122111233112222221334433112211112222111233111443211112331122112211111233221122133355555122111221122111223331111332122122111122221112222122112222221111221111222331113333221221111112213333221223335534411221223321111443333333212222111111111233332332443331111111122222331111111111233221221222211122333311111222212222221113321334422213344223312442133223313322212224421221244211332133211333322112211122222211122122332222331244222111221112442111222211112211123312222222344111122221122222211111133212211111122112212222112333323321333312213321233221111122112244333133212442255521223355212212222111233221112211223333322212554445543211111112211221443322112211111112222332112331332221221111222222111112211122122111111244211122112211122221233122221221244412212211333133325532122222222122244224442211133212211221221133312212213331233122221123313332331111122133443312333444244223312331122112222222212212222111133211112211111112211332443322111122221113321135553211111332244332213344233344222233552221133332212233355211111233244331112211113331122133211122333322114455522111221112214432111122233123311222212331122221221112332222111123311111332124444211122221133455221443443322122112211123443323331221123441133331221234422222223311222215553322221222211122122123311111222211122332234423313345513344211111332221122111111133322221111332111332122113332222112211223321113333123311122111122222211122111122155433333311235553332221233123312213332331233221133222133211113321112332211221122221222211115543233322333313323321112211222211144332211111332222211112234446664422111221112344111113334422222332442133222233122115543212211122221111221111111111122111112211122112211122122133331111111222222111112224422222335533111112211112222112222221111123311111222211334422212211333122122111111222211221122122111223331133331123311111334422111122111111122123311222212211133212211112222112212211111224442122244233212211222222112331221111221222332211112233334433221122221123312332331111122112211332222212211222211111223331114432111222212222133211112442221233133442111112212222123313321111122111122221111111112442111122112222335522345533322332221122122234422123333211221111111332122111332111122112222332133222221221222212331122244222221221122111111133332212211111222211223334551244211222211111555321221221111111221112445532133322122244222112211112332211233144321112332211222211122122111111114442111221112211112211111111221221221122233111111111122233114442111133331222212212211112211112211221122111334422122112212211122332113333221122221112211112211122221223344222122114432222212222221122332111144442222332222222111111443222221122111221111111221133211111244212211222331333663311122125532112211443212212212212553312211113321221111112332222221111113321122111222211122111221111112223311221122221221112222111234411221113322212211332112331133233212224442222111133211112344233122221128865553222211221221255332211122233112222221133332331233122255333122222212212212222112211112445532122112212331233123322111112211222213344332222123322221111122233122122111133211122221222211122333311112223311111112553211221112222222213334412211332111111111122113332211112244422332553222332443212222222442111221233112347732133211122122112211222344221221112211111334411111133211233111221334423333233332112233222111122111333322332112553312233211222211333112222122221122122123322122112223311111111332122221111111111111111122111221334411111133443332211133213334422122112223322222211332122111122223344444322233221113321111111113444223555221233133311112222221332222331122111111113321122112553444122334551111123322111112331111221111122221221111222212222111111111111221111113333222331112224422442222212211113321123441244222113333443244433122122122111332112442112331112213344332331112213344111111221122111123322443322111222212331112212355222221122112211114442221122225543311112331222222233111133311112211111112332211112244333221133212211333322222233312443312224421114446621111112211221144422222221111111123312344122111233112223442332442332122222233322221222331222442133212212222221122112212211233111111111221111112332222111112212222111222212211222442111111221111122111112222222222134441112211333111113331122133344111221111221221112211112211123311111122221221111221221221111112222332221221221222344112211221112553442113332442122111223321111122221221111122221443466222111112223442344111221233221144421122122111233221122443332331221111222211234411111111221111122111133211122221111244332332444222222133331221111221122111111111111443223322112212222222211133233211111221122133311112212222111221111335521112331122222222221222332211224442112211222212222332221111221221222222112355331111112331222222111111133223333222111221111111111112213321133212211111332111332221234411122123311332222211133213321122244444111111332112211233112211333221333112223311113332211112212212212211221124423331221112211122221112233211244213334411111111111233111221122111221133323322133333213336633663322244211122111111223331443331111222331112222112211112211111111122123344444334411112211133213331233112212211111223321222212442123322112211222211222211222211223344424421221233111221111122221111112355212331222212212331111221111222444221133333322211122113321221233111122221122443344221122332111112331112212553311334421112444424434433222222221122111122555422222133212222222213321133442122333221222331221133355444112212333321111122554333111111114432122122133212331144331122332111111122221223332212355551333112213331111111221333333212211112444332111112211122111111111111111111111111112553344111221444412212212212212331133312553333344234422332133332222111111111113333331222222111122111443322111122111122221221111112223311333221133213331111122111111112331224434421122222222222331333111221221111221221111111222222111122122221111122332111122122222211122332122122266433442212223441112222112222123441111222355211123312233222221122111332122123311133244321111111122221221122332122332144321111112212333344211122112444111221112233213331222444311112223322112377442122133211111244444423321122221133443555333332111133222112553774331333122221112211112344111222211122443212332344123663442111111332111221112211333122222553244423331111112222222211123311111233222233211112211111111112222112222112222122111111221124422212332222122221221133355211111122222222224433322122234411111133212212211222223311123322221112211334421111223325543444411124443233111221122123312211122221112211223366331221111111221112224444211114433333322111233133331221112222122122221111332112212212211223322223312244322212211111223323331111122111221112442122111122111222233332222111111113331221133233211111221221122122133233442111221221122335555123311111332221222212222221123312213333111133331111111111221111111112222122255333111111111222212222111111123312222111111111255333112222112211112211222223333444421332112222122122221221221111222222221122244212222224433322222211112211233111122111122111112211113322331111222211221235551111122122222211222223311122111133663211111221122112331111112332222111222444124444223312331123322122112442112211111332244211111112223313331122111111111122223333331223333221111332221144321133441233333221111112331113321333221111244211112213324433133212212212211122222224433111222212211111133212331221332222213322212333321111122111111111224442111222212212222233123311111222211221122221222211222211111111123322111122111244211221223335521221554321223331221122111111221332222211122112211221111123313322222221221554333221221221133331221244331113321333111144444221122112233213366321111111111111113321111122111122113321111221122111111222222333322222222332123322111233122113321112211233112233331221113321222222112222111221234422111111334422211111221221222222133444112222122221111122111222211111112223311221221222212212211333322114432111112222222211221112332212442122112222111122221222331221122233122444222144322442221221112331221111112212222112211111221112244321113355212211222211332221111123333332222222223312233311122123322223555344211133314433111111112212211122112222221111123355443312211112233211111111223321124455112222111112211111112211111112211244211122122122235522211112213321233122111122332233335553322112355212211443212211122122111112212211133552111221111221221223344211123312211111111111113321221221443211111221122333322112222122111122111221133331221223332214433441112223312222123441233221111123311111112211123311122122112344133211221333221123322113332222122335533113322212211222355331113344221122332111111111122133442221221334551122111221111144321123314432443331333312211111333322112212223441222222122112222122112212233322112331221222222112331122111223331122244222222222122133311111112223322112222221122332122112223311111123311111112211223333324442112211333323312211111223322211133222221233123322221111122233111122333123441332222444444422133331221122122111111122122111111221222212222111233332112331111112222111221111112222222211222211113333333233111122113344221111111122122111112211111332233112211333133444111221333322113331113333122133244323333322332211221122111221221233122221111244411112222112211111221221122111223321332244224444233311123442212331122124441111122122133211444233211333311113321221111221223333112211112334433311112211112223441223322211221122111221111122222212212233311122222331233111221244211111112211111221233334422221111221233122221111133333333112211111233111443222111222222113321113322344233221332122111113321332221222222133222223344212224444211235551133212213332222233221112224421122221222211111221233111223321332333322335521244211122222222112212223311112212211222212224444211332111133223312212222233111111112553344222331233111133222111335521144421111221122122112213445533212222221221233111332122112222333112213344422112233331111222223322222211111332233112222233122111111222222133222233333322111233112331222222122122221122122123442332222222331221112222123441111111122444212332211122111112211332112214432111122221111222222222222221111111222222221111233332111221112355211332133223311221222211122111111222222113321221122122221111234411112244443111334455333311222213333111114442221112345522111222211122221111113333221444222122111113321222223441133222122111112211111111112222111122133223322221244331221222212213333444331333122222211111123313323321244212211113321221112331233112331111122133322221123322221122332123344333112332222122133212213321333333441221112222332221221123322332113321244223323322221122223331222211144323321111244222111133211113333332133311222212332212211233122133311112211113333221144321111122112331244442114433122111111233224442122111111223322211111111111332112212211221221111221222223311221111111111112211122221111334421112444111221111111123312332212213333111233222211221111122233112223311443222122223344412222223321112444221122111113333221111112344233222222111133212212331221222213331122222211111123663455112211221111111122221111221112344111332122122233111122113321222211233111111333313322222244332211221233122112222122222211122222212211112222111221124433333221111111111222331122111111125533552111133212211222222233111221332133441221122333111221144433221111111332112444111111332122122111333311112346622211122111222211111111112442444211113332332443441112223311122112213331111113444333322213344344233332222222112213444334432221133211122122133444111111222211113321444212332211222332444421111112211111332222222333223321222211111221122333112233233212233312211111112222244222111222212331111111443323312211111111222442233223322211221111222212233222133312222112222222355212331221221111221332111111122123333223311222211122122111221122555321112212222234412331244411221332111112233211111133211122123552222211332133444421113321112211111122222211111221124421122111133332211221122221223321111111112211233222233211133441133233222112233312211221112216654442331133222113332222124421111111221221221334444212211133355443311221233221122233122111124441112222144321222222233112331333112222333322333311133442133442122223333122111111123312222123441224432122234411122244212211112332442221122222212212212213323333112443312212332211111221113331221222213321122221112222221122112223443321332111221221222213333111133312213321221112211123311112211111133331111123322122122122221123322221112442123313444332211244423311123442222222211122112212211111111111112211123322111336633333211133554434422113334422112222112211221222211221233221111111221221443322222344111112211233113444222112222111122112222332122111112212211133331221111233112222122133212211111111233223321244212211111333111111133212222111113332211122222222222664421221111122111111122221122111221144321122333311122133211223324442111123322443211111111111122122133211332221112331333311221222212212212233332222334421122112212442133255432112233444222331112223323552111221113322222443355211133222111122112212211111443212211122233111111112212211122111133322122111255332211333222443322122122122334422112344222211221233112345522113322331123322112331112211144322224423321111223322212212211233122122111111111111221236662221122122122221112211111155432111111133213334411111221222212212211221244442224444411333222211221111334421234422122221111112553222221124441113322211112211111221233221112211111112211112244322211223444222122123322123313321111111111111112211244444433224433111111122221111221244222133322113321221222212222111111122222222332123312443312355332233322111112223322233221122221111112211112212222123442212244555566122224444222211111222211221223321122122133222221222211133222221111222211222332211112212211221111112233233442211111133223312222222224421122111222211122133222144321333333552221221332122122111111112332222122221333223344442111222212222111112331223322211113344553212331144421221122222233244333335521133222112214432122221122122112331233222331233113333112213331221112211122122133211133222222222221222211123314433311111111122111221122223322211111222211111222244321111221221122443333331222211111332111111133211122111111123322122332333111112211123311332244223322122111222331123322122123441111122122122112215553223333553323311111221123311222212223333212211222211112211111122222211221122144321221222223311122122122332221234411122221112666344244332331113345511111332125533441221112223312331221122222222113344233322221244211332112211111122122112222112211221111222331233222213335521112211332133211221122221111332111111155433441124421233113322222111111112222111113355521111223333222211122133211123311221332111333311222331113321112211123311122111224433111111112442123312211111133213344412344111111444213321111112211221221111111133222221222211111144423332222222211332233112331112212442111221111122221122112212212212211112222122221122335551122333244222113321133355211244212332212223313331222212212212222113321221123325532332221111334421112222233221122112211222211122123322112442222442113321111111122124423321111111111233332122111221332221111221222442133312233441111133222112211111112331111233221113321111123323442555323312553322133322223333123333211222212212331123322111123312211221333322123311221221221111111133212212211221122113321123441122144441233334422111122222222333311244211244331111111122112213345544323322211112332233331111111122113321122111111255321111111122332111122332112211111332133332211144422212211111111112244331233122122221113355331221233332133233552332223321124421122122111244331122111111111111115543212222122233111113331112344111111111111221122122111221111333322233221222222233221111111221223321123311111123322133211113344221122222211221112222133322122244442111112331122111111122112223324422211111233113333222212344111221222222111111111133223311111122112331111111221222213331111111112212224423322211122221112213321111221111112222113322233441112211333112224421222212222111122111111112233223311133442112222112212213321233222212222221233223333221221112211332221113322212213331221113322211234422111112212212212331111144323321111122113322233332223333222222222111123311221112331222223455221111111111112233441113321111333112222122112213355212233312222122222442333322122122221111111113321222211133212332344111554331112222222553211144331122111221221221111333122111122122221221222211111112222113321333312331113321124441112553332332211112332211335551332111123466213321223321221111133212331221111233223323321112211234433222221112211222332332212212331112211221123333211112212331111233221111333312211111244222223322222111111111122111111112212211112222111222212233212223344433221112366321111111332111221255521332122122221112233311222331123312222111122112224421221332222211112222111111111133213355323321221112222221111221122111333111111222222233124421122133212211113344222212233333211222211112212444221112212442122122111123312211122122111123322332333312212211332113332222221111221111223322211222553322333133312332211222211122332221221112344223321332221111112233212222122112222111221221222222111122112331224433112222112222332221113322222111221114432133222123322122221221123311221111123312233311122124421444222112222233111333311111221221122122112214433112222111332222222221112222333333222122223331122112331221112222111122112222122113331111111111222212222221222212211221111122221133344111122122221333311111111221111111111111111223335551112332331133311443212332331332123442222111122443223312211111122122444211111122112442122112442122344421122112222221222211233223321112212211122111122133555532133211122122111244331221133331113321123311111111111333441112222111222211122133211222211112331221233111111112224441111111133322111332111122333111122122111221332111112213331222331122112211333111112331222212332233333321122223321123312255543311233221112211122221221111133211221133222111221122133233211444212213333221111112222111332112222111111111111222211111221221111122112224421112442111122221332111222443443321112212211111144421133211122223322222222442111111233122333112223311144443133211111332233111255322211221221221111122221122221122221112442111111133211123312211112444421111221221221114433555111111221221332111111122133213332212442133212211111332234551443233212442112211144321111114433311111111122113355334415553311113333224432123333331111221111111133442221221111223321221122332122122222212223322233122222211222211111112331221122224432112331122111221221221111222222112212211221133553311221111111233111221222212211111221122112211221122123312212213321112213332332331221133211111124421122125533311111111122233124421112331113321112222221112212211221113321111112211112223552123312222221221333122233111122233111221332133344222211111112212222122113331111111123311333221221113321222211234411221112211111111332221332333111112332212214442221125532222222122112213321111111222211111122111221111221133211122222233322122122122332122122221222211222224444555233212222123322221111332111122112331122112331221122443441332111122111244233222111221133332222122112333322355442113332223313333112212332213321112331443311332126643211221222244444222211114432133331244225532122222211112222133224445552211223331111111112212442122122111111221123311122111221332112211111222211114433312213344423441111222331221133211124441233111333111112223311244222223331112222122111112211221221144442211221221122111112223322122222222112331122111122333111133332212224433122333244233332443322111333221221113333344122133312444234412212444111111333333442111111124421114442114444421221113322331111122111221223331233111221122111112333331122221113321144322222122111222331133332333332332211221122111112222233112212233332223311234422111222223344424433122221122221133311122122222222122332111133312212222111111332332111123311111122334422122221122112212333331111332111333466212212442221222211111123312331112332223322111222213321332332234433553222332233221221233221111122221111122221333441222223333331114433111111332111112212331113331444212222122113444122123311223333332122113321122222233444122122112331221113322331111111111111221221222212222221332444551332123311222211335533441122111122335552223321221112222221221113331221221122111111111123442222134442133222111223321235551221122333221443331112331111111133222111125553466211111222212332222221233111111332111221221113321244222221222331111122133331112212333331114442233112211221122111244411221112212444311223321124421122332444223322122113321111221122112331122133211112223311332221233122222222332123312344112223441111122112211222233333313322211111124433244212223311111333311222224421111111221221112213333332222211233122122233112212211122111123311111113321334433233311222211221222211111112442113321112331113321111111133323322112442111111221221112211123311233112355233334444444421222212211233133442122111111222222122112212233222112222333221122111122221122122111111222213333111111112211122111112211234422122333441333111112214442122221111111333112211332111221111112211125555221133322123333311112332212211111111222331332122122123323333211122112223311111112444111111122443311111144422222221111122112366321111133211133211222444221122111221124444222113321222211222331111111111111222222112212211112212223333331233221111333111223322211111122332221111122112222124421221111113321255531112212331111111222222332122124433122111225543311122144321222222111332112212222443331223321221133211112211111334422223321112211221223444211222211133322122122233111111112211113344111112212211133442211233122111221111333322111221111111332155532244211233221122122122221235521221222211111332224442111222222244222233332144421111221221112223313321344411111122111111244355331333441222211444211221123311112211111111122222211111221122111332124441554422331112233331111111333113321233221123311122233221221122122221111233122333311221112212332222112212222133211112332211111333112444421222211111221221221122111122112331122111133222122221111221221221111221122111223323321112222333311444331221111133233222112211111113344422122333111111222222111122221112444422212224422222112222114432111113321133213322213321122112211111122221335521234551112344112222222211122111221122112223311111221122244445522111255344222111124421122111122222212213333111223333322331244412222221111443444433122111221332221124433221111122221123323311333111222211333311223344223313333123324433113333133244322222111122111111111111222222111122332122122244411122222233244321221122113321126643233211112332211111244422221112211111111122332112222122333113321333313323344112212222111221221221111222255433221111222331122233122122221122333122122221222213344222222211112212331333311221111123311334422212222123311221234411122122112222233221133322111111112211221111111122112211122221222333333332112211112211111332123311332111112211123311122221111124433112223312222221221122333311112211111332112211233111221122133332211221222331221111221123312331122221135555222233211122122111112222111233133211223344224433122111111443233211113322443311112222133211134442111111124433111123663211233233123322222211333441122221111221111221133222222233552332111112212212211333221111223322233322122133223311222212211123311112211111112212211221122144344333111122111112211133441112355512211233221111332233221222211111221133212213322212222221112222111221122111113331111122223331234422133213331111332112211122233133211122332332112212211111244422111123333222111111122221221122332122111233122113321111221122332112443311112223322122112212331221122112211221114433322224443244331111112222221244211111113321122221221133322111111122112223311221122111111111111111111111112211133212344111111233222211122111221222211111122221111111221122111332122111111111133311111133311111111112211444332332211223321111122111332113322211222223312211112442221122222222333312331122111112355211133224433111111221111221221111122122332443553441332112212211222211222222111222211221122113324432111112211233233123312212222111233111112211111122122133212222122244212233331221221111122111244442221233221555331333111111112212212332211221133466553333321122122112212211112233225552122221124421222211122133222221221122112211112222133312212211332111122112442221112212212213321111123323322122222211111221112222332233112233312442123322221112212211111112233212331111111221112331113321443311333222211111122333312211222211221133211112345512331233123552111112211122111222211111221332111111333332123311221122222332211111112222112331112211233111222211111221111333311222212211133212213332222333311222212331221112212212211112222112344233123311133442111112222122255533112222123311111223331221223344233211221122122111111113331221111333311122133222111221221111221112355355212244331223334433311136663211133322221233112233331332122221221113333222223312333344211111123322223321124421112211111222211222233211111244444221233111111221112211111111122122111233111222553223312331222333331299765433111111222344111122112233333313321221112222111111221111444422222332112233346622233212211233112334442122125532222332222111221122233123311122221111122122233332332122221133333212223311332111223333244331223333222222111111133211221122112244333222331222211111221244443441122222212211233144321344421222331334411112333322211111221112233322133344332223344355233311111111113331111112211122221122111221133211122122111221122233444211112444122332332221111332122133313331111122443244322442112331222212332211221122111122333312331111122122332122334411233112211112211113321111333114445532123312331111235521133553213322222221122221122111225543331223344222111333124433221221122113555442111111122221221111144421221133322222233311111133331122221133222222223323322113333133222221111111122122111122111122333441122122233122133355444221122123552221222331221235534411122222332212211221111112224421112223322221111221233122133222443211233221332111332222223313333221222211122221122222212222123312442122222211222233212211333312222112213321222211111112442222211221111112211221333112213331233144322442222211122233111244331221122221111222332222112212211113321123333212212211133331112212212211222211123441233112233223442334433221332222331111222213332222244222111223444332122122122111111133212211122221333111666442122122144442222244211122111122221144321111112213333111221112225532122111221122222211122221122112222221221221222211221333311113331221122332111112211112223311222211111112442233112331122221222223311233112213321221221133211122111221111221123312222333111221244551443223322221112213321233112211112345533211233111111122122222332222223323331111111123312331144433123312212211113323322211221221221123311112222122144333221222553311221244222112211233111111221332123311122111111124421222444233122111122111221221112233311222211332112211223321332334412212344113322211133311111222442222211112331222333335533122144321111111111221111221333221111333122332222212213321122222222122233111221222222112355331233114442123313322212211332122332221122112211332221112222112222122122112211133553213321221113321111223321112233211122255331111221111223344331222355212212212222112213322212355512331332112222111233112443311221112211111124434412331111122133311223355222122222233211133333321221221111221244212222233122221111113321221111221122222212225552113321111122222222111133331122224432221111222211221111237743313332211122221112212332211111332111124441111221221224433122122222212333322211122332222332331133332331133331111111112222221111111112211111223323322212222333233111221236633221144421222344112213321111111111111333333443332212211112211122221221222213321122222211122222223333322233123455112222122222332233774432331111255332212331333223332211221122221112213335521112212222124455233221233133332222443331111122222332332442111111333312226663333444112211111113334552211221114433552133222111221111122112213322212212211111133222222442222222133211122332222211221112222122111111111111112211122221223344411233332112211111133322332111113321111112223441221332112211332112223322332122555332211133311122112332211221111122122122222211144421223323333111111122123312222223331122233221122244331111221112222334422222122111113321112222111133211221124421113322233312212211112212344111122111122111111221221112222332122113322214433111111111222225532133212331111111332111123311122111221111222211122222212213322442222331221122233221113333111133554441221111221111221221111221122113321233122122122133244331122222331112212223322111221112211122333144355332222111333221122133222111221332111112332222112222333111112244333133213344212222222211234411122332122122112222111221111123311112444422222122122122111221111122111112222222222112212222122123311233244333344431234422221111221133222113331221221233122221222211122111122222212211133442122111222222133213331221122111443211133212211113333133345522111222331122221122122111122111111111334423331221113321113344122111133311332332222222221122222223313332212442221123311112211111221113333332221111113321122111333313321221122111233113331111333223332223441122111111122111111221112211122122223331333111111111122221123442444112222112214434421221222212331111221244411112212211221333311122221221113321122221123323311111111222213333122221111112222332133555144421221122111222233224422222144333334413322213333111221112222122114432222211112233211112212222122111133322221221124423321111221111111112442111111222222233222222133442332334434663311122222222123333323333222122233225544223311114433122122111122111123663311111133212212212211221112212442111111111123441122112211111112222122344411112211333312233214442122111221114433552122332112213322222111221123333441233221112331221133222113321133311112211221221111122111125533112211221112244322331122133211221233122111122111332112211111333322122222211133212222114432221113321332112211112211133331221111223333333266433311123322111122332112211112211112331112233233213323322222111112222114433311233234551333312344221223333112222222222221122222331222211233133211111333111221123312212222122223333331221133311111113331332111112211122221112211221443222122113322331332124422211332122111122111244211112211112222111133233331233122221122444244422331133311111221221233133211122133311111112214432133222112332211122111122111244211233332122122221223333122122221221112212211122111332123322122221221221221233443211111111133311122221122111123312222133332212222223321221333222211332122111222331133333331112233333211111112211222222221111111111112211111111113333222442111112331233112222111111222211122122111221222442112222222211221333441111233111122221333112223442222122111266442221111111221332113321133312212222221234422111111111123312211112223322221122233221112222111111111111221133211111221123312332225534444212331332111111111222212233332211111111234411111221114434553322332442111223334422221111333221222333333332113355332211111111222211111122111221112211333111112212224422332222111112212331111111111233255551133311221332221123311111122112224422211112211124433443222112222244331113321111222222122333441112222122122223444422111233443212212223311221122222211222222113322211122222211112211221122111222222122133333211144333122112222111111333324421332221222211332111111122111122221112332211112211221122112212211221122221111133212211122111122333441122111111112222111112212233355513321112331144321111221221233222211222222111113321122112212222122223321111332222222111111112332211223321112211223321111222222112222334421155532111221111332122111133211221222442221221334421233112211112213331122111222222144333321112333331112332331122112211221111233221332222332331123552221111112222133222333312211123313322333321332332122222222144331122122113333324444441124442222122224433111112211221124421133211111122124422211111221233221112223322111333333312233213322211111111122233333122114443441222222111111111122122111221112553311221113334566222222111122122221111122221133212331111133222122222222221111111122133344111122144331112213321244213333144422222112211221122221111122221224444111123322113344123313331333133552221111123663441111111122144422331233221222212211111111133212222111122221122133222111222222443331233244222244212244422443311122332111111122113321221221113334422335534422233331123324422222444414433111111112331333114432122233221111124422211112223322113344234422222223322111112211144321122111444211221111233113321122221221111221221443222221111112222122122111222212443312212211111111221221111114432133222122113334411233113355321111222211122144321222223311111112212211122221112211233332221112332222113333111112664332442221111112442122123322221114432133331112331111111113322211111144421122123322111111223331113321221223322211112222221111335532122221112331221112211114433322111112222122112443312212331222332222221222213322212222122244233331112211221111111223331111122233111111111222211122133211112212333344211233122122222211222222122221113321221333311224432122112214442111333122111133344221111221123311111112222236632112222122332334411221443212211222442111333122122233123311123441112222112332211122221111114432111222211111221111222212222222332222122233111112222122332122123322111112211122221111112211221112211112212222123455111333312222122111124422212211112211122112211111112212211334411111222331233233111332122112244323333123323311111111222233311111222211122122112331111122111221221111222225533311133212212222133212212211113321222213332211111221221111122221333323311123322112211111222213333555552223322222211122111333312211122111221122112222221122334421122111222222111155432122221111122332223322211123441122332222332212211332112211122334421333111111133311332443222111111221122122221222442112211222331133312344443211112222221122112222332221444333322212222111122112211122122111111133311222213321144344233331234411222212222111244222222212553323344422211221222223311233123311222211111111111112233211133211111112333331122123311122133233331122332144333221333324455321233233111112211244222222211221233222211332112222113344233112212211223344331111122111111112442332133222111111222213444344244222112222133212366621223321112233331233123322111133213331111111221122122222211133331111111333311111221122222331332111444233211112212211112213331122111332122244333333122222211221112331133212442122233111222553444433111122111122133331221233111222222111233128865534412331111111112222332111111111221122221111122222213332222112332212222112331221233233122233133333321111443331122222222112442122112222122111221135552111111111111221133222233332222212223313335533122122554433222222111233122112355331332111113323322213321332221233111111111221221123311244212222133233355222111221111222331112211111222222221122221122122332111111111112212332222221221555522211122244211112211111111111111122111111333221111233221223322211122222212334442122133333355211233114433663322221124433221111222334432111111122112212222233122133223322133331223323332331122221122221223332212344133211122133211221122112223322443222124421221111122244211223333122112355211221122333233111122122112212211133213333111111122122123322111235555322223311111112211222222122111122122122111122122221122111122111112222234413336632122333222211111122122112212211122112331111334422221222222112212212212212212222111111122111234423313332212212222222211123322112332223313322222221111144323322331244212222221133223312222244331222344111112223323311122122111122112331112331122111221223333122122221112222112211133222122333123311122111133222122112222221112223552111221111111123312331144321221221221122222212244344222133211333233244212222133213331122112223442222222212211123311221233122133223311332112211122111112211233111111111221112222332221333221112222112222113321122221111112222332222444421122233111221233221221111221222331122333311111332111244224422211111122112211112223442212344112213333111112212222221111223321123333211124421122222222112212442221222211112222111244212211221122123311133333331221123442222111221111244222233133222122111221222211125535544331122122221112212211223321222233212211233114432122122112222222212211332111111122122233332111244212222111144332222112212332211122112211122112222222212211333122111332111111221122133553211112233211111233221111233221111111222442244213321222211222222123552111122111332222211113323321122222222111222222111233111113322211111221222211111222211111114434441112212444332221222332334433122123322133222233255333112222333111111233111221111223322222221111112211233111111111221221222211222444112211112223312331333311233111235552211111113321111112222112212223322111112233211111112442113335521111122234412222122233122111333312332344221244211112212212211112222124422212211123312331111112233212212212213333111111122222233212211233112344123311113322211111122122112211111244212443552123322221112222112211111112211333122113333133442212331221122111555522331112344222211112211122221222222122155442222211122113344244431111122222222111111133331122112222221144331133222111221113331122221122133213321122111111222211222212213344346633222222111122244211122332111224433333212212211124441221122112211111221111233223321123322122111122111122444212222133213323333122222344112222111112331233111112222111112212211113322222122113344123311111222212211244212211221332111221122443324423321255331111111122221122223331112233212211333111133212233212211443222112233553211233133212442244442112442222233212442444223311111111222233333211221221112331221122122332111355533114444111111122133212213321221144333222212211221122122122111222233211111122223333222233211111111221112211111221124421122112222122111222211111111122221111122222553212233211222233222111233222224433112211223333122332233223321332112222111133311224432233332111222212211222211111111123311333443333111111112211443333331111333313331111221221111222211112212222234411221221114433312233211244233223311233112222122144421112211111112255533111221111221221122123322122221221233111112222133212211122122111122112224423333331113321123333211124421332111222211221113321221333441133223322332111111221113335777222221443332664332442122233443312212222221233235522212331221133331133331221133311111133311122221111111233122233222223311332221123455122111221333123442331133233322111222212211111221222211122111113321111112233312331222211111111112213333333122112222111112244333122111111222222221221111111111111122111221113321122234424421221111111223322212332211223321111222213322211221111233221111221111112212211112222332123312213331112223333213331443333211124422233222122111244212244322211221133212212331112222233113331221221113333111332221222331111112211334422233331222211332233111122223323332222222233222122222332223323311443332212211221335553124433222211221122123322222213333333125533222222225543311111111111122111222212211111112333331111222222144444422222212222244211221334433311112222112211221111222224441233111222332211111221112211221221111122221111111233111122222213322222112332212211332122122233221133331122333122221111123322123322122111332335553311124422244421111221221333111122111112211122133222112233322111332333441122332222211221222213321113344222111111111221112211333312211111244212222133331221122112213321112224421221122124421233113321233223331222213333111113331332222213321133331111144334423312211221221122112211122222222112223313344332345772332221223321244411111444212331111244332222222553312211122111122332111233222211221111111224433322122233113333122222211122233332222211111111233111111112443312211122133211122111122111221222331233221123322111112211223331112233331122133331112222113331133344222212344112211111334421112222122221221111122221112222111222211111221111111111122122122122222211111222442223333112332222133222111122234412233331112213322211122133442111112212211221112212212211221122111122221222222222233212443311122122122221111111223334411112214433441221333223333122233233112211332112222221111112331122234411244222221224433133332445511111122113322222112444122111222211223333223321113322442111112355442111332244233222122221112211122222222111221133331111332222211244212233312223322332112212211111113332212211221112211221133553222233133331111122222211234411112244421111113322222112211112213321222212211333322221222442221113333222212212212212222111221222331221112222112211111113331111122123311113366333221112211122111113321112332222111122222211111112332211221332221133333222113331111221124421221133212212223312212331122221233113323333112211222211112211112212332212211122112222221112331112211122115544442333322221111122122111244211111111332122111123322122111222332332213331113333222366344222244441111111233221112233211122222211111221221133322244211332332122122112331443312222111112443322221122221122221111222222111221223321111222222221111233133222133211223321113321111111233133312211112222122221124421124444412331112211221332112222221112442221221111444442212213331112332344111112222332221133212212211122112211112211111144321221112211122111124444222122221233111111222331133211333313322211233233112244333222331222212212211221111122221111123311111133233214444111111221113321111112212223311332112222335521221133211222233332331122221123312222234551222223311221443233222111111222211122221233233111111122111111221111123312344333323322221112233323312222222212211333322122113321122332234424433133211111223333111111221112211222211133332222111221111221111111133211113322222222222112332211111221112222221111111112213331112211123311221221221133441111111122233221222212211333221112212222222331112212331122244411112212211111111221112212211112222221333122221112331122221332123312244421111332112443322113322211112212213321223322211111222443322122221111112212332211332112233331233111112212331112442233112222111222211122111123441111332111112332331443211112332442233122332221111113321112211443211122111111114442123314442114432221111122112211111221111222212222222211111221111122332112211122122114433333211255522444112211222332212212212211221111111122111133333442222211332133211221221111111122233221235521112444122221122133222112244323333222212213321111122233333122111123333222111223323322331222331114432333111144331444222111222344122221113321221112212222111124442211122222244422211122112211122133311123312223441113333111122221222331221122112211111221111134441133211221221112222111122112222333222211111223333221222211122111123442222221221122221112211221112211112211112212442133322112211124422212333344212211111112222221223321122221222211112211111112444421122111233333322111111244212233211223344113331123552221111111122111221122112211222222144422211221221111122113333112233211122113333233111111111233123441221112222111222222122124421111221221332221112211221112344122111223322213332211233112211112244321333221111133333322233311222224442223313332211111133311144323322211112211233244332211111277543441221333111111222214443324421111221123443332222111221133211221111111111111122123311333221111222222111221221112211332133211244331122144331233221221111222442332111112211332122133211113321233222331111221233123311111223331111111111333314432222211123322122112442233111111221125552111113333111122332133222221112213321221334421123344332442112211221111334412211122333112233323322255334551111244222111111122122112222111111124421111443211122133315543322111222211222222122332112211122111221332111111112212211111223321123455111123312211111111221113322244322331122111221124441111122222211244224434411122111112211122111234422133311111222211111335521122122133222221111222355233331111222222221122122333222211112211332332111122112331222344244411111113333111222445511221123322222212211122225553211111554321221221111111122222211222212553322222223311113331133332222122111234411111111111222443312212331233112211244211122144331111133332222112211221233124422211123312235555322221223322211133222111112233233331111221122222211111122222233222111112211111221333112443311124422333321221334422111221122111112233331111332122133224433123322133333211124422233212222111111222211122122233122111332111221222224421112211123313321443211221112222333111221112211122111233334455322233322123311222212222111123311222211112233211112212346644222111222212212213331111111233112333323321112222333112211133212442122111122122112212213333233112211111333122122244211111111112222133332222221443442212225533311133444423321222212233553222122222211221122112212222111115543332222111122122332122122234422222344333312223311111111112553311133331122225553322133311222222244211222212211122114432333122222222122122113331133553322122233133333312211222211133211112223313355334412211111333311221443331122244222112211333222222221112222133225533442442112222111123311111221122111222442123555111221112331111122221123312212212211111222332222333111333322221111123442211133211122221122112222221222442111122133212212211111221122111332333221225543211112222111124422222221221222244421122124422212211111111443332222221221133222113344431221221122122223321222223311111221332221111111112212442233111111122112222113322211112212211233332443222111111112331113322212211221333322221233122123441222553213333122233221111122221112222122244211332112211133311221222211144421111123311222344111122113321122332221112222122112212443322111122111222212212233211333312212331122221221133212212222333112211443212346621244211111144421133212331222212212222244411112444111112211133442111112222111122332222222124433122144421112211233221224442113322211112213332222332111221112211122122113344332111222214445522233311112213333332221133322122122221122113331111112212211221221233221222332222112211333312212442111133333344222222334433332122122233133222222442221122112222122133211332333221111112331234413322213321111333111122223331111223322212222122122122112213321233112331111111122221112211332244423322112212211221443222222211122112212332222133222112212212211332233332244331122123311111122112244333324433312222112211221111122111111222222222222111111221122111332221222222222222332113344111111221112233222222332331221221233221221222211443211111221111233111233111221122112211222211111122112211222211222233312212344111443211122112331112222122112212331222212211332221111111112222133332211122112222122122112225555222222334441244442111222212344111112211122111233233133332211111233111122221122233122144321112211111111112211112213332233312233222221133332211255521122111133233322222212332332211133212222111112331221123311221334421221221112334433314432111221221222211122333312211112222255533221221112211221221223323333111333322113332222112233222112211111112222235521332111111221122111112331112211233122234411332122122114432221111221332111122221221122333311112211332122122332112331123311221111113333222223311112443442331222211222344111244773211112331221222331221133222122113344331112211122111112442111111111111233443311244223322122111332122112332331123311112211221222223311111144333222222332133441221133311333322111111111222212211112211115543212355222111122112211333311221233112331222332233211332233133311233221133211221112211111123323333222111332122122221122111332111111111133211113322331221244222221111112442233112331111111111122332111123322111111112211221113331111122112222112212222112222222211332111221444211234412211111221111221221111333111221111112212211124444211112212222221111111111221112222123477323322212212233212442114432233221122122221222222234433344122233133344122122111111123313321221233111332124422215543233211234422332111221112331122112211133211222212212331111111222233332211122122222211111133222221233123313321111123312212222332122133222111333123311222211233221332333233221122233111112222122122144422211244222233122222233312331133222112212222233111234412222221111111233221112233211221122332333322111111221111122112212211221222211113321122443441111221112211112211332122112211111122233111221122443222222442222222112222233122221111222211233332332221111111111221111221222212222222222221112212222255321222212212331122223333222222111111221111222213331122233122123311334421112211222355222221144321122221112331222211122112211112211332222222222233212212213344222112344111222212233344332111332221112211122221224432112213322444122122111112233313322331332332122111111133777333233122332333332221221221221112211112211111221112233332211112212222112214434422133212224433221122122122333313321444433123324421222211221111221122111122113334411113331111112442122112553312222122332113321111111221124421111112222111123311244412222122122111112212331122111133443311332112224421221234411222211222331124444211223322223333222222331122222442111111113321233221111222211133312211111111111221111133311111111113321223321122111221222233355222221111144423321111112211155443313355322211122123311111222222222211221122112331122111122122112212332345512211111222555661113321333444233211111122221221111234433442233211111221111233222211111111221244332355443322114442123555221233111126644212222111235521777553222122123311233112223322233233111222331332111122233112212222112211222211332233332123323314432233221223331332221111222222222211221221111124433112211112332222112332331111122124421111123322332124455321111133212332211112332331222443311111221113333333133331332122333133211221111112233211112211221332122111444433223312332211111332122221112211233111332123444434422332112442233221222211233123311111122221111221221335533122125533344433133311124443321223321244222332112331332111111221111221244444442553312222122122233133311112331221233123311222212223324422212212222111113331221113355444222255532122255333133555331332111111333122333312211124422442333223321221332333224434411335532333322112331111112211111332112222111332221122111332133211122122111123442332222444212211111221111111112442112211111123312233322122332122124422222221333441112211122332111221122111222222233112211111122122111221122221122122111222332344123311122111133344111122122221332124421221112222333311233122122221112366321221113331221122111123311124421111111112355222111122133333211223344411111233223321123322111113333333311332111332111122124421113322214444332255322442221111332111112211122111111113322212222122334443332443211113332331233111221111221122122122111122113344212222133212212211222222122111122221111133222233333311221111112222144321122123311221221222664332233442112222111112331221112211111333122111112222112444221554322211133322444211222212211222331233122111111122221133312355443311112211122111133331111122112344444212211111221332222442221221122111222366333332212211125555322111122111122221111244223344344124422222111332112222333455234552222122112222124423344221111111122233221144421123312211123311133311122111124421123311111112212211222211221111221123322113331111112331244222222224455122111221111122112355442111111111122332111233112211233221332221122111111122221222222111221111221233113322212211111112212225532111122122111221112212211112212211233112222224433313331111221333111122222211112211112331222233333323355533111122111112233211111233111221122222212366322442111111233222442122122111221111221112211222211122221111111122111233113332331122144421233233144332213344211113331112331122221223321221233111222211111122222211111122221122332133224422213331221111221222222112211144421133311332333111223321133332211122221133332212332211223322211122112211133244333133211111221233222211122124421111111133322112442122112444115543212212222122111111112212211133322112212211122122221112222112212333321112211221235533221111122112212255532112222113322332233212211111112233222221222212211112211221133222111112212442221111233111133222221111114432113332332212211122111223331122332222211112211123313321233112222332111122222212212222111221111234444344211111332332111221111112332211222442122223333112211122222211122221221112331123322111133222111122113333222331111111113321333114443333332111221122221122112222221332111111111112222112442222212211133212222266434421122133222112212212442233111122221233333221221123311221122111222211133212212211244331122111112233212211112222113321112211111133441122222223344421221112212211443212222112211224433233333441111223344212211122221221244222122112211332111333122221122112222122112331133311113321112222113331332222211221111332111111122222211333311112222111122123311111233113331113321224433312331114432111111111122122112211111122125532221111133212222222211222442223321111111111332122112223466212222122111114444421122112332211221122222222222222112233213331333122443212211122133222111112222133211112222112212212211222222221111122221133211112222111112222221111443311122111221223321233133332211332221111111111111133211111244211221333221122112211332221221111111233122233122111113331221122111111111112244321233222331122112212211222222112213344444422331122122222211111222211111111112223323311222223313355321112222332244222332222211221111112223311223344111222211111112443322223321233333112212212213323333133211221222222222332222221221122111112442112331444332211112233222221111111112222332123441233111113321234422554431244332332222111221112211113344122554421244345522111112553213333123311133222334444222111111113321124433221112211111112331443441221221221111111113331133444222222222222122222331221111554333111221111122133222112222111111222222221122111112211221233111111111112233466212211112212211111122122333312213344222111122114432222333322213332212233223312212222111332133322112233331332111111133332211111222233211221334551122222211444666111111332111122222233211334412211221113336632124433112222333112211122111122332221122113322331112223311222222111111332222344111111221333311112211221111333311222554442111223321221221111221113322233334433322222222122333111222444221111333552111221332111221133211221111111122221444233212332212331116655322344112222111112211133222113333122221133222223333112244333221112244421111221111122112222221221122111125552123322112331221112212222122123311332444344221111122221122111112222122221133222111222211133255433322233112211221221123311221112332212212331133211111133311221221122124424433322122221113321333133311112222333311111122111122111122123311111332111111233111332111221122221113321111111133331233221122222222111233221221111124421122333322332111221113322213333111122111444442332355244421111133222111221223333221113333332123311221122111233133441244344112222122333311111111332112211122122124421221233133211222223322122111112222221244331122111111122122122221221443331112224442332213331221111122122133443322224422442112211111112222111221122111112211111122111233111122333111221221111124421233111112331112443333211111111223331111133213321221111332113333112211244333321554331112222122122123333211133222222211233221112213334422333442211222222112212331122222211112212211133443322442112211222331111222223311233111221113321122122122112211133211244332211122122112211112211144441122221133442133212212233211221443222111233111333113333111224433221113321133212331112233211123312213321111233221111111443332333334444421122122133331333122443311124442211111444441111111122133222111332233223321221133211221122223321333113344112211233221111332124422222111221113322212212211332133222233233123311333221111122222211112222122113333123311221332332111122332244212211223344211111133212222443214433312222233223322332332211221244214433112443313366633222212212233222113321233223323321122332221221112212553212222111332111221111111113355212212211233334663552221334421222222221122133233333233332332233331112211443311221233221111221113333111122122122332133211111112211111111233221113321112222122221111111222211111122111112222133332222233111111122122221221111111111111122112331223344244422266433322122122112211122221122113321111122111233123311112211122144335524442332221122332122124444222221111112332331122112211221112222123322111111122111112233355233211133212222221244211133222233133331112331221122112332212224422213333112222221233111221124423322211122223321133331133312222111123322122122111244211133313321111221111123311222211111124421112211123333223312212211244664322222113321122112332212211124421333322122111111111233112211222222112213321122111111111221111133331122111111332222212222133222112233322111111122133211112211223344212331122122221111133311133212222222212211122122222211112331221113321123322111112213344211123312233223312213324442332221233112222112344333322122111111244222222222111111233221144333233221333133222122222212344244211122233133322111111233332133222122111114432332112211112211222223312222222224421222212223333312212222112212332211221111112224433443312212222123312213322222122222211111233111122123312222111221221221112553211244222221111111221122111234422222233334442122122221111112212442111112211111123323552123311111221112213322332212331222211111224433333211122221123322144423331112214432224442112222111221123442222222211221111244222122111133322222211221444211111332112211112233322344421221111122222213322211332112212212333322331122112213344211112222221222212212211122112212212331223321244331233221111222442333333222111122123322113321122122221222332222111333112211122443222111332221122233111111222233331112222222223322113321222222112331334421122111333222212211332111122111111224432122123322332111221112233355525532223321221123333441122111122111123312211113322331334421113332211111112233212244335555332222123313321221221111111113321221111124421111222331112553344112211222332211122332112222221112211234412211111112213333221111111221244222133332211111122124422211222332213355521221444224421333233111124423321122122122222331111113321111111122122222332233211221113332331221221111122222223322221223322213331233221111234412233441122233122223322211112664321122111133214432111221111111222212223312211111124433221111112212212331122233221111112213333221111233111111111221221111221133213321334411233111122111332133311334411221333122244233331443223312211144322211133332211444211222222123312212212331112211111111113321444224444662123313321244222111112442233112344221233112212211122122133222221111111111332112233211123311122112444322277543211123322111221111333313321112442224444311233133213335523321112211122333314432111124421221221112222112211443355223344321113321122112212233222133233222123663212333321123313321111221222331221221111133211111221112355211112331221112222221332332112212211122333312233211221122221111111223321222212331112555222221112212331221233332113355521122233123322221244211122221222212211112222133442122221133212211222331111122123312211111221332333312211125533221124434411222211233113322211233122221222222111122133211233221111233222222133211222344122122133666322222113331221332222211244422111123333222122112222222211221333233111112211111113321221115553355223312222122113335521122133555322221332122443322223321111111113321112442111113331221155432221222213331111123311333311124422222222213334443333331122444332222221222211111113322442233111221222212212212212211111122221122113322331111443211222332211111122222222111122111111332221221112442111111266432111122233112223311332221111122111124466222333221332221221112331244211221223333221111333111122221221122111222222122244225544421113321122122233244222133442222233211222212211221111112344111333122111113333221222224441221123333211111111221124421111221222233331111111122111122221222211122122111113333255321122122221123311124444222221233112222233111111122221124434412211111122123322133332222112222332335521111111111112222334411112211122222211234552212212222221233122111233233111111113333333222223311221112224424433244412222111122111233112211221133222233444211112211221222331222222233111122234411111112222112211111122112331122233124422213321111223323322222122111221111221221223322233331133211112222221122221111114433222212222122123311221111133331443222233112331113333133311122221125533133211335533552221222211111221332122111221122221122221111111111111123311122221333322332221112211332221112331123311113334554442123312225533111112555532344444441221125535533311221123324421332332122221111122122111122111111111111221122233111122222442112331122122244211112222221111133331133311111112442122112333322211112442111221333322111112332211111221111111221223331333322443331122122221221244211111112211133212211123312355213344133222332122233122255331114432111221333221122113322211223322211125533122221122221332123311111222213322222221113321244211221111233332122233111111221221133312211112212332222221113334551113321112211233222222112442133332211333663441113323331221133211334411123313321221221111112212222221123325534551332144321112212331111111244422221133222221133311111222211133322222222222222221133244421133322124442212222122122133222222222111112211113322233211112331221111111112211234412213321332122112213321133222222211222211122222211133332244322212223556611122111111123441133211222211221111111111111221223332212331122221112233553312553334443666211112213333221111111111332222211123314432221111244344122111111233222211122112244333144321111244211122111111221114432333122144333122234411111122222332211112224444331332221124441221123311222212212331111244222111443311111444213333244412222111111222211122222331221111111235521233111113333443222233112212233222555333112222111333111222222111221122221244411111124421221221333312344233112233212211221122112442122221133233212223663331221221122111222222113321122111112211122112212211222211122221111122113331111223333112211112222222211112222112222112211333333311222211122122123312222133222222212222112222112222111222212331122122111333311112213344122332255544211221221122111221122221222331123441221112211111235566111111222233331122332333311221112233244321222223322332111221111144344411112225532222211233221222333321222211222224433133222111332122112664334412222233233221222212213321111123311332111332111221111221332221233122111122122444434433332211112212331122111133311221233222211112222122233112212211221122221111113321112211111111112214442111122133312212211124444212212222122221122111111333311122443311133223322223333233333113331332133311124421233133213321122122111112211111233122111112344111111221122111113321233111222222111122222223322221112212222122111112445544422211222211222212211112233212211222211111222212331111222212222221111122114433312222122112211111221112211112331111111223321111111122122333221122244411222244321233111112212233211111111123313322211112553211444211112211111221221111221122112212233331112214433322122111144321111124421111122244222112212332331112332211111111112233222112442122222332222111332221122111111122223321112213321122221124421122221111133211111122233235533221122133223311112335543312222222442122113331111112222112331122221111221332122443442212233211223333113331122122222222122133211244331122122122111244222221122113322331111122111133222122112331221333133211233133441122112442112213321222233332233312211122333311223333222442233133332344111111221122233133311443322122133331111221334433144322211112211144431122112333321221233111111122112331244442221221112211332112222111111221332123322233123666552234411122112222111113321335532222222111122124423332212211221111123441222212214444122244345522133442112355222111111111122223331122244331222214432123441222211133344333311122112211111222444123322443222111111221332221222212211111133211111122111221111111111133223552113321222211222331122144322222332122112211111122133331223321332333122122222332222221221222222221332144322222111222225532332111122111122111133212222112211122332221222443311111111222211111111122334411111222211332332122125533133223312333321122222222122133552443211333444223455111222211244211333111111113334422221133311234411111123311221122332122222212211122333122221221111222331111122111443211235522211112332212233442122111122112211122111111111111123311112331332122233122113321122221122112331221111221244211111111124422211111111112211221111111222223313355321443355212211332133552233332234411113321122112233211112331113333222212212222112211112442122111221111122221112211144366434551221133442112442221133212211222212211222211111122332111111333311122123322222331122113332222233144421112331111112233322255344221221111133331122112213333123311333322221111112355211221111111332332111111113321221332233333322111122111111133333211122333111123322332233221222233311111111244213321221332122113322233211133222332112211332112211114432244551233222331111123313321221112222111122222222221122332122112213322222221111133311222222112211111122111221221113321111111113322213321333322122221244233313331123322112233331133441112212211332233122221244224422222122133212211112331133212211111122443211111111122111222211111222211111122122112233334432111123455113321221112213331333325532123333442221122113332223312211111221122111111122133311122111332111332122112213321111111122113322222333233122122221111233123311222222221221333312222144332211111111122112222122221111111233122122122111221334421111122221113322211113321123322234411112222112331221332111122111332111122111222224421133331222222111112333344222233221222332331111123441111112211112222112233332211122122111111222211112331221221112233222111221111113333222211244332334443244213344111112211222333333221111111233112211332113321112212212222122332111111123442211123311223321122111332112442112211133331332222211111133332222113321111222331111332122234433233441122112211122111222212331222222222211122133553331332221111221133211111222211111332113355222112211112233331112214433552443344433113666323321111113322211333112222221222244331112331333122233112211222331133331111112213444422111111224432122443212213321112331111111112214432111111222222221112443322223321122122111332112222111221221133212331122222214432133331122255333122122222213321233122122111112212211111443442221122221122112332212211111444222122111222223322133331221111111111113334411221111122221122123311111111111112212331222445553322222233331133211122112233331111333441122122221122223321122112332211222211244211113324432221122221112344112222233112443323311111221111333111223321222222222212212555552233124441122234412233331122133552111111122112553312222111123441222211233111222222112222233111122122333223333333123311112331111221111332112233222122222331133332331111333112211111222211244213344444441221221221221332122111221443333333222223311133212211111221111111333322133212212344443442221112331112212211122111123323311332221112331333443333111113321111111221111111122221111223322211113321111222222123311221122111344455111111223332211113321111112355211112233212213444233212233211111334412244333122221111122221122221332112211221221111111111122221112331111111221111114433222211133442332221112222221113333122221221233111133345523312222221111111122111122233221333322122122122144331122235521124444444434423322221111133332211335521111111112331221111122111133213322344122112222122222212222113333122221224433235521222222233234422221333233111122112211224432111122222211122122112222122332221112223311122122112223324423344221112222122111124421111222222123344321333244233331221112212212333321333122221233233123333233211332111221122223321112222221221122122112224421444233211113333112222111122112211133332448886632122333122112234444221222211122443211112212224421222213322222332112212222111111222222223333112331221111111221112222333223333122221221222233344111244433213323331122111333311133211111111222233331111233112211122222222222211111233111122122222211122133344244211224432222334432112212211233111112212332211144322222222211122113331221332111111112233222221244411221221112212223333211221332332112332211122111111111122111111111222222111255331112213321111133211111111111244442221221112355211221332111111122112332213331244222222211221111221123311112211112211221112212222111111222211221222211244442221111223322222111123311111112442114433111113331221111112331443213331111222213322213321111111244211333311222222122112233331113333123311221112233333211111112211234662111222222221111113322212211112233331111122333111223321332111332111111113344244773233311221111223331122111111111111133222112331222222122221221112211122111111122111111112211222211221112213322345523311244222112211333322223333112212233211112211112211222211133211122111221133311233133332223312211244222111111332111221111221223323333111111111112211233111133322111332122111112212222112332212442122221113321333555333211122111113321333333224425543224422212212212222233234411221122112211332222212233311244211234423311236632124433233133332223311122333312244421111122111133233211221111111122112222221221221221113344111111112332332222222211221221233122112233344122112222111124422332211111111111111122221221111112212212211122233125533324421111112233333211111332444222111221333312214443123313321111113322222221122122221111111111114432255322212211221112222222211221244222122111112355212212233211112442222212223311111221223331122221133322112233311222212212212222222212211221111233222222111224434412344111332111111221133331255444332214434443331222222114442112233441123311122124455321122111221244212222332235521122112211122223333233221122221221444443314432111222211133212211122111122122111113322212222123312222222212331112212211111122221222233224422212442332111111111144331221111122111133222122221111112211133244321443443331443215554411233443313322442333222553344111123311111133311122111144332223312211111133211112442111332111111222222111123312333321133211443212211122155444442211233122111122332115553311112211111112211123313332211221221333311333311221233122244224444223322124435551112213334424455531333311123311222211221111111122111111122333441122122221111111112212213321112211335533221332233222222333322111122133222133211444211221122221122111221333222212223552123311333111111111111221124441222222111133233311221224432111221122111114444311112212211221133211112213333443233311233222211221111113333122111223321133211111155432221111112211221112212211112222444412211333113322211111332122123311122112223323312213321222222332221221221111111111333311111123312244333111123322124441221222222554421244211333442222112331111112211233122332111233255333112223312222333313321111233111112223312211113322332222224442222212222123441112442122221122222211222212442554344412222233112222332221122221332112331233221112224442212211123311111111221112222333123323311221112222113331122111113333111333311222211221144333333111122221111124421112212233222111133222111333133312212222111222211122233122111111111332332133213334444311112222133324433122112213322211221221133222111233332122111233333233112212211111112223322244331111111144422212553222122221111221111133344223332222133214443222212211333322221112211122112211111111221221221221111122222332212331111222212211233234411111133333211221225543233222222332331221221221234411122113321221666434411123322111222223313331333322133211221221332113331111111111122111221222223466211221133312332212212211223321221111122113321111233112222112211123312332212212212211221112664322442122222211221111133212211223322211233112223333211112211111222211111222211111222222133443311111123311221223322222111221332233221112211112222233114432122111233133211112331124433221221221222214433322123455334421221133324441224432112222221222211112233212213331112553442111122111112211222233211122221123552233111111233112244332212222112222133331112212244443442331122111113323321221221111124421111123311111443222112223344321221221222212331221233222212332331111332221554332212211111221113321111112222122133222133233211222222122333441122111111111221111332122111111111122233222233366344233212331233133311223321123312222112244322233211125532444331221122111221332112222233111221333442222114434412212223312222124421221111133311233112222111222212332212332211122222211144445524421224433111122111221144332213322211133222112222221334412212553442553332222133212211111111111112331221111122443331332122123663212211444222111122221222223311111122233112332211111112332213321113321221221111221112211133331221111111113331233122111333111221133323311223321221221122111222212214433111133553322122133211112443443321222211225543223552223331123322221113333344553222112211111113321443332442222331114434421111111332133333211112212211233112442111112211144344224433221122221113344233211122133332212222111112211114433313322213323322222111332112244421111221221221111122222222111221111111222331144421111111133311332111133244433322211223321221112211221111222222222222221111222212212211112212222113321133311221234413334411112443552111221133311111111124422211222244332331111111221113335522222333122112211221222212211113324444441333311112222113323332222112224422233233212211222211133332355211111111112211111122333223334422122133211222211112211144455531122113321144321112211111122112344112212212443323311111113321111222211221122221122112212211221554333234422112344111334421112211233111221111233122111111221221122221221333325544444433333322111124421222211332125532122112213323321111233111112211112211122332112442111122124421333311112211113321111113344133211222212332212211233113333321133211111123322222332222221112211111221221221122444222113321111221221221221111111244222122334434411111111122332111233111122122123322333111112222111221222213331122111112211123313344111333312212212331122223321114443442211221122112213344222221113321444442224433122111222211221222211332233222244333111122133331233111133222112212211221333333311111122221222233222111133211111133333441111332122111221222244421122221221111112444111112212222124422211334421111122111221332122122111332222213322222221123312222112222333311122122112332331223321221144322233233663211112222112222266433124422442122112223322332333311222331221123312211111112211332221111122122122112355211332124423321122122244212444122112211112555333321221111122133553222233111233222222111334421333322122133222122222332442222211122123322111113321221112244421333112211112222233122221122111122112444112212211123441221223332222133332331111224444112223333331332112332211221112222112212214433312211333323322225543211222211112213321221111332111221111443312331111221133443311111222222112222122125532114433111111244442123442233322122332112211222211122111124433112553344222224421111221112333321111111233112332233233331221336632124433111221221221333111222224433123311113322212366331111233244233663212233312212222221122123312212211444211112211112211233223321111133332223333442244233332442224432122111111112214432221122111222222111333111221221122221222442111111112212222122122122112211332111111111111111221122111221123311222212211111122111111111221221112444421221112345533222123322122122144331122111123322112211112212333334551112211444333322244421122122123311111111133222233111222211112334444113321113323331122122112211122221133443441233111111122223332212442111122124423333333333221111223322233332213331133331332233112331223321222211122122111111122333312222111223333111223321122112244321221122111332111221122233221113321111332221221112223312212211122122221235521111222442112233331222212233233212223312211123441233111221113321222213344222122111554345522111111111222211111443233311221222223322122122111111122221112442122233122111332333222222233233221222222133441111113344211122332122122123312222112212332211111112331124421222222122133331112333321111111221221332222442222211112212211112222111111333332113333122133331344412212225553322221111122111221123311122222444552133222233221111221123322122221221244412212334434412211222211111112211111112211111221113323333222223312211332122111111112211122221111124422211221112331123322111122233112211123312212222122111112211111111332133333333111111112211133332211122112211122122244411123322112222113355344442112211122221123441221222222111221333111122221266442221112222222331221333311122112222122112366322211112222221222211111122221144421123311111112222123441111111221223333122332133442111112211221122222211111122111222211111111144321111111111112331112344122233133442211111111443312212331122222212332212332211221222223311112442113333133222112331122221221111113321111221111122112211133331111122443222332111222213321233221111122221111122123311112211222211112211111122123311111122221222211222223555221111123333211221111222331113321111221233221111221332221111244222122122111112211112215553331112212211332222233211332335552211112211111222223311113322211221332122222211122233221233221111223321111222331133211122122111111133331111113321122123311111122223321111223321111122221122244212222223323344222212223313333122333324421112212211221122112223313322332211133333211111111111111111221234422332111221221334421221122111111123311122111112222221111111111233233233221111133212213333122122122111122221112442123311111122123312443322144442213333244222333221221111112211122221113344112333321222211122221111111112212211111111123333222123322222222111222212212211122133233211233122124422211123311111112212213323322331111112213322211221112211235555344266444433312211144331122111221221111122111144421112211124442442333332111112212213331111123312222222211233111221112211222211111123311112222222444113322212211221112233223774441222211112222222233323311332111233222211113332332442112222111112222112211233112222112244441111122221221124442212212211222223311221221223321223321111112211123442211233111221122112212212212442112222112211222211123311112212223313334432112211222442111112212211223331122133311122111223344111221221113323321332122122222331234422221233112244422331133211112222222222233225544211111112212222221122112222244222332123311112211233111112332212244335521111111111111122112212331223331111111333443331222444221122221112222112222111332111112211221111221122111233233112213331111332224443344331112222333124441122111332221222212211333322222211112222113333332233221112212212223311111122122112233332212331221112222122113322211111111111122223334411233112211133211111112211112211225554441233111111221235521122122443211332332222213322244321111221221122235521221122221333332333133212211221111221111133311221222331123333332211221111221332112222221111222222111111221122111111113333122123552244223311111111111333112213321112226644223311122111111222211122332133211221122255322344122111112442111111222211222332211111332111221111122221122223322222111122112553311333221133312222222333321333112212222111222222222223311221122111133331133344113321222211223344112223311221122123322123333442122111222212211222223333331233221122221222212212211133222122113321234577444422213334444322211332221111111221112211111111221144321111221111112331123322111221133233332222111111111332221333111122234413331112555211122221122222222222212212212553311111112222221111123311221112211222211221332111111111122133222222212211222223322223331332133312211111111222211221112211112212211122221112213333112211244355511233112331222222334421111222233331111122122112211221112332211112213321112222112212213321122111122221112444123312222122222213331233223321223321344421113333244412211111111332112211122112223322244211111332222213332331112211111111112331113333244211221122222332331112211122122222222122221221111111144331332111112211133211222211221111112224422333321222222221113344344233221443331221112331122233125553222223442222111221221223321111111133344111111221113322211122133323311223321222212442332112224422442111233222223311233444331122122222442443322112331221122233122112211112214432221114434777211111332111133332331133663311133332211133222111112212211112233311221111111221112211111122111332111111111111111222212222221221111233233111111221112222221122221122233244331111221233133211111113321443211255533222331332221111122111111133224421333311222222233221122111221122112211122123311112344222222332112331222224455221122111221221233244222112212222221221123312222122122133331122122222222222212344111111221112211222212211233221443333323323441443311221112211333223331133223322111111122113321234412211234423311222233312222221111133322111122111233221112233211112331112211233111444412332212222122111221123322222212223441111111122123311113333112344221122122111111111222222222222221112346621122221111222224444211221221221122111223321113321332111222222122122221221233122133344111133331111112211235522212222233233244212233442222122124442222111133233444221221111112222333111112233311222214432112211122122113321222224421222233331144334444221223321235553122244331111111333322111122221114432221332111233222223322112212222122112212211122144355521222211112331111332221333311122111111111111111133552122222211112212212222333221111111122233222222112211112211222212223311111221221332111111334411112233212212212332222123312213333244211112211111112331221222211222213331111111333663213322211123311133211221332221111122222211112222114432112211222233331112211111123333552333111111122111221332113333111124444332366321244423311122122112222221233122221222222122222211133333212444122111133222133311113321111113321112234442211221244222112331111333221133322133333331221222442112223442211111112224421332111111333311221122111221111333112233311221221111112211124421112222233123333211221233221111221111133312222333312211223321333112211111221111111112213321133212333333111133322111221221333311122332233221332111233133322112211111244211112331124422331222331221235521112211221111122113321111123333211123344331221233221222233233224466212212222122112244346633133211122111124444433233213322211122113333111111221122112212442444442111221111333322111133322111221122112222113322223311112211111221122124422222233332111112222123322221221221221222444312222333221224432221112211144331221111122122144333332221221111221223321122111124434411222222111221222244333112222221122111122133222221122123344321123322112331221123311112233222112211111123311111221221122111111111111221112211122133344222211112211111221111221113334411122221133222122122234433331221122122222222133331114433233221111111111222222111112233233322122122122113322212222115543211133213332332222221111111122112211144323333333221223321122123311222212222221111122112211111122122223321332122222211111221222233222111122244211111112344112212222221112213322212222122112211111133211221113332212332211221122233111122112222133211122443322255323333111111221122122332221134442111111221122111332133211221122112222111111124444455211221233122112211122223321222211221221221222211133211122334411221222332212331221333111111111111123442212222113321112211443222221122111233111333311122111111111221221221122111111112212222111255321443211124422212212211112442144335544212355222112211112212331333333442112344111222211111233122221234411112213345661133213333554333122122222211113322233223311221111332221122221111111112211333112222111221133344443211111332222212212211111221222211133222222211111111123312211221111122133211112212224442212344332222212211332333322122113322443333222133455221112244321122122111244433211222331111221333324455521223321111222443311222233211221111222222111112212444112212211332222222332112332211122111333332112355211344421112442111122223332211233122222222112445533311144421221223324433322133332211123333311112211233111122222211224432122111111122111111332113321111443222111222233222221124421112331111112212344112211332122111124441112212233322111222331221332122222213333222222111122122221111123322221332122333312211122111332122122124421122112222221111221122112211112222133222111234412233332213323322211112331113321112331111133312211244211222331112211111111111111222222111333322221221221222332331111111111111122554321111332111111111122222442122122233111221111221111221122133332331122221133325533322122123312211112445511221133331111221112331122111111221332222442111221111221122221112222333233112222221111244212442332221111222222333332122111222212211122122244211221222212211122122221233333221122221111221133211233221111111122123322112442221122111113321112222111122333322222444421122111221333122221111111122111113321112443312212222221111112331133311111122332122122111221112211122332122111443312355211233443311111222212211221244411332221123311122112211111113331111122122111233122123311221222222222332223312211221221111113322211332332222331124444211111554333222442122221111112212211221122133222111112331111332111122122221122111122122332111221133212331124421111111122221123313321122112212211233221233111223344212331122122112222233114444411222211111221111112355222122122222211222332222111233122221111244211111111111122221123442442112211244433333113333221125533322122112332331332221122122122122122332221122111112212331221122221123312212222334411125533322333111123312224422222221111221221122221233223344222123441221335521133311112224442213321122221122144333122133211122122112553442122332554333133333331244213334412213355322223311222222122333111221222213321122111221111234433211122111554333133442112212222112222112332211244442332123441222222111111221113344211122133322111144422212222112233442211222444111111111443333333122124441111222212333323321221112344221223332211332122111111112331111333313321221221112332344122122122113322331332235533221122111111144321233222444112332212442111122123311122112211133233233233222111122221222212233211111222331122111244214433333441335533311122133222123323322111122111122111222442244332222122221122111111332111111133312222221112212443311122113344211112211221221111332111133312332233212222221122221333221111133211111221112213344233344111333111113333321333322122222212212211122122221111111443212211225544441224432222233213323335522211133211333221112443323322111111112212222111123322444222221244212211111221334421122111113344155433112331122222211122111111133331112212222221133331122111122112233212211224442111122221111111123322112211113322332331122112223311122122112212211233233133211222212233212211122111123311332122122113322211222213321134442113331221133322122111221221133311111111221222332222333311221111111111122221122244212212222122221112332222111122221111222211133311111221122221111222212211111332111122111222213321233122222331111111222211111222222112442112211112211111112211123442211224432122221111133311244223311133212211111113321112222122221221122333111233111112332331111233332122112211122122255322212222222211221111133222332443324433233332111221122111133212212211111333312344222211221122111112212213333221443211111111221111112443311223321111332333133443311123312222111221244412212211221244332212212212211122112211221332112211123322111222211111443244344211221221223333111112222111123441244211111221111122112212333334433322332221221133212332332222113331233111111233111221123313322212211122112211111221333111133222222331221222222222332233213321111222555233211221122122113321332332111221124423321122233111112222133222112211133344111112211443212233441111334421122221122332122111244666111111111111111221221112211113331111122221124421122111222222125534412442221112442221222214445554444422221122221122222224433222211222223322333111112211332233133322111221221155433222331122443211112211332112211111222331111221122223333321111221111221113344552212212211111222212211332112211114432122133344112331113445772122221144321123344321221122221112332212331221222212212222111122112211113321122333133213321244442112331111122133222221112211113322211122221443444111111221122221111122233221124422344111133222122222222113321223344122133314432332223321111111113334411112443441144344113331221112212223311122111233233111222233312213323334412212214432112331333233222212211122123552111125532221221443211111444442113332222122221112344133211222331222211244211221234422221111114433313321111223333122122122223321133211112211221111122222211221334421111222223311122333111112222111554321112355211113331112233224421122111332112224424442111221111111233335552111221111122133312444311333311233222211221111112211122221112332212331111133312222111111113321332111221111111221221122111111111222211224444421222331122221122222211222331221112213344233222222222221233337744211233114432114442222233211111133322244224424432443312211221221122122332122123311111111244222111124433111133331111332111111222212211122332233111111111333133211112211113333112211112222332111122111112212211221233112222255322331221111111111111111443222111233112212211122122113322332442111122222212233212211111223333112212331111144322211144444211111112233213555332222111112222222213322222112222122122222211123312331222331111233221122111133211111244222114433122234422133331111134442112331111112211112211332112212211113321112211222443442244421122233221221444444331112213324432221221224444411122111112443311123322111221233111123333233355332211122122112222111111112211111111332111111332112211111112212211221333311221111111133211133211111111122122111233222212332222122221332332112233331123311332111221122112212211122111113321332122222211221222222221133212233442233331122332123311336666221112222332111221122112211112211111222211112222122111111111111111122112213321332113331332112233442332111221222211222222334412443552111222212331123333311123323322111122221111112442111111113335521111223323333112344221112211112332222133223311122112212233311222212211123312211111112224455112233333222112332331122113321221222211222211111126644442122111122223331133333312211111122111221112222222213321111112233212211112331111122123552122111112233344222211111112212212211123455334444212212212211333323322112222111112211122111122122222211222211123323312222122111111333111333221221122122244213344233332443311113321221244222112444443221111221122221133312213333331233112212224433122244411111122133333331221123311122112255432111221221222212211112332344221111222211221221233144444211111112211111221112211222212331222222111332221111221111233122333133444421111111221112211122122111111112233222113321111221111332112332212213333111222211111221111111221111111222331221111111112226643344111221244422112211222211233111244211233155444221233113331112213321133222144421244222111221332222442111111122122444422112331233122133322222213322211221122112233222112222332122112213332222112222123322222555211111122221111122332111222212223441221233133222111111122111111111122222214444112212211443355333321112333333111222344221122111222211223332222111113331221122223344412233313321111221222211112222123554422212211233221112223311332221122122222213332211112211122111223321222222111221112212222122122112211233221443211111122223322211222331122111333323441222553212553212222122221443212211221122221112222111111221112211233122332221221123311111233111234551222211344421122222331122111112442112211233122223322211113344111144322224421122222222111122222211443552221122126643222112212222223321111122222222122332111112211221221233221221112211222211122111133223322221236644411112344111111221111233221111113331221111122112211221122443331221113331222211111111111133211221111233122112233222333111122223321123311122222213323322331221124433133212442111111233112211111122221124421233221122221123322221122222331332113321113321133442212222122111222211222233331111221112222122112223311223321111332111221114444421244211332122112222122112211112344112223333331221221332222212331111233332112222221123441233122111122332222213331221222222133223311332221122111112223322221122111122222211221112222111221111111111224433313322212212211111111133442233221112442222233211222331123322222211222442332222211112331233333311111111334433111112211112211221111112211222442133211133331233111111111221112223311115555333321221122122111112211144344212212211112211122443222133311111221333333233122111334443133312553212224442222221222211111111113321111111111332244333333444223311111221221223322223322112211144344224421111122133211233133211111112212443311112222133211122222222221111332111111111111221221233123311144321122122222212332211144333321334422144421221111111112223322221222213321221221122111221233122111223321111111122333553311221112222333322133331111112222111122221112211111221223321221122332221111122224433124443333321111122113335521222331122122122112211244212211111122111144324443322111122122111221123311111221111111155433112211233133331332122666633441222222122221233122122111111221122332124421221122221113321122111332222211221233111122112211122122122235522222222211333222214435521221111112331122222222233122112211112212331123311221122123311222211222222221111133331122144421333111122122111111122112344333322221122111123455112211112333355331112211111126643333321133312212211122122122332111332112222244211111112331222331133322113322332222222212211111111111111221112212233311111333333322111113321111221221122221333111123553311123322222331223321112211221111113321112444421111122332111221111221113333344122222211122112233211233111333333311111335521122244333333112331111332112442122122221333311111234412233222111221111123344422212233222112211112212331111123311332111111244233222113321111122122111111222212332233211111221233334433122113321222443322124422442133214435544212211122221113323321111111221111113322211222333331113322211221222211221221233113444221111221111112222112222112222221111111111332443212211111133211111221112212211333552111122444355332211221111122222553442211144422224433112222112331111112212664433112442222222221222211123441122112211122221133322122122443212212212332344221111113344111222244443332331112332211111133211221111123322221122221222244433123322113322211112211233111221112233211122221332112222112333322212211112344222233222113323322222221123311122111222211133211224433322111112212211112222124421122222212211222664331221122123313321244211123323313331111122333122221111122111113331111122222211333133212212211111111222212222332221122332332113321111444211333122233123322222211221221122222223325553111111111222211332112332333333112222112213322333322211233133332233344111111333233111122112222122112211223321111113333233122222222233112222112233312222124421332112331111221221122113331122123477322212355233322122333122122221111221122332111244212211144444332133332212233222112331113321133442234412211221221221221112331223331334441112211221111222331111224432111112211111112233333211124421122111112213344413332222123312212211111111111221122233332221122221122111221111123311111111221221111112211112222123322221233333221333122221111221122112331221333113323321122112211123311133313331111122112222221133211123311222222111122221113335551221244411122221122144444112233222233133344355222111222222333111122234411122111244331111111221221221111112212233222332123322112222113332331112233331222222111112222233111233221122133213333223333122122111111112224433333124421223333122122332222212212211111222355222112222111221221122111233111111255521223324432332111332111233122122221233112212244443333111122221221112222221133311111113332442112233322221443311333333211122111133322444552111112332211113321112211122114444411122122112443312211112211122122122111113333222211222212223322222224421222212222222211111122332235533221124444331233233111113344112211122111112211112212332212222111234411111122122111333332222211122111133211222222222332223311233221333311133322111122221112211233222212331332112212211223322212233222133213321221111111235551113344332212222112211221133333322122122133224433112222111233221112212222111233113331113331332112442133312222122122233122125532112211111122111112222443444221333111122122332122333441111334422211113333122222222111113331111113321122221124444552213333122122122112222111333255322331122112211111221233221221221123311111111112222112211111332112222111111111122122221221123322244212212211122222222122122221112212223311122221222211221123466211122112212222233112211221122133213333112212212211122233111555521113331111221111111333311111221122221122221123333355223311111111111221222211333122111221221115555311234413322212222233112233442221111111111112233323322112442133331122112211221122233122122111221221122332144322233332212213323323322212233331111122112233212331111223331111111111123311112212212211111221443332211112211111122111221111113323333111221111111111113322211221221111112222221233122221112211111122112211111111122111122111112212331244211112211221112222111122133312222133331332233133211123311111122111333221223321112212233211111112222133212212344111112222112211221112212211222224421234412212211221221111111112211111112355331222443322122111222222112444111112233222221111222222113331332221111122111111111124421122234422111124422211123311122122333312211122111111111221111124421133213321111222211222222133212213322211133211112211111112222233122122221122111112331122112211111244332223442233212211111112212233331112211222331111221111122111332221221444331122122221111222211221111221122111122222222333221133322123324421244211122222222111221221334412212212211133211222222111332111133211122111111443222122133331111111221133323323322222222122111122111123322133222144322211122123322111111222443311112212331111112223443322332211111221122221111221221333311123455111244552233222112223322332113333111235521133211222213333321233222212553222122112331124423333112331334551112331122133211221111111122112442233111122122122222244444233113323322222122233144331112223314432112211124421222211122111255321111126643322113323331111244412211122221221114432122111155432223444111223321112332212222223321222222112211332111333333312331122112211111133212212331111122332133211221122133311111133222233111332122122444226643312211233222211221123311111125552122332112332222221113344111123312664321122233112211112222221111221112214432221122221112331221133212443311111112211233123322221122112212444442442221111222445511112211223323331332111221111111111112211112211111111122112213333221222233211111111124421221111111332221113321221111333322222333323355531221114434433221122112211122113331111122133222122222213321221144321244212212233222133212331123442223311122124423322222244213322331221233332334422331221235555321122221122333111111113321112222233332113321334444331244223322222223312442444311112211113322212553211111221233122111111222213331113344211122111122111333221112212213331122123322233112222133211133331122221111332111233122123312211222212222111233344421221111244212211222223312331123312212222221112211233114442236633222222122221221122122111112211111113321221113333221112444111222211122122223323333332222122112223312222112222113344122221112212233211111222212211122133331111221221221133211122244222255344122122111111111221111111223321111111222213333133322112331112211221122111221443311223321111332233122221122111222211111133466632233331222211112244321113331112332222122112233333321122123313333111223322444112212211133312211113321444412211112211122221233111122114432221122111112442113321122233122222211112222122112222332112211221222211122111122122122234412212222224433221233111111221443222123322221222211111112211122111221222211122111112213331111112223322111111122233122221122244211223321111332113321122112212211221332224434444662122122122221332111112211133222112212211111122333441221111221221221144355333123333211111333111122223321332122111225553211333112212331111122221244331133222112212344122123443331133211122233111111122111332221233111111111111111443312213323344113321221122122111233111221122222233224422442111222212211113333222211112212222111111122221133211111111221133222112222221222222332221221122233222331234412222122221124434414444233334424421111111222222122233133222112233222113321234412222111133322111221332112211122112233222111221111333322111122223333221111122112223333222133211221122111332222222333222224433332122133212444125532111221332221133331112213323324444122221222224422233331233122221122244331111123311122122133322112222111122123311122111122332111332221111233333312223322111111112233212223311111444441112211122444212222111111133211123311112222111111222211113331332222233331111443311113331111112233211123313333111222212442111444222332244211122122123311112211111334422211111233111223332211111122222222112223311112344111221333441133441332222222133223322133332222133442122112222221122124421133223552222331113321111221223321221122112222222211111221111222222112331221144333321123311124433122224433111113321112212211111221221221124442212212331122333443553211111124421111223344212332222111112244443333111233111111221111332112211111223331111111111443223344433221113321133211221122221122111112211122112332233211122111122133212233222122244444123311111123311221112331222211112212216654455334411111123322111133332442233332111112222221123552233222224422212331244211221244213333122222224421111111112211112213333111244212233222332112222111133212222221221122221122113323321122221333111112222133211122221444412211112222111111222331133222222222221112211332332233222331222212444444212211111332111111111221111133222332234551233111122111222222221111221221112211111221222443333311122122221333111144333122221112212211122122333444222233133233311111122111111221334421111332133333332212211444411111112331221122111133213321443212222111332122122233112332212211122221111332332221122113321112212224666212211113322222111155532122255333122133553212211111111111111233113333444332212222223321111111111222211122333477322233212222234551112222221111222211333311332122133332211111111122111223344211122122222211222211122111122111111122221111144321233122111221111122221122221111443443441113331334441122222222332111221122133333321122114444111112211221221111443332211113332211133222122255534422221233222212222443211112334434433112222221223355222221221122133211112214432112222133222333122111111111112211111222211122111122111112553211221221221122223321112331221111221112212222111122233221133211222332211221223321133233212222221255333122221221221111333221113331332222222111111122111221122222222155432111332234412222122332332111112223322112211222222133211114432122112222122111244422112211332111221133333334434442122111122122122234662122111221222211333122122222222112211111236632244331221111122122112222111113321111122112333331112212211111222212212213321244443311122112212334432332233221112211112211332332111122111112222221113332222244413346622223311223331122112442221222211111122111443331122122112442111221133211233221233111112222122111111112332211332111222211222213332214442122332112233233323324421112553222144422211111122221334422211223322443312223322112331111122221122222222111122111122112211111112222111233332133211112213321222334433112334432112222223321111111233222344443212211122111112212234441122122111113321111221112223311221111122111111332112211332234412222112222112212222133222332333322112211122112223466213321122111111221332332144331221221221111123311133443321221133222112233444112212212211111222444441221111122112213322211114433441122223321221133222332221112222222213333111111122233133211223321111222331221111111113322233212332211111221221233111111111223322222221133322333324421112223311111112222221124433336663322233111122221112222244553222111221122122133311111144321133212332355222112223311111221233111112331111111133223322122244211221221124433112553322234422221221111111111122122122113332233212212332444433211332112222122111112212212344221222211111222222111111221222211122221221111233233133331133211222211221122221112222233111111222213333122112222123322233221332122112443313321122122244213333111111111112212211111122112233233233222112555222122221122221222211111122111222222244211222211332144331114433111221122111233221221112233212233331133222221122221221221112233222122122111111333442233323324422211221333222212222112211113334412224421112212211332133233211122133322221233222442111332233244211112212442332111112211333322112212222112331332122111221112442122122122133212222111133212553211111122221221133311222212331111122112332211233123311221332122332222233212222222222222211332233332124421122122111122133333222554443112211112211112344112224421112222111133212211555334455512331111111221122111122111221122122221123441221233111332122122222222222366661112223324433112553211111112442112211111221221111122221122221223333233222331443311111111221221244331111111111334421222222224442111111222344111112211221122112332222222212212244433112222111122333111112211122111122112211221124422331221221122111221233221133212211133223333322112211222223441111111332244212212331144321111221111221123312344221111122111334433112211112212211122113331111122111112443322123311233221122111221111111112211122237743211332332221112331123311221235533112233441111222211111122111112211112331244333321221221221133331111332266442332221112332222111222212331221111333111233112233331113322212244321122145555111113322223314444333323441244211111111133222111111123333222112214444422332333221122113331222442122221123333211111112212211111221222331122122443244421123442213321111133211111111144422333322332211122123333233331111221333222213344223333221221122221111122111124433111122443553312222122111332155433221111155444433112333344222113344222213331113331113321221111222211112222222211123322333111222222111222211222222122221221221122122112211133212211222332214432111221111221122221221221221233111332233111122122332122111133311333233113332442122223321332112212211122111112211133212212212222112211333333312211111122221332221111111233111112212211443331122124421122111221111112212222111443312212331112222133212212211222332222221113322223313321111133222332112211112332212222221332112211221111112331111112211222222122111111112211113331112223443333111111133442233244233211112212331122334421333552122111122122111111112222223321133211244222221133344221221111111222211122112211332332111112211113335521234411111336643222122221111221233122122111111111221122221221144333332213321332111133211222331221333332111221113334411112212233322144466222223332211112233212211122123322221221112331122112212212211111111113321221111122221122113321332122113321222224421113322331233122112222221112233311335532133312332211112211122233332222332211332111221332111111122332221221133333344222133312222222211111112331122222211222211112344122112211133444421112213333123311233222222333322112222223331112355331112211122221333221233221111335521112212212222221122111444412332212211144421221221112222221124433133332212223311111111244444333222233322133553322221244331332111111443322221221444212331222344221333112222112211111244332211221122222222332122122111111111124442222112211111133211221112344111223333133322111221112224422212332442122221111222333321233222331233221233233221133331111112211224432221111122221111244223311111122122222211111122223321222442124455112211122221112233222111221111332333311122112211255323322211221111111122111111112222233111122332111112211112222111111111111111123311222213322212332211222211221332122332122112211221234424422211122333122122122233122111221244442112344113321221111444226643322333122332111221111112211221221111222222111133211222211221112213333112223322234412211122112222222331122112212211332222212213322211144423322211233133322124422332223311444222112212211222222221221111112212211113345662331111332133441111221111111444331221122221111111111123322111221111223322444222222122333333211222222111233113333111111221222222223321222331221113331233122125534412222221122223321112211333111122111233122111112211222222111111111112211122112212344111221111221112211133331133664421233233233221111122333112222221111111221113321233221123442223311112211221244331222222234412223311443211124421221234423333311111233111222233211133322112212222222442122112211333311111112332222112332211122111223321111332222331234423322122333311111222212442112233211122122113331123322111112213333221112211221221133332212233344111221221122112443555111112211111332221113323444444211122222212213333234411111111111332111333111111111221332122332112211221144331333552111122144321122111222331112212211111111111122111221221333111112212331233221111222212222234412444122233111221122111122333311123322112211111113333443212212355222332221111111221224442111122112222115543331111222211111111111111133211113331332112333321122135553311133211122122112222443344233112331234412214432221122122221111122123322122114432133222332332332221112222222331133311222331125535521144421112222111233335532223321222211221332113333133212442133332212211111221123663553222133444111221244211233122223322332443312222111111122222333344331112244323322211221222212211122123311111112222221222224434551112442122221112212222222233332223312331112222233233332111111222222222331221111111112212777444421122332233133441222332222144331133442111233111112222122112331122112212233234442211122122111112211233333112212212222332112211111221111111112222233133255433312212555212212222112331111334433244331123311112211111122112211444212222333221122111221443212211122111255553123311111122111221122222222122332233112222111233122233122222222221112233333321112222122332111221122221122111221223344442244211111111112332214432122111144441221332133244335533113332332332332331112211221122122334444222111332111111123322222222221122221122332123322222442332111222332211221112213333111233221112222334551122113344212233211221244211222332332222221221122111122333122111144333112211111111122221221334444433331221112211111223321112212211221223322211122334444366633123444432112211111332112223333552111122221332221111332112213321133223322333442222221221443222111111111133211221112332212211111221111111111112212442222211113321122112222221111122111221144422331233233113331111244331111112333321111122123311221122221122111333312211122112222122222222122122133344221133211223322331113321111122122233111112212222122222211122124433111333111221244223311111111221122221244331221111221144322222111122122233332111112212331122344411332111124421112331111332111222212442233112222122111111122222211112331122111122113333122122111122133344222211111122332113321332111122222212211112212212331111112332212211221221112332222133331133312331221332111221221111334421222331223333221443344112211124433111221221111111111334412344111122112222111112212212211133331122222443312331111223344122233114432224432111221332113332211222211221112211334433112331111333112211222211111221111221111133442233124433111122244211221111123322112212222133311133222112212222222212331111221111333355433311111111133233211335521111233112332332233211221222212233331332111111111233112212233444441111111122334423321221122111122122221111111112211221233122111111122221443211233112211111222222334422233331233123322113321233112331255521222332211122111111221222222122113333112332211222211133555512213321334421111233112212332212355213334412211111133311111221122112331113321113321221222211222442222212233222332332222344111221122233122233111112211113321113333133223322111332221111221133222144332211112555332211124433122112212332211222211111133222111111222212222122111222211111144321111233221111111332233111122111111112212224421112211112211221221221222211123323312222221233111112211113333321111112211334421111111233123312444421443212211244223441111111222224421112331122233113331221123441122221221111111112212213321332111233221133212223322221222212212222122122221133233211123552112211221133224422211111122111124421113321221222222111255332213331111111222212443311112211112212244443111234411112212211223321221235521111113322244333321123311112222221112223441221111221112212331144421112211111233111111112211112211113331111233255535521112211111122111123311221111133233355222122221221112222111332221111133212212444312233212222111122221332244355235552133211112233222135553311111221112233331233222331122112211122223344412331221123333346623321122222212212333331111123322122122113321122233113333221221111113322212222111333312444322111122111111112222233333333223331122111112212222222331444411111122233233111133322111111122114432111244222124421111111111111233133311111112211221221124421221122255521221122123312211332221222211332122222244331133331125533333311122233233111221111123312222122111111133331122223344111144442111111221122233221112213321123322221111111133311223331122332113332222111111123322133322122111111111111233144443221122133223311221233122111144421111221122122123441234552222122332221124421111233114433313344422111122112211221443332212222111122332111111122233111111244211112222221221222212211233222213332212233222113331111122112222443211222212212211223332211144344222122122222212223322144331221123322111111112211122122133223312222221112211123311122112331122122122111221112212212444433332122221111332111244222122221332222332233222111111122133331122222222122122122112222112222111124433124421122112211111111122113334411113333221133244322225533233111111111112222122111555322555212222122221122111122111333311222212442144333221112211111334411222211111233221122122112233553443333112222233122332111112211112447754323321133311111332222222112211133311111122123333441113322211111112211112355553311133311222331111123442211111221113322331233222222221111333113333111221124466212211111122333441233122233122111111112331233111122122112211122224433244411122332222212331111122443213333334411244233331133212222333122111221112211112442112331111221122221332122133333321133311244222221122222212211112211223322211221111221122112331244422244222122111221111133211333123311123322332111332221112211443444112211122133443355333113321221244213331111111122144321221144421122111112332211112222233133211112233223333211221221134442122333123311221111113331111111112222122221112212213321221113321112223322222211223321133211122222223311332111123312211111111122111111111122222211111113344221122133331233112211222223311111122111112222112212212213323322333331112223312212222233222332332222111112211122122111222244355211111443311133233442222222122111333111332112211122112211122114432233122122221111112211333552113333112222112233322221114435533441133312224421122111111221122112222111332111113331111112244421111133222221133211111111333123312223312212212442221222244422223311122111223332212214442222211112233211122122122122111112222221111222211221111244332212223311111112331111111122221112222222211122122112331112222122111112222111225543211111111332122123311111332333233221244211111122333114433221123312213322211111112211255321111123325533311221221111355532222211221133211112212212211112211122112213344221122113321122233233112442221112444324441122221221233222222122111125532112211111122221122444322122111332221133211221221112233222223321111221332124421221133311222211221332221112222133355512222133233331111222224433332222211133211122233112233222111336662112212211124433133222111244212331122221111112212222221112212213321222211111221222211133211123311122122233111112344111122111111122122111221333244211123311221112211233221122221111133331133211111112344133222111221332122111255332222111221222222112212211111111221122222211333113321133222222211122221443211334422211244432222221222233222122221111221122111111221221122111111333113322211443331114443133552112211122332222211221255333112211122332221221333312222233123322443211111122332122123333212222122122122112222222212331221122334411233112211221123441224433111333112211124441222222443331233222224422223312222144422211122221223331124421122111123442211122133211112212211332223322222113322222335532333322122133331244212233555222221222212223322111111111122122111123322221133311122122111223333233221221221222211111112444433111333311221112222133212333331122222212211111223331123355442111111332221332221123311332443332211333122112331112555222244331112213323331111133355552111111332113344212212222111233233122221224434422222122111113324443311111111111221115543214444222111111221111111144333321111112446633112212222221222332222111221112211221112211255333111111133322332244222133222222212331332222212212222111122122221221221111122144432442111122221332111221111221332332122113333123323311332111111113321122122111221112332211222444221122233133211222331123324421111111332122111122332221124433122122221122113321223321122221221222223333223311233221123311334662233113321111332111122133222122111111122222213334411333312212332442122133222111122111234411113321221133311221222211112442122111221223322332331111333312211222211111122111122221224433221221122233233111123441111113321233144323331122111123311112222223322211221122111222211112212443322113333333112442111112224421112212211122122112223311111332122124422211111133442112211221221221332122111221221113321111122144421333322221111112212211111233133312211124444344233111334422443311111221122221332122233221443233212212211111111122112331112443311112331221133441111112222122111111111221122221111111111122112222112211112332233322133222133355212212211144422211112211234412244422212211111113321333222553212222133211334441111111221335552443212332233223311233222223313333233221111222222221111113323344412331123322113331133442211122155432223355521122111111122112211222332212211111112213334412212214433112233332222235522211111222212211221221112442112233312222112233211112222122111333441332332221111122111223333112211332111334422332211123311334421221111111221111221111222212332212212332331123663442111122123312222123311332222331123311123311113322211111123312222333122111112211221114433333332223321122112222122133211244222223335551122221123314432111111334444332211111111122114432122122233222442221112233311111222212211443331221111112212332211122111443233333212211124433111122111221125533443333111221124423323333321122111333311111122221222212223311221233112211122444211223321111112222221123333332213333223331221111112211123311221112212331133214432113321144421122122234552331222344133211111233112442112211122123312211111111112212211122123441221221221122112222112211332222212212212233222111122111221221233113322211111222211111221221122111221444332212211235533113321244212355222111111133244332212212222111332443211114432122111244411133211221133443322113344222224434444213333133211221443442221111221122221111221222211122122235533113321122112233332331332332111222211222211222444123311122122111112211111221133212211221443312355233314433322221112213333122111122221332333111122233222213322224421112222112233211332222222221123311123311223344211221113322222233122122112222112211112332332233222221133222111222233311112211111244222111111122223322212211122333133311255334551221235534422111113332331233111112211333311122111244331443331255321111222211123442211111222212222122122112211111221122222212212233331112332212331221221221123313331222212442332111221122244222244355222111122111332221333313334443221111221222332213321111221113321112223314433312222112233213334551233122111111113321111233222211111221222211122332111244211133441111222233322144421221122112212331112211112222113321122221122333111111122111221112222221244211233332111114444112212331221222331123322221111111112344221111133211244211224432221122111244442111112233244421111221233111332111122123322221112331221123312222333324421112211221222331122233111122221223344111112233233213321112332442112222111111111133212444112212233444421112442111123312211111111122332114433333311111335544222224442443332212211333312366331223322211112213321113355212444122222233311554433111111123553441123312332222111111111111221111112444112212233211222213333113323322332344111112212212212211112233222112211122111111122221112211134444122111122244222122333332112212222111222211112211122221236632334411122111221221221111221222211222211112222113331112233445688211112344112211234411111122222212212222233111221111113321221111133331111123322122222224421332122111222222122133331122122122332111113344222212211112233333322233233313334433442445511122111111112212331223344442112211111221122122111122122112212445511221233222211111111111122221332111223333122233122111332133212222122111122222222122223322211112211111113331112213321223331221123553311221223331133312331122111111221221122555333113344212212212212211233221122111111111221112444123323313332222111113333112222111111111122111123552133211111122111222211244233312211123311133212211233332133322111122112211122112211111123322112233213333124422222122221114432344422122122111233112211221221111111133332233331111111222233313355321221221122223333113322332211222211112211112211443233312211221221221111111111235521221111233133223311222211111122221111122112332344122233333111221111233122221111222222122122221122111122332223333111113321112233233211222211443233311113322332211234411221221111111122122111112211111233234411332133212212222122333111111112211221112222122332244222235522211222211233111111124433114442112222111222224441122222212213322211122221444331123311122221332111233221122333111122111122111333122233222444111111111233221123322111122122221221112233322222211111111233222212223311221112223322233111113322222111233111111122133211112222133331133331222212333323331221113332222111111111111111332144442332332222133222122332111111222222111111221122221111111114432111111221221233122122122111111112211133442111111111111221221111222211111111244344111113366333122122221111111122112331122221223344211233111111112212223333212212222113321111221333122133332222111123311123312233222113332212211112222111123312211222332212211111111221112332331221333322111123311221111122221133212212233222133222124422233222332332111221222211144321112212213321111221222223311133331112222222222112212213332211112332212212222122122443211112331111111221122111122113344133442332111221123663555233112212211355551221111221112212211133211221221221221222222111221222331223331111555333233332233221112211113322223333333211111112233311221111244211333311443233312355233211122111111144333122122221443233312212211122244211221221221122333311333312222333111111244222222444433122233233332133443333322244211221111133444311111123552221111111111133233333322211111221112222221221122244212211122111332111111221222344122122221111112222221221333311221111112553331114442111122123442222221111332255321221111221122123312212212211111111221244212223311112355222133444111223321236632122133212331111233111332111122122122222211124421111111112224421111112222122112344221133222112442111111111221112333333333344221133223441111111221222244325543331111244211111112212211133211124433122113321122222222112222111111221334433111122122122112211332223344112213344222221111221221122111221333312211111125553441221222331221122332123322122122122112222112212344221223322332222332111123322111123441112222233124421221111111222224421112222234412212222144433322211244411122111113321111122122221122244212211111113321221222222122221112332212211554333123322113322212444111111221133332211222366662213321112233443311122133212211111122122123314433311122233113322211222211222211221335532112211111111113331133212233311111113322213321111221221233112224433122111332111111333312223312222222442113444233111111155553442332212211122221112212211122122122113333221122221133312222111222332211222222111111244355332444221333122123441111221133212332331223321222224433221221233111133331123324421111224444221112331333222214444322111122112212223441221112355332222113444212213344411222211233112331221221332112222122112211122222211222224444222122123311332144433344444433311222355211111112331111222447774321222214434422211133331221111114432222212222221111122111221111333122233111122123312233213332211111133233222113344233322111122233113445661111112212224421332111111222214432221111111122112222122111122332222345883332333321122122334441112222333311113321133311111221222222111255332222112211111112211113322211122244211122222211122133212211222212222332112222111222333321233233221221222212332222122344433311113344112222112244344211332112443333331112222223333244212212211123312212213335543441111112344233112211114432221122133311122332332122122111111333112331222355211111122133333222111133211122111123311111221222211125533441111111111221332233332122234411122111221244332211333311222222123333442221332111123311111113322332222233122122122111233111221221111122122133332222112211332133445511222553442221113355222233111111112212244434411133211111112222222223311111133442123313332211122113332211111122221111221221221111222344112214433122111112212222122111111133211221443442221122133442233313332212213333112223312222111111122233125533333312211112331123311111124421122122122222211111221111332112212331221133211122111111111221111111223331122133444311111122221221233112443312222112331111233244344111221112222111111133311221112222111221223333111221111111133322443212222123311221223333221112233211332111122333552122344421133322112332222221122221221114433112333321133332222111443213323333122111221221111111111122133446622331444222111133553332211111233222244321112211111233112211111111144321555344212222133311111112222332221111111221111111221111221111122133213333332122221222445512212444421112212211233333332133332233211113321111233133211234422111122443222222222221122222331111221122333312222112223322222224421112442133211122122233233222212211122122234422111112211134442221111112222111111111122222211333312212211221111122111221112223311124455222442221122223331221144332222111221111112222113333112233211332122112212222111111221112355211122112212211112222334421333111111221122332221111112211221111122222211244211113333122111222211123312222332333122334422332222211122111111222233211122111221122112333331221233112442221113322222222331111111222211112211123441222211332221223334422222211222222233122233222211122333112212222133322123312211221111111233223344233222123311332112211112442112223333331223322211233111122122221111221133323311122111112222112212222111133333222332221112211112211112211335522211111222213333111112331122122122111112211111111115544412554444144333221221554431122123322221113333233332222211111112211122111111122112223323322223322211111233112212222112222111122122334411332113331114433322332222443311111122122123322221111111332122122221133331111111114434411133222122221123311133311122111332222211221111221221112442111111111111112212331122112211122133553333211221111222213321111112332331233122123314432112222233111124443111221122124441244331222222112222444211112211112211113321111144433111221111122111443212222221221114434421111234412211122122123312211221122113321122133553322122124421234412222111222211222222221113323322211222331221111122122223335533122122111112211111333324424432111122111332221112344223323323333111122113322222112442111221112211122233111223322211111222212211111221111222211113321133344133331122124455333311332111111122112222111134441111122122333311233123311111111111133442111222222122122112211223322222111122333324421333322221112212211123455222211333133211233112225533323313321123323322332233111112211234423311111222233212212332212233222221223331222212331112213331222222122122123322111111113333123312344122112223322222442223344412331221112222221222212211113321112211112211221122222331111111123312331443312222233122111113333321221111111555333122233112222111111122222442144334411122144333233122112223322221111111332111112233222221111122112211332112211111133311222211112211114432124421111124423322212233442122112222111111221122443233222111122123323555111221111112222112211221112211124422212211233112233211122122233112211111112211221112212211222222133443322233111332333442222111221221112223312222111122234413331222331112212332211111112331122221123311122222223552111111113321111111221555333332332221124441111112211221122111122223333322211111111122111111113333233111221222222112212222133211122122111332122133312212553211112331112222123311111144321111222331111233333221443444123322122122133212233553211244211111332122122122222211122111112211111111133441332111122233122133212233233233441112211111332333333113321112222221111122112211133332211123311221133311221122112222111113331111221122222222112211111112222222222111114433311122221122223321332333311123322112212211221111233111222222111333455112211122122222222332111111333111244433331112211111111221332111122112212211112332213333222442122221332111236633122223321124421122113321222211122122223321111124423321111111122111133322123311111115543222223321122221223321233122233112212222112211221221222211123312244321333312222122144331222212211221111123322111221113322331122113322212222344421221122233221122113322211113322211133233331233332133553211112212344332111112212223311122233112211111221111123441122122122111112222133311144321222211122144422222333111122112212212553311122111221111122222331233222212331222211122112222122122233144332222123442211123552155432122221122332111111332221112211111111112212211113331233123311144441124433133211122333111221111221122222211221221122221221114433312331222211221233221112222221113333133212331221221122112212211221332111133211223331133222133311111113321111222214442112211221111222331233122222212211111221122223331111111122111221244213323332212211221133553222122112212211133212211111332122111122332223333113331122122112222111133344333133311222211221222222112233233222133311111111111112222111122221221112211332133224455322211113321223344553321222553331221112442111111111233332112213322211221111221113321112222111111221111112212444112213333333322221222222244211112553211221112211112222223333111122221233221111111233333552111222442111111333113333332122333133331111111222212213324434441123313444214433333312212553344111111122233122111224433312212224455233122123312211221133222122133244321332222222111111221123311111221221332122122113331333123441111223322223311221111114432122344421221111122111112333321222442111333552112211333112223311111122112211111221111222553222111111221222212233332233212211133222332122122111111112212213333222233223441122144321122122111113344331221221112222123311221221122111443311111111112211111111244411111111332123311112223312331133344112212212355222111112333321221233134441122123322333311112213331111111111221221112233355442221333663222222224422212211111221221122112212211133322112224422222443331122111221122222211122222211111222233312211133222111112444221122244442111144355321223321112331111222222221122244333321123323322332111221233332112223322112212233313344122222211222233222112213331332111222211111221221223321443312222144331112333331144322222111222214433311332112233212212331111221244213321123311112211111123326643442111221332221221111221122221122122234422111122111443211112222111122221111112444422331223331221144321112211122111222331244413333221221123311122122111111221223334412332212211111222213322222133311222331111112222111133322111221221222443333331221332124421221113344212222244223333222111333324422211221111111111122244212211221111112211222355233211112223322221122222222112212355331111221111233111111112222112212222122333312442123311111443331222222122111112553442112331111222222233112222221111133333211221244211111111111112222221122113332212223333322111112213666621233111122111112212444322111221233112222112222113321122122112211223321111122221112211111122222222111221221111221221221223344222221222213332233224421123311122221122332443311112222221332122122221122113333122332233233222213322211233122122122222222122111221122112211222222122111111333311221122111221111144421112332331122444311122111133233332222221111221124422212211133211111221111335551332332111233122124455321123311112222111111122223323322331111122111122222211112233441221111112332211112223333332211122112211111123312222133331122222331122221111111133212212212222144421122221332111111221122221124421133211111133233322221443312211122112211221111221111112222443233333355212212344111444211111221111111222442122111114433332122332332233112222221221113331332111221233111133211111112211122332111221221111221111112331111233236632233112222221113333111233332332225555513322331244433212211233122221122333311122244211335521221233111221111221112213321123553322111133322114432124421221111123444443312222112222222223311111112222133442111111244211122122113344111122333441332244233441221111111222222122222331122111133222122222331333333322133211124421222222111222222332112211122333312211111223321111222222112332212442122221233111221111554321122111112331111112222124421111133314432222211244444322233311112331124433122222333323321221111122123312213344221111222222112211123311111112211222211221123311111123311221221122133331334413333332112212233442332222112211111112211223321111233133335543223311333322224445553322222212224421112225532221111133212211122222211122113331123333233323333222122332122122221113334411332222331122113321111122111122233223333133331221122111111111221111234423442211122122111111333311122333155552111221122222211122122112355355222111123312222112212331333332122111111122112211111122122221111144344122221333322111112222122233444212333322442221111222332332211111333312332212331221122122133442222331124424433333333331111222212211122233122221221222222122111122221112211221221233332122221112212355222222222122222222443443311222331332122111112211122221133442213321111112211112222221233221133211333344331233112233222111122222222333312211112211332122332122221122221111221333332123311122111332333233222211333111122133333222221221122333221111122221111111122113344432331111333222211222331111112211123311122155432113323321111221221221112212222111221111221222331244331111221255322211221111112212442332144321244211111122111133332331221223321122112222112212211221223324432221111133222122332111444222122111144332211244211111112211221222211333133224434412212344333311222222114442332221111122111133311111112331112223322112222233122233122122333222212211133224421111111122133233211221332111111123441122123311221112225533311221332233111111122113324432122111111122233234411111111112331233111123324441222332213344212211122122221123311123312212211111133211111122111221112212212331111112222222211111111221234422221112211111123441122122332122122112213333221122221133311111222211222333321221123441122166553333333331111111332111222211222331112212442221111122233233122122123312331221112213334422112222244222122112255444332113332222222331221221332112244321332112222112333326655322442111333111112442111111122113323333111111111111122221221112222133244322442221233122126643211111332222213331221112211122221122665442112212212331333111221333111112212331332111122111221444455212212233331122111122113335551221333223322212212211112332213321113332233211444411122112211221332221122111124433332112223552122112212211111111111112213332212222122222222112222222212222133444111111222222122111233334422222221133233311112212442111111122111133313333122111111122332112233212444111122221221222211221112211221221111255444332212211244331233112212331233111223333122222331111111113321244211111133324422211222222111235533221111112211133311122122222211112211112244433111111222222133244333111443552133211111122111333322221123311112222122111111112211222443333332222122112212222133331112222111122222211111112222332111111133311111235555422221221111333322111333322122221111111221112211111111221111111111114432233222211111222332233222113333111111111233221112331123324433223322211221221112442111111221111332221122113331332123311111122112211221111111113355211113322222133233222221244211334411122133212331221112212233211333312233331133332211221122221111332133224441111122221111122332113331255344211332122112211111122122122112212211111221222211111113344112222122233112222111111333124421221122123312233322443222122223321333111111332223321113321244222133244332222233111233554321112331665432355522222122233222212211244211222211221112222221122221122133344221221112212331111112213333221122111221133331111122221113321133233223441334423311221221111222211344422222112333321122222222332223321122443311221112331222332222111133211122221133211112211133322332122122122334411123311223333221144433334423331133332211111122221333322233133333211111111221111222233553332244321122111122122111112211112332211122111333111222212212222122222222111222211112233225533324421221111112331233123323311333112211122112211111122222212211221111133311233222222122122221221112211221221221221111222211111111223333122221222244441222211221111111333313322222112233223323312222222213331222222123311123442212212211111133211122133346662332222124422442221122112211112331122112222221123313322212222112211235521111333111233122111111133211221221221111111133211133222111221112233211133222222222122222211333144333111111244211111221344422211112211111224444111332222211112331133455122334444211335533233111111111333124421133325534433212222221222211125532221124433133311111111122332111122244333321111233122122124422222111133211133212442111111333311111222331111443322112224422222113331223322222111222222221112222222332442112222122111122111113321111233221111111333112211221221221122221111111112233311122221221222332222111133211221234553321221222222112233222111221333122111111221122222222221221122122111113333332122221221111111444213334422221222211122122221122122222233211221332112332211333122221332221333111111112223312222111332221221113321111222775434441113333333122221111122112223311122222211112331122222331111111221122111221133211122123322221221255532222133233222111221122111333441233222211122111122221222233332331111111123333331221122112222222212331222211122112211222211111111112211221123443324443133211122112213332223311221233111111222212553331113322222122111233221111233111333442211122444331332111333111112222111123444433333211222211133344222222333311113321222211111111222212211221122122133212222111332332122111133212211111222211332113324433312211223344221222332233444554466212212212211122112212212211221233335522333321111122223321111221111111111111123312222123312211222233442122111133311123322244443322133312211122112233211223333344211122222211111333322122221111332221133233313344122112211111111332122113321333344322222221122224442112212244421112211221221334551122244212444223333233122222212211221122233221111221221221111111111223344211111133311221111133211133333441244211221332133223312214432122133444422332211333442223312213321112222222222335533323312211221221111221122332133222221122122221112442111133441111123311222212223322122122332221122123322133215543222112212331233221112211221233122122122133311113344211233111122112222114444441111111244442112211122122222331122122123311112223311233111222222222211222211332222442332235521443212211144321221332133311222344112211111233333111113321133222111113333112211111111111122111221123322133322122244331222211111111332221221233333311332122111333223331112222334411112211221333111554421221332122111221111224442122221221123322133211111221221112211111111113321332113321111122222211133222124424432111111112442221111112442133211111255331333344332212212222122333332444344244444111223321333322111332111221122112222221221334422233111221111122333312211222222111222211332112331111111333311111111221122111222331122222332222122221443331133311221221111122111221112223323441112211221113332331113333122221221111111233112332244321122222211112211122221111221332221221111222212211332221111111244332222221233122112211122113321122332123311111113344345522111122123312222111114443322122222222111122223331111111112211112212211133213345522222211221111244212211111122233122122122144421221112211222213333321113321113331122111122111122221122222211144321133222122112212211112233211122112222333333211144421333555111221133211111111122112213333222222233111133312222244211111221113321112211113331122133211221111111122123322332122122111236632111112222122122111111111221444331111122332222444255344211221332111111112211332115543223322122221332112331122222212223323322221332221144332233222111111113333222222111111111111233112331111111221221111113344211111133212211111111112211123443332211112212212211112222233221222222221112211112222111221122124444222111111111114442133213322331111111112211222211332122112222233333311122113333221133331133212212213322366321332111111111133223322221244411222211332111112331221111221122133213333112211122122112211122133332222332122122111332112211122221114444112444111221222222111111122112211113321122223334444111221221221223334444444411111221122111112222123441144344662221222233211113331111221122111112553211122332111112211111333122112222133312223552111111112212331233233122111333311122111333441332222211233111222211222255533322221221112211122111111112212244443311222212213333111122113344211233122223333111222211222211332122221122122122332332221222222111221332112212211111221123313324434421222233211221112211233333111122122332222233233211332111112211221111222222233111333322111111111255521111112244333122133441244213331112443311113331113332442221244211111221111111111123322112211221221114443315543455221122112331333114433333332331111111332112233212442112222222213333111122122144421334441111111112211221133211133331122122222664321113332266544222233111122221111122122443333333234424422211221221112211112211111133355233333222111222331111222222122334412211113446633233112212211111122122221111112211111133212213321122222222114432111224433466222112211122133313321111122111222211111122133212233212211111112355511112333331221221113321111112211222331122113332211111222553224421332111111221113332222222212211333222233332212442332221111122123313331122111111221112212211113321221221133222221122221122222211111122111112331443311122332112211221113333112211222444111111222212211111112211111111443441112222122222212332211221112224433333311122114442111111221112222233111332122332111111222233331221332111221122111332244212211112223313344444433111222212445512211233112332233331123311122221112224421112211112211221233112211333323441111122112222112442221333221221233222211111111113333111113321221332122112211333333211133344222211112211222331111221123311221133312211221221233221443322111221122443211221122222211112212212224422331332222331122221111233122112212444422213322222112222221122244331221122122123311123441133344233111332111222233211221221123311123312233222222212211112211112212233554421112244444412222111122221111112211123311221233112222111332112211222211122112212331332221122111111112233313331124422222332443332331222222333443311122111111332333221114433112212331221233112212222233333222332212553223322221111113321111122222211233122111113344222122122122122122123322221122221223322212222355521112442112222113333221111122122222222112211111111112212233211111124455122332112211221133211111222223322111333111133311122332122111221122221122113333111122122111333123311122332222211333313321112332213321122111112233311221221111111111234662113555211332122244444433233111233133222112211333222211113322331223322222122222223322223333111122221112222332221111233114432111221133311221221112211133212222113331133211221111111122122222211244244441222222223334412222111122112211122221111111122333313321122221111221111122112333322211133322122112444322122133313321113344333312212213321244222222442133212211221111111112222333441113321221133322221112211221112553322233112211133211333122333244233222133213321111111221221111222222222222115555233311111111222212212444221233221111222212331111112211112211111112223442233312233466613333221221111233221122332233123311123311111122332112211111112444122122122221333111112222111221344421222222111144332222112222122133211332113321111112211111111221122123311111124421111332332122221221112222111233123312331234425533233144333222212222111112212333321221224442233111122222222112213334444421221122111221222222111133222123312222221222211122221133443333322111222211221332122111111221111333111133223312222122112332222233124421124422222332444433222211112233332223322122122221221111112212211244222221124444412233212222333311122122133211334421333122122224432111111221111111123344333221222211113323335522213333133224421221332222211133311221111112211122111133212212211221111111133222112211111221222222113344211111122221123442333322223311221124433111133552111111112211333323323322133211221222211111221111111122123442332223311111122122122112222221334422112233441222222123311122332122123311122111112233344111111112211221221114432221122111122113331122221122111122221221113344221332112244321124443322442122233122112233233222111111221133266544355222122233222212212211111111111111112222111223321113333111133211122133442111111112345883324422222155432133322111112211122133212331221221111221332111122113321123312212213332211133214443322144331123322221122112331155432111221223332211111221221221111122233111122221332221332112332222122112211111221113321111221122122112331111221111113344331221133441122112212211221222331333113332211111122133331123322221111111111111233332221234411111332233233111111222211221133312331221223332212211333122122111133211112222111112331111122111111221112211111112222221221112214432222211233144331221111222222222331112211355552211122111244331122111233111125552255322212222111111222331233221122111122112222332122221221333323441221133331113321111223321221221122112211266433221122123311244333321113333111111111111111133331221122221112211112222233233233122111123311221221112222111111122112331112331224432122332111112212331122332111332111244331112211332122111233122112222221112213321112212222111222211332443331112213321221111122122122133443311112222123312212442133311222444123322123333223441133212332213322211113322222222212211111222233212211111221233122333111443552111122111221122221335533323441221333113322211222332211113321111111111111112223311123555332113321222332212233311113335555333122123322111111122221133211124421221133311221125544412331222212222111133444344331111221332112233222111221244211244211112222122222331221122122112212442333333322133322221222442112211221111144321332233122233112213321222211112233211244233311221112211233221144444211222331122111122133663312212224423331221111221333111222222122111221233111332133331112211133332222111122111333312211221332233221221332222233222112211221221113321112222221111133233331133211112212224422211112212331221222211133331233233112222112344332221122223321133332211111111122233123552122111111111221112222111111111233111222332233322124433221122111122122222222112233224421115553331112331332333112212212211122133442222332212332222111122222233331332112331223331122113331233244331221112212222332122122333222211112222221111123311134442122444442111111122222212222111233221221221111221443211124422444122122111122221221123312233355212233211222222221111233443322111221333311112213321123441444222124421135553233233211112331111333221332122111122122222344111221222222112213333123441332255332212211222222122122112211124441332221113333133212211144331222212211221111222222333344321122255321221222211332224433311221111113321123311111122333221112212211122124421111113332211222344233112223333212213321114442122221221112212444421122111111112222111112332211335522233331221221443332233311222211221122123312212222221223322332212331111112444221112222332113321332244433344244212223312332211133322122122122443322221112444233122266442112212211122113331133332222332133331112211112211111111554331111111122122111122133442112444421111113333111122111133222111111111111122133212211244442113321133223323553554421255321222331255323321221111111112332212331122111113333112244444442112211122114432111112233211123311111221111444222133211122111111332221122221112211122333113321334411224442332112222233111111113355225552111122111133233211122112211112222332244211222211111233111111221133311221233113321112212233223311334433332111123311221122233122221112212222111122113321111221123322133332443312211221222212553211122111332111221111244412331122122112331111111122221113332211333322111221111112212212222144422211111222211111113321111111222212211122111114434411123322222211221234411111111122221233112224421111221111112212233332211111123552111111221122111124444222111333311111221221133212222111122255533111111113333112233211332122122221122332122133331122222211221111112211111332112222112211221221122124444411221221111221122111332221222211443312222233112211111122111111123322222213331332332112222221111111122144333244213322211133223312444442211221111222211244344124421221133212211233122332112211221222233211133332331122111112442221133212213333111111221111111233122223331111333322233111133222133331221332112211111111122222223455113321221221222222223331133322111112222122111111221122133222122112332223552122233112211221111332111222211111111111333223344211133311111122333221223321112222112211221112442111111133211112211122111332221233221122233221122111123322222331221122123311133322122333221332111123441221111233113333122133211234433222112211112332331221111112211123333211233221222211111113332222122223344332211332233122112233212211221222211122112211133355434434411112211333221221123311122111222212211122122221122122112233441111112222233122111221244233331112222221333311122122122111113322233442122233332111112212212442112223311221222212331233113332553332212212211112213321144331122111333112244332212212331133233311332114444112222123441333111443332213321222213321112211222212331443211111333322443211111221111122111111332233123312366322366333443211111221222211221122112222111122133233211133212664321133211332122221223321122112211222222221133222111233111122332111111112211221221221221113322222111111112211221222211221112222221221133344111111133335544211444442331233112442111222344221122221221222212211122111233337744311113322211112222222213321221334411112222332111244213333222331221222212211122112211222222443211112213322355211111123322111233221233111114433312222333443211122222211334411133222122221233221111221112442222344111111112222244332212331332111122233333311221122222224421133222221444212344233255444212233331111221112553212344222222112211111111122221235533122221111111112211122133553311222213333233113333111222222112331144443222212211111111333112442122332223331221443224422664332233331111111221112223333211114432111233112211122122133332332222233112214442122144331122222211111222442222211221333124421111222211222212211122222211112211111221222211332111221255323335521122222332222111222212211133212211144332233313322223311112212222221112344244412331111112212211334433113321124422222123311221266442233332111122333122233113331221111144331111123323312212331222211122112211133331355521122233133311111122111112222111122111133552123311222442111233112211112211123322221222212211221234411133222113323333122122112331111122122111222211122122332111244344122111221144332211122221233221122122222211111221122112211111111112211133314444422211122332221221111111122111233222212212233212211222332332223311122111111111221111133222332111111112211111221111221123311112331133222221122111133311122112211111233122122222331124443322222122222332332222111112333321222211122332122133311222211112233222255321221244212212333333223333221111123311111112212222221222212223311221333111221333111221223321111222213322442111123311221111223332222222233222332111112222111244331122113322222222331111334444422112331233111222211233122122221111233112222224444111222222233444411222213323332222222223311222553211122233122111221111111124421133224421111111111111123442212212222221222211332111133212223312211233221124441244222111122112331226654443346633133211221111111222211112211122122122122111111122133442222111221111113333113344213333221111111223321112213333111221221235522233224421112222122111111122111233221112332332222112222111111111111133311114432221111133332233212211111113333111111122223333233233133233441122333222222244211111222222112233355212211222211221111111221111122133211111221334422221124422211122111113344442221111122233113323321221124421111332234422443311112223441113333112212211223321333244212222122221122122221111222211222212212333332331112211123313324444311221111123311255333113331235521122233221332122112212222122111111122112211122221122122122221111144324432336643211122221222211112331112211111221122332122122111222233313331224443333211233111221133331111222331221111222211111112212211122221144433122111333122122444211111122122333111111111222222111113322211221222211122221233222222111122222331221123333324422366333111333311221122221221221112213322212222133444443244333322222112211122221113331233222211443344321111233112212223333233211112331112222233221112222221111112211133211122111233122221123311124442211233144323324442112222111244222244212344233333311334441112212331122222212233331233122112222111234423442332222222442221221233222211111222212213332222112222122244443312211111222213322553212222111122123311443333322211233111222331221111112211222331112222122112222221111111221221122144422212211111122221221221111113322211111112366321112223333222112211222212211122133332222112212213333122112211222211222223311111111111221233221223323333111111133222333223333112222443311112211122111332111111111112444441123313321222215543311113321112222144344211221112212442133323442222111122222211221123322122111221111332122112222111122222211332221111123552111222211122122122111112211222222111221112211111111233222331112355212222112222111233111221111122122221112211133441122111222344123312233442112233331133311233111332122113321133212212366332212211111221244211244233332211244422113344211111221112233331111122233122221111133212211122111111111111221334411111122123322111112222111222211244212331133332233211111555532213323321122111233114433442222222211221221133211111221112331112222222244333112222122112222122111122123333211221111122112333321122112211112331221122122134442112212344111222214433333322112211111133333355211112212212344112244441122111144422222122111111111112331111111233222212332211111221111155444133211111122122221221111244212213333111112211111112222333313333112331111222211221222331111113355511113331111111336633111112212332211111112211122113321221112223323441113331221122221111221113322212211224432112443311122113332333333133222111221122112212233212224422211233112212212331221122333221111221123441122133311222212212223324421111111112331114433222211111221222212211221221111112332212211222211111144321222233222222222233221222222111111333221221244432211222222123314433111111122223333122113321111111111111112233442112211123322111133212212222122333311233111444311122222213333222211133212212443323322221123333311111332122112233311112211122111222211222331122111122111222211221244222222211111122221133211122111221221332112332212222222212211222222224432111133333211222223313333111111222222111444442112211332234411255321111112211233233111221222222221112222221111112211112233211133322122122113331111244344113322211222222223331333222222221111221244223323312223322111244211122122122223321111133313321111221111111122221332111123313322212222123311111112211111112222111221111122133311222212331122133212211221111222331332221333122113331133311111122122333466211221221111234423322123312213355511113321222553312331221112222122111111122112233313322233222123322111221221333312211133212212333334422122112222113333111222211233122222211122113344331122113324432133332213333122111124444233344321111244212212222244211244213323332355332211221111111111122222214437743233211233112212331222442111111112222222223441122113324433312331112331111112332222112224433221111112211111113345511111122122122244213322331133223333211111221124422222222331122111111122222211133331113321112442333112442233111123322134442112233212222221111122222211112211111123312344123323323311111122112443324422331234411115543333233211222211112355344122221222211333322113331221122221333111122111221112222221122122122222222111111122221221221221222211111123322111111332112211112212222122111133211112442221222222122244333322211111222212212233322111221333311332111133311111123322122122122144323321233112233311111112211111221122333312344112244422211111111333441221122111221111222211221113321233111111112442223322331133322221113333122222222221111222222111123443321244222111222222122221122123322111235522211221123322332444331221111255522442111122113321222332553222333223322211123311223321111334444222111122122333322123312222111333333311111333311221221221221112222111112211112222111111112211123311233122112233222112211122333111111112233211112212222223331111111122112212211111111221122122221111222442111222331111144322211222213344112444443321221221122222212223311244222221112211111122222212244322222111133311123311111122222331221122111222233211111332221111111111113331112222111111111221233123322223321112233211122111111111111113321122222222222222111222222112211112211112222221222211123311222211221221122133211111111221222222122113344222122234411221122112222133331221122112211125534422112222133333222223321221111112211113331221112222233111122111111333111221133331122122332221122111221111111122111123333331112211122111222211111111443333222112211111111124433221111124422211111111111221233112211113321122233122122111122333111221333311233133331111111122111221233222211221112443311111233111224443311224444332223321223322211112222444442221244444222331122333221122233443322122111221111221133222221221443441122221112222112211111112211112212233212442113331221112223323477333335532122122133223442333321111221222212332332212212331122122111111112331122122221123311221133441333122122111112212212222111221113331113322212344122222222221113321333312211222212233331111221223322442111223331221122122112211133222111113321111122222222122111111222212222112222111332113321332222222133311233222213344111133344122122112211111221223322331333111122122233111111122221122221122221221112333333233332112211333221111112223442331144322213334432111122112214445544211223331332111122111122244211122554444113332233331111222212244422244422331111332111222212222111233122222213321332233112223322221233113334423441111111223331222222233332233122124433221122133222221221244222111133311111222213331221221233111111221221113322211113322331222212211112211122111111221111112444333122222331122144331235521123311111244331122221221111222212211333311133211111111222211122113336666111332133441122112222122244211111133312212223322112224421133312212211111113323334413331122221112222443212222122222444444212212212212222133211221111112211133212212233211233221122222211332123441122221111221233221233221221111221333123313321111112212233213344422112332211221221234413331123312344112212332211112223322133211111111112442233221122112222112211222244433111221222211133211222211114442333222331332111223321111112212222222444421122124441332221111112211221112222122234412331112222221133311112213331112331133212211332221111222222112211122112331111111122112212212223322221112331113333111222443322111113321122222212211122221122221111332113321222214432221111134442133223311111112212212233331221112233311123322112442111222212224422223333211112211122111122221111111222211122111221233123311332112332212212222333221114433222211122333111111112211112212222122332133331111221122112222125552111222332211122122112211235533111233122222212331332111332122111221233122221112553322223344122221122221221221122113321123322221123311221123441443311122334421111123311244553323312212211112211222212211221221255331111112212222111114433663222221222211122111333233221444211122244212212331111221133211234433333442233221111221224432233332221111334421221111332112444111112331233111111233221112211111133212211133222111221233111124433113321222212442221122221333333344112233345522332235522445512212211222211112222111122111111113332211122111333112212211221122222211221122122221122332244662112222111222443322133222112211111133223333311221111122122332111111111224443234411123333212211111111233221111122112211123312222244222111123555332221222211223332212211221221332111113321112222111111133222444411111233221221112212211224434422212211221111123311221133211122111113322222332221114434411113331332111112331111133222122221111233112222112211333443311112211443211221111111111111221112222233222211122222222221111222332332211111222222112211122133212211111221113331122113321332122332333111122111111122221333111111122111222213321113322442111122122221112223442331112233212332211122111113332211111443211122111222211133333321111111222332211112224433112211221122222331111221124424432122112222221124422212233212222114432112224421222211221111223332223441222222222222111111133322111221112212331221244212233344112211334411111112211112212212224421112333344662122122122333332122332122112442133211333333441221112331111122334421123311112233312233211222442122111112212244323344122221111244431111122112211122122221111111111122122233122234422111111221221133222111111221122122233333112212211112212212222123322111221112212211111332122113321111112332211222222112211332332111124442222122244211122112555212222334423331122133444424444233112332212212222233122221122221122113321112222112222221112212222111111222233312211221124455333122222211555443321221255332331112211122111233144421112222221222244321244332212211244211133212332233333331222222222331222222222331122332233221122122233124443333221111222331221133212211124444334433111221221122221111123313321111221223332233222111111112211111112332212331221223321122123311222233332211112233211111133212211111112233332211111124421221122111444222221122122124421222211133222221222444111122111244211122221111112211111111122221123323324441113323333223321112222111222222122112233211221122122112224422211122111111221122111233222211223321112211112212222221123441111122222212211221112222221113321111111122122222333331222211221122111122234412222111223333112211111111221235521123323333444422211111112212211122112442221122222222112224444331122111111111111111122112443324424432112211122111122122112211111122123311123311221334411122122122223344212442443222112222111122112331122221133441122111111222442111111233113321123322222222111221122221221222233313323331111222212223312211111112344221111233112211122233221122222213331244213321133222111222222221332221122112211113322211112331334433211111133212344111112222111332111124433221222212213321123552133212211122112211111222212222111111113322222112233332244332553331332333233112222112211122443312211133331111122111221221111111222211124433221332222212233311133334443311112331332112211123313323321111332113331122112223324442212222133442122221332221233112212213321111112222221122122222222222233212233332333321122222233233311233112213321122122332112222122221112222221221222222221111111221122122233221333112211223322442244552213331111221111224432111111221111112332212211221111122113321111344441122244411443211122111235553133311233112212222122221444411122333311112355233311233111111122122122133212212211111122111133331223333111111333552112223313323321111221222211333444222111333311221333222222111111133331112211111112222111111133552444211112332211124422212445511111111122122221122122221111112211222211122111112333355333334421221111113344333111123311133331122233223333122122133211133211333111111122112331332122133332331332133211124442445511112213331221333221122111111133211111233113321233221333552112443312442123311122122111222211122222211122222211113322211221111111111122233111113332444421111111332112211221112212233442222114433311133333233211223321122111111111223331111333322111113331221111222331221124422211111122122112212332444333221123322144321111112213344422123312212211221124422212212442233133211221133211221122222331223444433331133212332212212222112211111221122221122334444223322233111221111111221111233112223333331221112223311112211443311112223322221111111111222442122122122111221332333111122122112212233211122112442112211332111111221233222222221122221111133214444411221122122233244213323321233113333333333333331114442332332222213322212212331221122122111332111332122332111111221111111112212223444433123555122222212215543211221221332111111112442222553211111124433122114433111112331133313336632111111112212222111122112222222222122112213344211443311222553233311144333221122221244211122332222331112443312355212211221111122111222332211222233212211133311111221122112211221111235533221221221111221332123311221221133333321111221111244355223311112211222211221122112222133212331112332213344221111113321111222211111334421114434421122221333111122332222233211111111111111111111221113321221122222222122122221113333255534552211112211225544212211223333332133222221122122123333223311222233311222443441122111122113321122111122221221111233334441122123322221222211223322555331111122233221221221122332224433333212211221111221112225533221221122112211223333443442113322211111222332211112222123442224444211233444212331221221122111133223322122221122222332212331122234422222212211221221113333443244332233331222222111133312212212332211223322233211114432221111122112233222233124421221122122233221221233111332443312212331111166643212211111123322111221122221122112211122222333321122111333233222222111111111122122111334433222112332212222112212212444221111122122111111123322223333122111111112555333321112553212223311221112331112211111124421111221112331332112211111112211221111233111332332112222221112212211122124421111122122111122333441111122112223322112211221111133331233123324422211332122113321333111111112211111112212233442213333113331111111221111111123311111333311222211333221112222111122112211112222122333323324421233122112214432133211221122114442112212211111222233355355331223321122133211111122111122233122333311111113355222221221333111222212211221221111111221222211111221122221112211111221221112212212213321221111223331111221112233322122111221123333211124442355222122113321332112222122111221155433113344443552332223321332223321222213323322222133211122223321112222124422212223311123311122112222223333111122111222222111221122111111221233111222222122221113322211111333311221221234411334413332212233211222442112331233133332224441111111122111112211221133211332112211111111111111222222335552222122221111221235521221122332123311221221222211221113335553321111222222133211444323441233111111122122221123311112211111111332113333221113344222443211111144321122332111111111111111111112222221122111144421112332332212331112444444332222111221111111112211111221122122111111133311332255321113321122244422332221113322211133222221244411122113321221111133322221122123312213334411221123311114432113333233111333441221111332233111221122244332444333111221221111111122332244211333311332122112331221223333321123311111112222112211111122332111122113331111144422211111111122223322442332111133211124422213332222111221122111222212212211111111124433111111112212222112233355211113321133213332233211111221111221112211221221122113333111111111112212212211221122122111233122122255321112442133211122122111122122332221221221112223311444433311222212222332222331133332211113333111221122112222111222212222332221221223321332122122222222221233244411112211112211221111112222111111113321111111122133313322213321111122112222111111222332222112332211133311221111221111111111112223333211111122122144444411112212212222123311113321113322211122223331133212222133355212222133212331221111221332222222133211221223321111133222111111113322332244344413321112222122111111112222122223321221221122123312344112212222222332211122333111112213344431111133222223334433233331133211113321133211111334422211113322222221122122233244331111333313355321122244412444222222111221124441222244321221133311111112233222112222122332112344122122111332111111122221221335521111112222221122122222223441222332331111221111111222211112212211222222112211122122123311111111332122222212331221123312212211122133331222442111221112213321222212211221111111111221123311111111111112233355213321332221111222222111111332123312211233122122221112233332211111122112335554211333311133211111115555211111221221122221111122222212211112442222222112211332334551112331133211221332122122444211111111122222332211122443322111144433133333321332333313344412222114433322122221111111255321233221333111233123311122122233112222222222122112222112211111111332222212212331111333332222211332443331222211111123441111221122233221111233111112212344123552222211123323552111234552211112222111112211133322111114433313333122332122221112211112331332221111111122111112211112233211111221221133332331112212444113321112211112331111333311443233456612223311112213344221112212213322222123322122221112211122111234411333221221111221234411122221111111111124455332211122133233223311123311332111133442221122111111112212233311233221122133211133222122112223313323321443442222211122112212211233223333111111133331112331332233112222122233111113323323321111111111111123441221233112212331112331221111112223325533111122122221123312332211111222211111233133331111144321113322211332111221221111244211332133211233111112211112214432122123442222122234411112211111133222221244422221111133344133212233442211111111443311133311111111443331123333311222213355323321221244223555221111122233111222222122122111111221111333221111133211233111221223331222331122123311112331333311221332221111111111112332211111221223321122333122111113321122112211111112233222133213334411221221221221222211332443313333111112222332221122111222213322233311111221222331122112212222222331122122111133211112211113321133322332111221221111221221122111112211233112212223311112331133442111222223312212331122244444123322122223321133212212212332331112331113322223322233222212222144333244331112244332211111111111122111111111221112222112233222332222211112224422222144322211221221123322111233221124422213321222344122133222332233111112331222222221112222123313322331133332212211221133222122221111112222223344211133211111122111221111122124422211112222111112331332111123312212222222211111123311221111221112331112222122122112211221222222222211124421123311113321111112211112331111332223321133444333333233322332155432222211244455211244233222111122221221554433321112212211111111222222333221111221122122111221122332122255522222122111111122222211443331222211122112222123311244422333112211133444111122222212211122222212332331112212442144421111221111113323333111133222222233212211112222111111122221333311122244211332122112222113332211222222221155432112222333322133442222222223321112222233122332112211221221233112553211221221111112212233466212222222332211122122112211133442333221111112331122133211122221122122122333233221221111122221111111144344111133311122223321111233122111221221144333122122112344112223322111111111111122111221112223311221144322442111133322223331221221113321111443442233222332111111222222111112222233222233212211111222344111123311222222111224433111235521221222222111122223324432244224421221111112222222213321113331122221222233332211123322122111133312212211112212233332211122111333111221122112332211222212333332212332212344112211113333113333111221111111144321332222212211111221122221233221123322133312213321122111111221221111221221222442221111123333211111111332122122234422222331332112224423336655331122111111222211332111112211111122244331222211111122111111332221111233133331332122112444455221222211111332234412211332111222446643212222332111112211233133322222222112444311144332212211233443222111111123552122222222133222221111222211221111332113344212222221222333344411133442221221222332211122222233211221235521112212222112211221111111122221111122122111333122111221111122221124421122122233221221144421125534421111111221111221111112222113333332221221111113321221112331222211122222212222332111122222211122333222222111233112442122333112211221112222122223331221233111244211221444411233111123311332112213321244212211122111444211443355332213332212211112233214432122221221133322111122111116654444412211112213321122233223333221111221112212212244322222111122222332211111224433111444422111123311123313321221221113321111221133222111122222211111111122221221122123312222244331122122122332111111111122443311223321221112553553311122221222331111222211332111332333322111332221111223323321222222112222111111133355511133213323331244412212211113322331221112211133344111111332122221221122122112355332222122111244222122332332111111332111233112332212212331111112215544412233212211111111255321112442111133212223311133212222221111122111111221111111122221332122221111222212211133312331223333113321111112212222111111221123312211113344411122122122122111111122112211222211111223355522124433112211111333313331221221111133233442111122111332221223333111111111122233112212212332222221221222331111122122122111112212211112233224421111111221222223322125533323441111113321443344112212211255521332122133331222211122122122111112222122221133344221223321111554321332111233221112211144332211112222123322221112211221112211111222331111221122112212222133233212211221122122112211111111111112332211332111111233221112332212211123311221112355522111122111111221222211332122221112222221112331334442222122122111332133311111332111222222234433211112212222222212212211122112442221222233223322112344133223324421222211122233233122221112222111111122233233236663123311221144355322222122221111111122223333111221221111233333122222442112233444144321244211111222212222144321122222211111113322212332211122111122222331444332233331222211113321223332333331244411111122332133311133211113331111112222221122244222222211111111333311111123311244331144323344111112222222332331122112222221111122111124421113321133223312211111124441113321113331221233221332333311112211122122111443211111233444211233222244321122233233122233332111223332211111233111111111333111221111112344337754421133442211222331221555333236634421233133312222443313321111111122123442211443322111133233212211113366635523321112331122221111111233113333221112442221155533221255333223322212211333312212211111112212211122224434413344332212222133213332233312331221221122333323311122111222222332122226655531221111221122221111222211221113335521222211133332344332221111122112212222111111122133211112331122112211122332233222212222122122122113322443313322211123311112331221112211111223321111123311332233112222111222212222111333112212211111221111111221221111233332123311133233211112442332221221221111233111111111223321221221112331122111221112211111221111244332211113322331122221111112222112214442221111112211111111111112222133331332112212212212222124422442114444322332112222122111111122222222122112244421112211122244411122332112224433111221122111112211332113344222111332133553233222222331122221122122122221222212212211111112213321333122226655322211111111222211122111111122122233221112222133211332122221133442221112222111111221221111122122122133211221221111112331111334442212222112222222222332122112222111244222221133211111122111123313321111122112222133331111221133311221222222333221122112212553222221144455122221111111233221122112222221122113332223324421111244223311123333332333323321133355332222111222331221333311333323333244331113321221122221123442222222444122122221111122111112331122111122222222111111222211113344111123311222213333111233221111221111221111111112222111113322333321113333113321113321112331124444662244223312211111111111333311223321221221133211111133332212211111333552112442122113324434411332122333111111221222223311222223311112211221221222331221221111222213321122111111222331116666322222111111122111222222111111222331111144322211244212213321112222334413331333441123323322332221223321122111122111112331112222332112211233221222222133311222212212211111221221244424421111112222221133311222233445522112222111221222332442222332211234444321123311111112332233311222222112222443311122222333321123322111123322111112211112211111233111111112222244211332112233443444442222211111222222111221333111222211123312222112211111112331123466444311233111221233221255321112212332212233331221333311111223334411222222111111111122122111112224421221223334413332233552332223333222223312211112442122333312222111113333111112222112211221122221122113333221111111122111111122222212332332212233331112211244222255344211133444222332223322333311222212344112213321111221133312553222112211222332222222233311221122112222123322123322122221122333344333133211222223313333133222123323311221125533111111223324442443212332211333221333111111221332122112211122223322212443322233112222113322211221113322211111111122233112222113344222233255432133311112211113321332666433111222212211133211222222332333112211221122222331112222333332111221233221113321112211122111111122222212222223321112211233233222211221221233123322111112222222211123774321222213322222112332212211112223312212211112211443311112444421221112222332133311111221122123322133222112211221111111111111122122111221111233233111333322111112222122222212213332211144421122221222211223331122122133211111333311112211111221443211222211111113321221113321122133223311122221111111221122122111133322234412212212233211124421233111111221133211133211222212211333322111112212211122122111133441113323334412222221112211222344554431233123312222123313334411122221332111222212213331133211111113323344244344133331332123322122112211122333312222112332211332123311244443311111233221122123441122332222222111113333222332233212211122112213333322212211221122112222221112222332112222122111222333322211222332222122221111111122233223333122122332111221111111111112331221111122221111221111333122332122111222444322144444332112331221113333122333221221133442334411112443311221122222213333111133333222222211122222443312211333144334422111122111123311111122111122244444221244214432221111332111113321111133313321111221222223326643322111333233111221334412211221332113321111112331133444122112233311122112211111111222211333332332112211111111122221122111244212233311113323322222111122113321133213321123333322222222112331221221111223321112222221221111112211111111111113332233312211221112212222122133212213321111111112223552223321111332113355322213331244211133222133322122222211111332111111221133211111133311122112211111222222122111111111221222222111133211233333322234422111221111221221112211111221333221111111222211221222222221113321111122222222111133322111111223331335522223311222344111111333111111221222211133211332122112331332332112234441122114432112212211122221111221122112226643331122111221112213331221111233333322222222122233111221244332211112213321233244222122122112211222332211221112212212331221123441222212222221221123333312332222122111112211111133311133211144333123311122122124423333221133322333311122113444122111122122111222211221112332212233233333233552221112211133311111221114442122333324421111244211122332111443455221222211222233344111155533111335524443322444422111122221233233244223312222111111222332333321222222112211122122221332111122111332122111133225533235544666332331122122221111112222133233312212211111233221111333122111443666321221122111111222211233223322211221221111133213322222221221122111332222211111111333122111443331233111244411333666212213344211123311222222122122221112211221122111443331222222233233111223321223332333331122221111222212211133331112222133312211222212442234411122111221112223442223311333123322221221221111111112332212332211111122221221112233233331123313321113344244441221122122123322111111111221332112222112212222112211344443111111221111112222443222443211221233222212222221133211332222212211122111334411122112212211113332225532112222111112212222332221222233444113323344442111221111111223331123311133553233211111222212331332234412211111113355344222211111112443311133333331333323322222222122233221221122122112211112333331233122112222233221443233442221225543331222222111111332111122112212223312331221244411111124421122111222211123313444332233332111122133211112213332222221133222113321122144322211222223333212213321333111112331111221221333222211124441332221122222222332332111244211122222212344111221122244213322222111233111221122111111122111222211122122123312211123311122122112222112211112222112223312212331111122123311222212211221111112211233112442233112331112213322213321222211123312211333112224442332222122122111221112211111221122122112233322112212212212211122133344321221122111223344244322211111233123322112211235551122124433122122112213321221111222211122222212222122112331111222212211111111111122112222233233221112212213321222211111123323312331111222212211122233112211221122122111111122112222333554422222133213323322212224422222122122333333322222211113321122112211332221133212442222211233221144441123311123313333122221123322332332111111111122123311221112211111111112212211244223312443311122221123311111111221122222213322211111122111112331133331221112214432111111112222111122122222211122111222212211122221236632332111112222111111233222222221122122112331113321221111221122123311233111112211122122221144321124444211122111233332222211122122221332122111111113333122223332212211133312222221122133211335533221133323333211113322222111122443313322222111112211111221112212222221113333223321111223322211221133332211233124434411233111112233442233221123333211112211122133322112212222221113325544233331332133212553332211111443331111122221122244211122122122111111244211244212222133331111112211112213344111113331221111221122221111222223441113331122221221111111221223322233211112222112213321122111221334421111222212222221332111222211221111111221122112222133212331222212211122223321221221133331123311221111111133331332111122221122112211114433221222331111133311124455111111221221111112222222443311332221111222213344331111111122133211111111111443344222211111144466213321443331222211123312211112212212331112212212211222212332212442222222221255321112331244211111122122122111221112211122221112212211111223321123311111233123322112332222122112213334412333333122222222111122123333213321111111112211233222222244332211112442111122111222442333112222122111222212332212222111233221111233332111112332331222211122122233133322133233222122111114433311122221222222111122221122233233111221112233212211233221124433111333333555332221111133442222111111112211221122111222222111111222211111332111112211222212211122111443552111221112213332442221244222222211112222221221122111112211332122133211221221111221111112211134441111112211111111111333311111112222112332233222111122122223321221221133211111221233221244244332212442112213322211111112211111122122222332223312211112211222442122221333234422122111221111223344331221111113321332332222212211112211244411123312222112331122221112222223344211112223322111113322212222255322442221133233222255333123311233112211333122221112213333122111124422211221112212344222211112355442113321112211332222211113355322211122113322442222332211111112222122111221222211133334442222331112444112244333332212444111221443211332111122111123322144321112213322211111112212211112211112212212222122244211112211122221111111221122221244433355321112211122221244212233313332211111123333222222223311113331124421221111233112222111221113322211111443212213344222222211366633441332221222233331233222211123323322222212211122122111133444444412233222111111112222332122111333332122111221112211133211221112233212233553331111122221221222331111221111144322222266433222223313322211233112211233221124422355212211222212331112214433221111221123441112222222212444222211332113332223311222212223313321111111222222233255332212213344211333112212223322122112331113333331144331111133332212222111111122113331122144444332443322111222222122112212331332111112222112212212212233663233441113331222211221112213331133211122332222333333111112212212213322444223321122333311222212213332442332111122221244211233111244211122333324421122113322213322233322221122223321122112225532112222221221333111112222332111111112222223331233222211112222221111111111221221221221112213355222123311122221111111222222221122222332332331221133222122112331122222211221221122222233331111332222222111112233211122122112331111122221144432211222211122221443312212331111221112331133311122443211133211111122112332442111332122111444411111122123322123312212212211122113333111233122111122111123322122111112233331111111221112344221113344442113321111222222223344553321444211111221123312211112332443311111111255532211111221244442221666633111122111111123311111124441111111233111111332221113333111122122122155532233111112442244422221112442111221221122111233144321111111221222222111122122155432111223321222222122223321124441221122112213344211233111111112332233244421122144333221111221122222222123311334411222331222211332221233443222111221122111112333331112222234411112214432112332233311122222331123311224433333211221223321222331222331133344422224423333221333122123311222211123312211221133223312222111111122111333442211111111122221122111123441223333133333213321122234433311122111123441111122221111122222233211221221133312222112222144321111133322221111221111234413322222244331112212442111111111122222222221122122113333233332111111112211222211222443313321112211222222111221221221111112211111112331111222331122333111112212344332233112444221335521111334422111221122122133332331222332331111125532111112332233213321332222222111113333123322221222211221122112222111122233122124422211111111112211112331112211221332111112211112224421221332111111333333312211221222222122221233112211122133311122122114432221222211221221111111112212211221111112331111111111111221113321223333124441111221123666222221233123311122221221112211133355333331112233211221113322233444111223333222233233213331122122113333222223333442123333312331112212212211221222211233113333221124422445511133213332211222222221113321111221111122111332443331233111221111111221111221112233211111333311244233312214432111111112331111111133222111555333111223321244222233111244551112211144331444212211221233234412211111124421221122122112234444111222332222112334434441112211221333441123322123323313355211223322223311233122122221111111122222211133211333441112331122111133442113333111111255533221133312211112224441223331221123443334424421111234444333111111123313332212331113331122133312223322133211133222221111112212222234423312212332222333122112222222212212211111221112212331222211222233311113322223322111111122124434552222111221112332332344122111124441122222331122221122133442122233223321233221221111234412212443311111221122111111111111122122111222222112332333322211122144321123311113322211111222213333321111223322211111111112211112211122332113331122111224433441111222211113321221122113321133211222331112222133331122122221111122122221222213333112211112211111332111111233233111333312442133331332221443222133311333111222331111113331123323322333112222122111111122112222221112211244411113321133312333321133442122122111111112211133332212222111111122123324421221122244411122122221122122221111223321221111124422224444331222211111133333321122112331112223442331111122111222212222233222212223311113324433311111244211112211112214433322111111112222112211234411122234411122111221111223331111221123311122111122444441122221111115553222111111111221111122221233123324441244211333222211111333466212222111112344111443212211133212553211112212332212223333213322222122112211122112211112233213333112212211221111221133344114442123311122221111111233111111112222111122113321111111222553222122133322122111112211111111332221221221221114432112222233111122235544223311111114432333322111233111111222211234412222221112331222222112211113322222114446633221111112211111122332122111111221122122244211221233111112211122112212211133212211111221332233133222222222333111113323333123312443312332331122223321221111122222222111111332133222123311111221111111133211332332222212211113322211122223321111112332211111111223321111222233222122111111111122222211122112211112331222222332111221112211111122112331122122133211111122111111122133212211112331123311122111133212333321122111112211112223311233221111122112222122122222331112222221122221122111233111233111443312222221332122443331122111223333222211333442442113333114433333332212223322122111112211222211112233312211112222111112211222211122122443212664323332233211122111244211221111333311233122332122244412211112214444312211112442111332123311221122111111222223322111221221111122111111111111111332222223312331111122111221333111332144433222223443333244332553331111122112331333222331111111111111221112222111222211221244211133211255331122233221112212212442122144321333455123322112222122112442111122221221122122133332212211111133344222331233221122221112223322221233112211233334421221221111221113321332133233311112211233222211122113322212442122124433111111333111122233221333111122111111112222221111111221112211112222122111122221221111112214442233111111111124422344112212222122111122221332222211133222122112212211111111222222133211122111111113332211222442112211122112222233221221111221112211221222222123322122443211144442222332221133331112222111112212211233113444111111111221221111111222212211112332222222211111122244211111111111112211333322133331113321335533112211112222122112331122443311112211111124421112443311111111222212244344211123312331124441233122332112223313321111223321111112233211113331244211333322122221244211111332111222222122112443322112211112211112224441113322211443442244211112553331122122133233322112212222221111111223323333221111234411122112222333311122111221112223313344211332122122111111222213344223312212222334411122133331333311112211112211112213321112331111221221221221133211332222211111111111133211233222332223312212211122111222331222222221221144355323331332111233222211122112211122112211332123344331111123322133311122112331122221222212331122122122122122122112212213322222122221111333111333552111122112442221233222212222221122111113322212211111112442122221111111113321221111233233122111221111122221124421111221221111111122111112222122113321123324442223312222113333332211112212211111111111111112211221332233155533111112332345511332111111112233222111554333222211221111222211443233211112211233111332133311111125533221111233221332125532244412223312211122332333112233311233111333333211233244222221133311111111144322212222122221111122111122111332114432122113322211221122112212211111111334773211124441122111122144322211113332222112222111112212213332211221112444323344322331333312212211222664442222123333213333122221111332133225533333313331222211122221113334423441133212211122111111221133344133213321234411123313344432331111113334411221222344221221122122112444111112213331111222211133211122111122332111112211112222122122111111111111133211112212222111123312445523322111112222122233221112211111122111111122111112211113333122122222211122122122111111233222222122333112222112212213333111332111233333133211333442211244222112213333111112211111133312211122333112211122111223332213321111111233554344422244211111221233122122111122113331222332213321122111111122111122221335533323311222244331332111221222211112212211111114444211112211222223344321112222144433112211111222211112222112212214442333133311222331111122111122332255332212211221114432112223442222111221122112331222214433122111111112212442111334441443442113333111113331122333552114433466211221221122123322111111122222331222233331112211111122332222212211111222443312222122111333322111221332222211123311112331111221221113331111123344321332123311144321111444211111112213321123311222211111111233111122221124421113333332112211111133222221111133211124422331111123322234412233222122221124423331122221111221111221223322213333322222112211221