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