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