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