,,,,,,,,,,,,,,,,,,,,,,,:???***++====:;-+=---====+++**??=,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,:*??**+++++==-::;=----====+++***?*-,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,=???***++++==-;:-==-=====++++***??*;,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,:*???***++++====-=======++++++***???+:,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,=????****++++=====++=++=+++++**+**??*-,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,:*%???****++++++++++=--;;-*++**?=*?????+;,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,;?%???****++++++++++++++*+*****?**??????*;,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,-?%???*****++++++++*********+=++*???%%%%%?+:,,,,,,,,,,,,,,,,
,,,,,,,,,,-,,,,,,,,,=?%?%??****++++++++************???*???%%SS%-,,,,,,,,,,,,,,,,
,,,,,,,,,,-:,,,,,,,,=?%????*****++++++******++++?%???*++==+*S%+,,,,,,,,,,,,,,,,,
,,,,,,,,,;;-,,,,,,,,+???????***********+++===+?SSSSSSS+--===*-,,,,,,,,,,,,,,,,,,
,,,,,,,:;-;;-;:,,,,,%%%%????********++++=-=*%SSSS?**?SS*=-=*=,,,,,,,,,,,,,,,,,,,
,,,,,,:--;;;-;:,,,,+%%%%??????***++++++*??SSS%%???**??%S???%;,,,,,,,,,,,,,,,,,,,
,,,,,,,,,;;;:,,,,,,*%%%%%%%?*******?%SSS%+%SS%?*?????%*?%?S%;,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,;-,,,,,,,+%%%%??***??%%SSSSSS%%=-+***??????%**??%?*,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,:;,,,,,,;*??%%??%%%SSSSSSS%%%?+:,:=**??????%?*?*?**=,,,,,,:,,,,,,,,,,,
,,,,,,,,,,,;,,,,,=??%%SSSSSS*%SS%%?%%???-,:-+%%%%???%+=??%%?*?;,,,,:-,,,,,,,,,,,
,,,,,,,,,,,,,,,,-+-;=SSSSSSS++%%S??*??**:;*S#S%%S%%%?+;+S%%???%+;,,-=,,,,::,,,,,
,,,,,,,,,,,,:;,,,,,,=S%SSS%?::==?%?**?*=,-??%%**=?%??=;;%SSS%??%???+,,,,,;:,,,,,
,,,,,,,,,,,,;-:,,,,,=%%S%%?*:-+?+*+****=::;=*?*+;+???--;?%SS%%?%%*:,,,,,,--,,,,,
,,,,,,,,,,:-;;--:,,,:?%S%??+*SSSS*;:;-=-;:,,-;;-:*??=-;???SS%?%%?**;,,,,;;;-:,,,
,,,,,,,,,,:;-;-:,,,,,+%S%???#++?%?=,,,,,,,,,:;;;-*?+;-+S??SS?*%%%++*:,;-;;;;--;,
,,,,,,,,,,,,:-:,,,,,;+%S%?%%?-;++=;,,,,,,,:::::;=?=;=?%%??SS???%??;**,,:-;;-:,,,
,,,,,,,,,,,,,;,,,,,:+;SSS%%%*=::-;:,,,,,,,:::::;-;:*?+?%?SSS%?????-=?:,,:--,,,,,
,,,,,,,,,,,,,,,,,,:+:+%SSSSS%-:::::,,:,,,,:,::::,,-%?+%?%%%S%???=?=:?-,,,-:,,,,,
,,,,,,,,,,,,,,,,,,+--?%SSSSS%*-;;::,,,,,,:;;,,,,,:?%%???S%%%%?%?:**-?=,,,:,,,,,,
,,,,,,,,,,,,,,,,,-=;*?%%SSSSS%*-::,,,:;;----,,,,:=%%%%%S%%?%?%%+*=;:?;,,,,,,,,,,
,,,,,,,,,,,,,,,,,+;=??%?%SS%%%%;:,,,,:=----;,,,:-=??%%%%%??%%%?+;,,;+,,,,,,,,,,,
,,,,,,,,,,,,,,,,:=-*????%SS?%%??;,,,,,:;;-;:,,:;-=???%%%?????=*+:,,=:,,,,,,,,,,,
,,,,,,,,,,,,,,,,:;=*?=???%%%?????+;,,,,::::,,;----?%%S%?***?*:*-,::,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,::+?+???%?%%%??+***=;:,,,,:---=+**?%%?*=;**;:;;,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,:*;=?*????%%?*******+=;;------=+?%%*+--;+,,,:,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,==,=**?*-???*****?**?=------+*?+?%?-;,:,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,;;:+--*-=***-*?%%+*?=-----=-===%%%=,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,=:-+;;*%%%%%?=+*=---------*%?%%?;,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,:;-**?%%%SS%%%%*=-+-----;---=???%%%?=;;;;::,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,:+*???%%%%%S%%%%%?==--+=;;;;;--+****???*+==*%%=,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,*****%???%%%?%%%%+==-+%*,,,,,:;*+++++**+++??++*-:,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,-********??*****??==-+*++;,,,,,;*+++++*+++**++++++=-,,,,,,,,,,
,,,,,,,,,,,,,,,,,,+****+++?%?**+**?+-;-*=;;=,,,,,+*++++*++++*++++++++++,,,,,,,,,
,,,,,,,,,,,,,,,,,:****+++*?*?******:,:+**-;-=,,,;*+**+**+++?+++++++++*?-,,,,,,,,
,,,,,,,,,,,,,,,,,-?***+++%***?*++*+:,=+**+--*;,,=+++**?+++**+++++++****=,,,,,,,,
,,,,,,,,,,,,,,,,:??*?+++??****+++*-:-+-+***=+-,;*++++**+++?+++++++*****+,,,,,,,,
,,,,,,,,,,,,,,,,+???*++*%?*+++++++;;:=?**%?=;;;++++++?+++**+++++**+*****,,,,,,,,
,,,,,,,,,,,,,,,:????*++???+++++++=::,-+**?-;:,-*++++*?+++?*************?,,,,,,,,
,,,,,,,,,,,,,,,+????*+*%**+++++++;,,:-;=**:,:,++++++**+++?*************?,,,,,,,,
,,,,,,,,,,,,,,,*-====+*+**++++++*:,,;-;;=+,,,;*+++++?+++*?*************?,,,,,,,,
,,,,,,,,,,,,,,;:::::::==*?++*++++,,,+-;;;-,,:+++++++?+++?**************??****=-,
,,,,,,,,,,,,,;:::::;;-=**?+++++++,,;+--;;-,:=*++++++?+++?*??***********%%%%****?
,,,,,,,,,,,,;::::::,::+**?*+++++=,,--;----::*+++++**?+++%??*?**********%???++++?
,,,,,,,,,,:-:,,::::;;;***?**++*++,;*;;;;-=:=********?++*%????*********?%%??++++*
,,,,,,,,;**::,:::::,:-***?******+,+*+;;;-=-***+++**??***%%????********??%?*++++*
,,,,,,,-%%-,:,::::::::***??*****+;***+-;;=***+==**?*%???%%%???********??%%?***+*
,,,,,,,%%+:,,,,,::::-=****?*****+-=****=-*****++???*%????%%???********??%%?**??*
,,,,,,-S*-:,,,,,,::::+****?******=;+**??******=??*******+%%???*******???%?*+++*?
,,,,,,+%=;::,,:::-+--*****??****?+--+????+++**+?****?*??*%S???*******???%??*+++?
,,,,,:??=:::::::+%%**??*?**%****??=;-=??*;;;;+*=-==+?****%S%??*?*****??%%???+++?
,,,,,-???=::;-=*S%%%S??*?**??***?%?---***;;;;--;:::;%????%SS???****????%%???*++?
,,,,,*????*=-=+?S%?SS%??????%?*??%%?=*?**;,,;+*-:::;%?%%?%S%???****???%%%????**?
,,,,,*??????????%%%%S%%??????????%%%%???*;,;????;,:-%%?%%S%%??***?????%%?%%%?**?
,,,,,-%%?????%%%%%%%S%%%?????%???%%%%???*:,+???%=,:=%%%??SS%??*??????????%%S???%
,,,,,:?%%%?%%%%%%%?%%%%%%%???%%????%??%?+:,++:-%+,:+%%%%%%%%?????*???????%S%%%%%
,,,,,:%%%%%%%?%SSS%SS%%%%%%?%%%%??%?%%??=:,;*-=?;,:+%%%S%%%%???***???????%%%%???
,,,,,-%?%%%%%?%%SS%%SS%%%%%%%%%%??%%S%%%=:,+*=+*=,;*%%%%%%%%??*?????????%%%%????
,,,,,-??%%%%%%%%%SS%%S%%%%%%?%%%%??%%%%%-;;===++=:;?%%%%%%%%????????????%???????
,,,,,;???%SS%%%%S%SS%S%%%%%%??%%%%?%%%?%;;;;:;;::;;?%%%%%S%?????????????%???????