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