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