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