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