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