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