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