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