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