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