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