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