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