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