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