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