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