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