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