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