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