''.......''.,~---;++++++++%&%=%&%=*-~~-:!**!!-~-:!*?&$%%$$&&$$$$$$$$$$$$$$$$$$$$
.'...''..''.,-:~~-;+?=+????=%?+*!:,~-:!!*+?+!;;;*?%$&%==&&%$$$$&$$$&$$$$$$$$$&&$
'.....'''...,---;;!*+=?==??+*:------:!+???+**+?=&$#$$$$$$$&&$$$$&&&&&$$$$$&$$&&$
''....'..,.,,~~~;;;*?=?==??+,..,~:*++?=%=+*+?%&$$$$#$$$$#$$$$$$&&&&$$$$&$$&$$&&$
.''''...,,,,,~~~-;!!???++++,'.',-*?=&%=+*++=&$$$############$$$$&&&&&$&&&&&&&&&&
......,~~~,..,~-~-;:;*+++*~'.'.:+%&&$&=+*+=%&$#################$$&&&&&&&&&&&&&&&
....,,~-~~-~,,~-;:::--!*!-''',!=%&$$&%?+??%&$$##################$$$&&&&&&&&&&&&&
.....,~~~-:-----:**+*--::.'`,+%&$&%=?++*?%%&$$############@#####$$$$$&&&&&&&&&&&
...,~.,~~-:-:;!;::**?+!!.'`.*%%&%?*!!**+?%&&$####################$$&&$&&&&&&&&%%
,,.,,,,~,,:~:*!!;;;!*++-.`':?===*:--;!+??%&$$$####################$$&&&&&&%%%%%&
~~~,~-~~~,--:!**;!++*!;,``,*===!-,,-:*+?=%&$$##########@###########$$&&&&&&&%%%&
~-~,~:-~-,---::!*???+!:.`'-?%%!~..,-;*+?=%&&$$#######################$$&&&&&%%%%
-;-~~~---~-;~~-:+?+++!-'`.;=%=:,..,-;*+?=%&&$$########################$$&&&&%%%%
::::~-::~~-;::;!;!*?!-'''.!=%+~...,-;*+?=%&&$$$#####################$##$&&&&%%%%
!*+;;----,-!**!**;**~'.'',!=%*,...,-;!+?=%%&$$$######################$#$&&&&&%%%
???!,,.,,,~;!!!!:--,',,..,!?%!,..,~-;*?%&$$##########################$$$$&&&%%%%
??+:,....,~-;:!::~,'~-,..,;?%;,,,~-!?%&&&&&$$$###########@############$$$&&&%%%=
+!;,,,.'.,~-:!;;!!~,;~,,..:?%*!!--;+%&%=?%&$$$$$#######@@#@@###########$$$&&%===
+;~.,,.....,-;;**!--!~~,'.:+%???!-;?%&%+*%$######$##########$###@#####$#$$&$%===
=?:,,..''...--;***-;:-~.'.:*=*!*+:-?&$%?*%$####$$$$$#######$$##########$$$&$&===
==+:,.....''.,-*??;;--,'',-*%=!*?*~=$$$&&$####$$$$$$########$###########$$$&&%==
==+!:~,....''.,~+?+;;~''.,:!&&+?%+-%&&&%&$$$$$&&$$$$$########$#########$$$$$$%==
%%?*++;-~,..'.,~-+?!:.'...-*&$&$&:!&&&=+***+?%&&$$$$$########$##########$$$$$&%?
%%==%%=*:~.''..,~-;;.'..',-?&&?=*~?&&%?*!;;*?=&$$$$$$########$###########$&&&$&=
%%%%%====*.''..,,,,,..''.~;=&&!:,-?&$&=+!!*+=%&$$$$$$##############$$#####$&&&&%
%%%%%===%+,''..,.....''.~:+=%%;~.!%&$$%?+*+?%&&$$$$$$####$$$########$$####$%&&&%
%%&%%%%%=!,'.,.,,.''''.,-!?=%%;~-+=%&$&?+??=%&&$$$$$$$###$$#########$$#####%&&&=
&%%%%%%=-,'~~,.''''''.,~-;!*+=!~~!=&=&%???=%&&$$$$$$$$#####@#########$#####&&$%=
&&%%%&&%~,~-~,.'''''.,~~~~:*?=?~,,-*=%=??==%&&&$$$$$$$####@#########$$$####&&&=?
&&&&&&&&%%=*:~~.''''..,,~--!?%&:.'.~*?====%%&&&$$$$$$$###@@##$$$#$##$$$####$&%=?
&&&&&%&&&&&&%=;....'''.,,~,,!?%?.,:!?=%%%%%&&&$$$$$$$$###@####$&&$$$$&#####&&=??
&&&&&&&&&&&&&&*~,-~''''''''.-;:;~:+=%%&&%%&&&&$$$$$$$$#########$&$$$$$####$%%???
&&&&&&&&&&&&&&%*:-,,'''''''''''.,~+&##$$%%&&&$$$$$$$$$##########$&$$$$####&%=???
&&&&&&&&&&&&&&&+~!!-~....''''''.~?$##&%&&&&&&&&$$$$$$$#########$$&$######$%%????
&&&&&&&&$$&&&&&=??*-!~~-,'.~'',*&#$?=&&&&%&&&&&&$$&&&$$#######$$&$$######&==????
$&&&&&&$$$&&&&&&%=+;+:-;~.~+-;%$#$+*?%%%%%&&&&&&&&&&&&$$$##$#$$&&$######$%??=???
$$$$$$$$$$$&&&&&&%%+=;--.,;!?$#$%&=-:;+?=%&&&&&&%%%%&&&$$$$$$$&&$#######%=???=??
$$$$$$$$$$&&&&&&&&&%=*-~.-+$#$=?%%%;,-!+=%&&&%==%%%%%&&&&$$$$&&$#######%????????
$$$$$$$$$$&&&&&&&&&%%*:-!%##&*!?==%=-:!+=%%&$=?===%%%%&&&&&$$$$#####%%=?????????
$$$$$$$$$$&&&&&&&&&&%*:=$#$+!!+++?%%=+??%&&&#=???==%%%%%&&&$$###$#@#&???????????
$$$$$$$$$$&&&&&&&&&=+*&#$=:-:****?==%&$$##%%#%?+??====%%%&$$###$&$@@@&??????????
$$$$$$$$$$$&&&%%&&%:-+=%;;-~:;;;!++=%==&#$*&#&?+++??====%&&$#$&&&$@@@#%?????????
$$$$$$$$$$$$$?-;+&=.,+;:++;:*!;;*+==+?&$#=:&#$=+*++????=%%&$&&&&&#@@@@#&????????
$$$$$$$$$$;;*~!*!%?',?-;%%+*??+??%=*?&$$$!~=#$&=++++++??=%%%&&&&$#@@@@@@&???????
$$$$$$$$$$!..~;+;*?'~:,+%$===%%%=+*%&&&&$~.*#$$&?++++++???=%&&&&$#@@@@@@#$??????
$$$$$$$$$$&~~--~-~;:,,:!&$&=%&&&+?%&&%%&='':&$$$%=?++**!+=%%%&&$#@@@@@@@###&=???
$$$$$$$$$$$=~~~-:-;-:!*!=&&&%&&&%==%%?*?:'',?$$$&%=?+::*==%%&&&$#@@@@@@@##@@#$=?
$$$$$$$$$$!,,,~!%&+*=?**+%&$$$&&%+*!:!=&'`'.:&$&&%=*~:*?==%%&&$#@@@@@@@@@#@@@@@$
$$$$$###$&.`.-!%$$$%==**?=%&$$$&%*+?%%&*```~**%=?;,,:*?==%%%&&$#@@@@@@@@@##@@@@@
$##$###$&:'~:!?%&&$$$=**==?&&$&++%$$%=&~`';&%!:;:,,:!+?=%%%%&&##@@@@@@@@@##@@@@@
#######$:'~;;;*=%%&$$$&=?=?%&$$&%&$%==?'`*#$%!:!;:-;*??=%%%%&$###@@@@@@@###@@@@@
###$$$#$+::::;!*%&%&$$$$$&?=&&$$$$%=?%!`;$##%*-!***!*?=%%%%&&######@@@@##@##@@@@
$$$$###%~.'.:;!*?%&=%&&$$#$$&&$$$&=?=&-~=&&&%?*!?%&?+?=%%%%&$#@#####@@@#####@@@@
#######;--.-!*!!+??+?=%$$###$$$$&%==&&-?====%%&&$$&&%?=%%%&&##@@@##########@@@##
#######?+*---*?;;*??=%&$$$######&==%$&=%?!??=&$$###$&?=%%&&$@#@#@@#$####@@@@@###
######&,.;?+*==;:;*?&$$$$$######$==$#$&%?!+++=&###$&%?+%%%$#@###@#&$&$#@@@@#####
#######!.?=&&?*:::*%$###$$$#####$%&##&%=+!*;?$###$&%%=+?%&######@#&$&$$@@@######
#######?,*%&$!:;;;?&$$###$$######&$#$%=?+;;?$###$&&%%=?+=$########$&&#$@@#######
#######$!:!=$*-:*=&$$$$###$$#####$##&%=+!;+%###$&&&&%=?++$#########$$$$$#######@
########$!::!!:!%$$$$$$$###$#####$##&=?=%&%&&##&&&&%=?+*=$############$?$$#####@
#########$*:--;=$$$#$$$$$##########$%=?%$%&&%###$%%=?+*+$#############$?$#@@##@@
##########$*-!%$$$$$$$$$$$$#######$%%$$#&$$=$####&&=?+*%$#############=&$@@@#@@@
###########$?%$$$$$$$$$$$$$$######$$##$&&$&$###$##&%?+?$########$####=%$@@@#@@@@
#############$%$$$$$$$$$$$$$$$#######$&%%=&$###$&#$&%?&$#######$$###%=$#@@#@@@@@
#############%!%&$$$$$$$$$$$$$######$$%=??&$###$=$#$&%$######$$$###$?&#@@#@@@@@@
############$-;?%&$$$$$$$$$$$$$######$&&?+&###$%=$#$$&$######$$###$+&#@@#@@@@@@@