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