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