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