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