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