#S#@@@###@@@@@##SS?*++===-----==============------===++*?%##@@@@@@@@@@@@@@@@##S?
#S##@@###@##+###S?*++===----=++*******+++++======-===+++*?%S@@@@@@@@@@@@@@@@@@@#
#S########SSS##S?*++=======+?SS###SSS%%%??*++++======+++**?S#@@@@@@@@@@@@@@@###S
#%###*:?######S%**+======+%#@@@@@@@@#####S%????**++++++++**?%#@@@@@@@@@@@@@#####
#%##SS*?######S?*++===++?S#@@@@@##S%??????SSS%SS%?*++++++**??S#@@@@@@@@@@###S*SS
#S##S#########%*++==++*?S#@@@@@#%*++====++*?SS###S%?**++++**?%#@@@@@@@@@@@###%;-
#############S?*++++**%S#@@@@@S?+========++*?%S#@##S%*++++**?%#@@@@@@@@@@?-S##?+
#%S#########S%**+++*?%S##@@@@#?*+=========++*?%S#@##S?**++**?%#@@@@@@@#S%+=S####
#*;+########S?*++++?SS##@@@@#%*+==-----===++**??S#@##S%?****??S@@@@@##**%S#@@#@@
#S=-S#######S?*+++?S####@##@#?*+=--------=+**????%#@@#S%??????%#@@#??#%%##@@#@@@
###S#######S%?***%#########@@#S%?+=-;;;-+?SS####S%S@@@#S%?????%S#%?*%#@@#S######
@@########SS%???SS###############S?=---*SS####SSS###@@@#S%%%????%%%###S#+;%#++##
###%S##S##SSS%%%S###@##SS###%?%S##S+--=?SSSS%%%%%%##@@@@SS%%%????#@@S+;+:;S#S%##
##+-S##SSSSSSS%SS#@@###SS###%*?%SS%*=-=?%S%%??%SSSS#@@@@#S%%%%?%S@@#+::-:;S#@###
##=;S##SSS##S%SS#@@###S%S#@@S%%SSS%?=-+%S%S%%%S######@@@@#S%%%%S#@@#=::*+%######
##SS###SS####SS##@@###S%##@@@@@#S?%?+=*%%?S#@@@@@####@@@@@#S%%%S#@@#%+;%#####-?#
?%####SSSSS#####@@###S%S##@@##S%?*??+=*????%S##@@@#S#@@@@@@#S%%S@@@@S?%######%S#
##@####S#S#####@@####S%###@##S%?++**++*?**+?%S####S%S#@@@@@@#%%S@@@@#S#####%*S##
@@@###########@@####S%S##@#S?++==+**++??*+==++*????%S#@@@@@@@S%#@@@@######*:;S#*
@@###########@@@###SS%###@S?+====+**++*?*+====+++**?S#@@@@@@@#S####@@##@##%*S##?
@#*%#########@@###SSSS##@#%*=====+**==*??+=====++*?%S#@@@@@@@@#############S####
@@###########@####SSS###@#%*=---=+??++?%?+=====+**?%#@@@@@@@@@@#?;?############@
@@@@###S####@@@@#######@@#?*==---?S#%%##%+-===++*?%S#@@@@@@@@@##%+S####S-=S#####
S#@###SS###@@@@######@@@@S?*==---?%%%S#SS*====+*?%%S#@@@@@@@@@@##@@####S=+######
##S?+***%S@@@@@##@@@@@@@@S?*+=====+++*+**+===++*?%S#@@#@@@@@@@@######S##S+*S####
%?+====+?S@@@@@@@@@@@@@@#S%*++====+===++++++++*?%SS#@#S###@@@@@#####=+##S-;-*S##
+==---=*%#@@@@@@@@@@@@@@#S%?*++++*?*++*?*++++*??%SS##S####@@@@@#####S#####%-?###
+=----=?#@@@@@@@@@@@@@@@#S%?****%%%%%%%%%%***??%%SS#S%S####@@@@@######@#@#####@@
=-----+%##@@@@@@@@@@@@@@#S%????SSS##S###SSS????%%SS#S%##S##@@@@@######@@@#####@@
=----==*S#@@@@@@@@@@@@@@#S%%??%#SSS#SSSSSSS???%%%SS#%S@#####@@@@S?=S##########@@
======+*%##@@@@@@@@@@@@##S%%???%??S%++**?%%???%%%S##%S######@@@@#S*S??S#####*?#@
+====++*%##@@@@@@@@@@####SS%%?SSSSS?+**?%%?*??%%SS##%?######@@@@@@##%*%####S;=#@
*++++**?S#@@@@@@##########SS%SSSS##SSSSS%***?%%SS##S*?%######@@@@@@#############
%?***?%S#@@@@@##############SSSS###%*++==++*?%SS#@@%*?#@#####@@@@@@@#S##########
#S??%%S#@@@@@#############@#SSSS##S+----=+*?%SS#@@@SS#@@####@#@@@@@@######@@#@@#
@#SSS##@@@@#################SSSS##%*+===+*?%S##@@@@###@@####@@@@@@@@@####@@#*+##
@@###@@@@@##############@##S%%S###S?****?%S####@@#SS%S######@@@@@@@@@@###@#S?+SS
@@@@@@@@@@##############@#SS%%S@@@##SSSSS######@@S?*?*?S####@@@@@@@@@@@###@@##S%
@@@@@@@@@@@@@@@#########%*?S%%#@@@@@###########@#?+++**?S###@@@@@@@@@#@@###@@#S+
@@@@@@@@@@@@@@#########S*?*+%#@@@@@@############%+====**?S###@@@@@@@%?#@@##@@###
@@@@@@@@@@@@##S########SS?**#@@@@@@@#S?S####SSSS*=----=+*?%###@@@@@@###@@######@
@@@@@@@@@@@@#####S######%%%S@@@@@@@##+:?S##SSSS?==------=+?%##@@@@@@@@@@@##@#@@@
@@@@@@@@@@@#####S#####@@#SS@@@@@@@@#S-,=SSS%%%%*=---------=+?S#@@@@@@@@@@#@@@@@@
@@@@@@@@@@####SS#####@@@@@@@@@@@#@@##-,;SS%%%%?+-----------==*%#@@@@@@@@@@@@@@@@
@@@@@@@@@@@##########@@@@@@@@@@@@#S?#+;-%%%???*=---;--------==+?#@@@@@@@@@@@@@@@
@@@@@@@@@@##########@@@@@@@@@@@#S?+;SS*+*?????+-----;;;------==*%#@@@@@@@@@@@###
@@@@@@@@@@##@@#####@@@@@@@@@SS%?%?+-%%=+=?%??*=----;;;;;------=+?S##########@@##
@@@@@@@@@@@@@@###@@@@@@@@@#?++++*+=*SS??S#S?*+=--;;;;;;;;-----=+*%###SSSSSSS#@@@
@@@@@@@@@@@@@@#@@@@@##@@@@%+===+**?S##@@@@S*+=--;;;;;;;;;-----=+*%SSSSSSSSSSSS#@
#S#@@@@@@@@@@@@@@@@##@@@@#%*++*?%#%SSS@@###*+=--;;;;;;;;;;----=+*%SSSSSSSSSSSSS#
S+%@@@@@@@@@@@@@@###@@@@@#%%???%#####SS%%S%===--;;;;;;;;;-----=+*?%SSSSSSSSSSSSS
@@@@@@@@@@@@@@@####@@@###%%%SSS###SSS%?+=----==-;;;;;;;;-----==+*?SSSSSSSSSSSSSS
#@@@@@@@@@@@@@@#########S?%%SS%*+====-------==*------------==+*?%SSSSSSSSSSSSSSS
#@#@@@@@@@@@@@#########S??????++============++?*---------==+**?%SSSSSSSSSSSSSSSS
@@@@@##@@@@@@########SS%?*****+========++++***??--------==+??%%SS#SSSSSSSSSSSSSS
@@@@@##@@@@@@#@#####S%?%?***??+=====++****??%%SS=-------==+S@#@##SSSSSSSSSSSSSSS
@@@@@@@@@@@@@@@###SS%?*%????%?++++**???%%SS####S?+------===*%###SSS%SSSSSSSSSSSS
#@@@@@@@@@@@@@###S%?***%%%%%%?**?%%%SS####@@@@##%?=------==++?%SSSSSSSSSSSSSSSS#
#@@@@@@@@@@@@##S%?*****%S%%%%%%%%%??%%%SSSSSSS?S%%=------===+*?%SSSSSSSSSSSSSS##
#@@@@@@@@@@@##S?*++++++?SS%%%S%%*++++++++**?%%SSS?=------====+*?%SSSSSSSSSSSSS##
S#@@###@@@@##%?*+=====+*SS%%%%%?+===+++++*?%%SS#S+==-----====++*?%SSSSSSSSSSS###
S#@@#S###@#S?*++======+?%%%%%%%?+===+++*?%SS#S###*+==---======+*?%%SSSSSSSSSS###
SS#@######S?*+========*?%%%%%%%?*+==+*?SS#######S*+==----=====+*?%SSSSSSSS#SS###
#S#######%?*+========+*%%%%%S%%%?***?%###@###S#S%*++==---====++?%SSSSSSSSS######
##SS##@#%**++========+?%%%%SS%SSS%?%S####S%%%S#S%?*+==---===++*?S##SSSSSSS######
###S###%?++++=======+*??%%%SSSSSS####SSS???%S#SS%?++==---===+*?%S##SSSSSSS######