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