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