츄잉~ chuing~
츄잉 신고센터 | 패치노트
공지&이벤트 | 건의공간 | 로고신청N | HELIX
로그인유지
회원가입  |  분실찾기  |  회원가입규칙안내
이거 크기 최대로 하니까 퀄개쩌네.
흑사자와용 | L:0/A:0
168/610
LV30 | Exp.27% | 경험치획득안내[필독]
추천 0-0 | 조회 52 | 작성일 2020-12-02 02:32:54
[서브캐릭구경ON] [캐릭컬렉션구경OFF] [N작품구경OFF]
*서브/컬렉션 공개설정은 서브구매관리[클릭]에서 캐릭공개설정에서 결정할수 있습니다.
  [숨덕모드 설정] 숨덕모드는 게시판 최상단에 위치해 있으며 언제든 설정할 수 있습니다.

이거 크기 최대로 하니까 퀄개쩌네.

~~----,,,,,,,,,,,,,,,,,,,,....................,,,,,,,,,,,,,,,,,,,,,,,,---~~~~~~------,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,--,,,,,,,,,----~~~~~~~~~::::::::::::::;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~::::::::::::::::
~~----,,,,,,,,,,,,,,,,,,,,....................,,,,,,,,,,,,,,,,,,,,,,,,---~~~~~~------,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,---,,,,,,,,----~~~~~~~~~::::::::::::::;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~::::::::::::::::
------,,,,,,,,,,,,,,,,,,,....................,,,,,,,,,,,,,,,,,,,,,,,,,---~~~~~~~~----,,,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------,,,,----~~~~~~~~~~~:::::::::::::::;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~::::::::::::::::::
-----,,,,,,,,,,,,,,,........................,,,,,,,,,,,,,,,,,,,,,,,,,,---~~~~~~~~~---,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
----,,,,,,,,,,,,,,,,....................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----~~~~~~~~~---,,,,,,.......,,,,,,,,,,,,,,,,,,,,,,,,,,-----~~~-----~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
---,,,,,,,,,,,,,,,,,,,,,,,..............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---~~~~~~~~~----,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,----~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,.............,,,,,,,,,,,,,,,,,,,,,,,,,,,,---~~~~~~~~~----,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,----~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............,,,,,,,,,,,,,,,,,,,,,,,,,-----~~~~~~~-----,,,,,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,---~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~:::::::::::::::
-------------,,,,,,,,,,,,,,,...............,,,,,,,,,,,,,,,,,-----------~~~~~~----,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,---~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~::::::::::::
---------------,,,,,,,,,,,,,,,,...........,,,,,,,------------------~~~~~~-------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~::::::::::
--~~~~~~~~-------,,,,,,,,,,,,,,,,,,,....,,,,,,,--------~~~~~--~~~~~~~~~~------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~::::::::
~~~~~~~~~~~~~-----,,,,,,,,,,,,,,,,,,,,,,,,,,,------~~~~~~~~~~~~~~~~~~~~-----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----,,,,,,,,---~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~----~~~~~::::::::
~~~~~~~~~~~~~~~-----,,,,,,,,,,,,,,,,,,,,,,,,----~~~~~~~~~~~~~~~~~~~~~~~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------,,,,,,---~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~-------------~~~~::::::::
~~~~~~~:::~~~~~~------,,,,,,,,,,,,,,,,,,,,-----~~~~~~~~~~~~~~~~~~~~~~~----,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------,,,----~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~---------------~~~~~:::::::
:::~~~~::::~~~~~~~-----,,,,,,,,,,,,,,,,,,-----~~~~~~~~~~~~~~~:~~~~~~~----,,,,,,,,,,,,,,,,,,,,,,,,,,-----------------------~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~:::::::::~~~~~---------------~~~~~~~::::::
:::::::::::::~~~~~~~-----,,,,,,,,,,,,,,,-----~~~~:::~~~~~~~::::~~~~~----,,,,,,,,,,,,,,,,,,,,,,,,---------~~~~~~~~~-------~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~:::::::~~~~~-------,-------~~~~~~~~~~~~~~
:::::~~~::::::~~~~~~~~----,,,,,,,,,,,,,,,----~~~~~~~~~~~~~~~~~~~~~~-----,,,,,,,,,,,,,,,,,,,,,,,---------~~~~~~~~~~~~----~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~:::::::~~~~------,,,,------~~~~~~~~~~~~~~
:::~~~~~~~:::::~~~~~~~~~----,,,,,,,,,,,,,,----~~~~~~~~~~~~~~~~~~~-----,,,,,,,,,,,,,,,,,,,,,,,,,--------~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~:::::::~~~~------,,,,------~~~~~~~~~~~~--
~~~~~~~~~~~::::::::~~~~~~----,,,,,,,,,,,,,----~~~~~~~~~~~~~~~~~~-----,,,,,,...,,,,,,,,,,,,,,,---------~~~~~::::::~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~::::::~~~~-------,,,,,-----~~~~~---------
~~~~~~~~::::::::::::::~~~~----,,,,,,,,,,,,,-----~~~~~~~~~-----------,,,,,,,...,,,,,,,,,,,,,,---------~~~~~:::::::~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~:::::~~~~------,,,,,,,------------------
~~~~~~:::::::::::::::::~~~~---,,,,,,,,,,,,,,--------------------,,,,,,,,,,....,,,,,,,,,,,,,--------~~~~~:::::::::::~~~:~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~::~~~~~------,,,,,,,,,,------------,,,,
~~~~~::::::::::::::::::::~~~--,,,,,,,,,,,,,,,,,,------,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,------~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~-----,,,,,,,,,,,,,,------,,,,,,,,
~~~:::::::::::::::::::::~~~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,,,,,,-----~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~------,,,,,,,,,,,,,,,,,--,,,,,,,,,
~~::::::::::::::::::::::~~~~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,....,,,,,,,,,,,,,,----~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~::::::::::::::;;;::::::::::::::::::~~~~~~~~~~~~~--------,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::~~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,......,,,,,,,,,,,,,,---~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~:::::::::::::;;;;:::::::::::::::::~~~~~~~~~~~~----------,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::::::::::::::::::::::~~~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................,,,,,,,,,,----~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~:::::::::::::;;;;::::::::::::::::~~~~~~~~~~~~-----------,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::~:::::::::::::::~~~~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............,,,,,,,,,----~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~::::::::::::;;;;;:::::::::::::::~~~~~~~:~~~~-------------,,,,,,,,,,,,,,,,,,,,,,,,
:::~~~~~~~:::::::::~~~~~~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............,,,,,,,,-----~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~-----~~~:::::::::::::;;;;;;:::::::::::::~~~~::::~~~--------------,,,,,,,,,,,,,,,,,,,,,,,,
::~~~~~~~~~:::::::~~~~~----,,,,,,,,,,,,,,,,..,,,,,,,,,,,........,,,,,,,......,,,,,,,,-----~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~---------~~~:::::::::::::;;;;;;;::::::::::::~~~~:::~~~~--------------,,,,,,,,,,,,,,,,,,,,,,,,
~~~~~~~~~~~~::::::~~~~----,,,,,,,,,,,,,,,,....,,,,,..............,,,,,,,,,,.,,,,,,,,,----~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~-----------~~~~~::::::::::::;;;;;;;::::::::::~~~~:::~~~~~--------------,,,,,,,,,,,,,,,,,,,,,,,,
~~~~----~~~~~:::~~~~~----,,,,,,,,,,,,,,,,,.......................,,,,,,,,,,,,,,,,,,----~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~------------~~~~~::::::::::::;;;;;:::::::::::~~~~~:~~~~~---------------,,,,,,,,,,,,,,,,,,,,,,,,
~~~-------~~~~~~~~~-----,,,,,,,,,,,,,,,,,........................,,,,,,,,,,,,,,,------~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;:::::::::::::::::::::::::::::::::::::::;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~------------~~~~~~:::::::::::::::;::::::::::::~~~~~~~~~~---------------,,,,,,,,,,,,,,,,,,,,,,,,
~~---------~~~~~~-----,,,,,,,,,,,,,,,,,,,......................,,,,,,,,..,,,,,,-----~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~----,,,------~~~~~~:::::::::::::::::::::::::::~~~~~~~~~-----,,,------,,,,,,,,,,,,,,,,,,,,,,,,,,
---------------------,,,,,,,,,,,,,,,,,,,,...................,,,,,,,,,,,,,,,,,-----~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~----,,,,------~~~~~:::::::::::::::::::::::::::~~~~~~~~-----,,,,,---,,,,,,,,,,,,,,,,,,,,,,,,,,,,
------,,-----------,,,,,,,,,,,,,,,,,,,,,,................,,,,,,,,,,,,,,,,,,------~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~-----,,,-------~~~~:::::::::::::::::::::::::::~~~~~~~-----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
----,,,,,,-------,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,-----~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~----,,,,-------~~~::::::::::::::::::::::::::~~~~~~~------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,---,,,,,,,,,,,,,,,,,,,,,,,,,,.........,,,,,,,,,,,,,,,,,,,,,,,----~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~----,,,-------~~~:::::::::::::::::::::::~~~~~~~~-------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........,,,,,,,,,,,,,,,,,,,,-----~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~----,,,,----~~~~::::::::::::::::::::::~~~~~~~~-------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,..,,,,,,,,,,,,,,,,--------~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~----,,,,,---~~~~::~~:::::::::::::::::~~~~~~~~------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,--------~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~::::::~~~~~~----,,,,,----~~~:~~~:::::::::::::::~~~~~~~~-------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----~~~~~~::::~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~:::~~~~~~~---,,,,,,---~~~~~~~~:::::::::::::~~~~~~~--------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,..,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----~~~~~~~:::::::~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~---,,,,,,,--~~~~~~~~::::::~~:::~~~~~~~--------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,
.....,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~::::::~~~~~~~~~~~---~~~~~~~~~~~~~----,,,,,,,--~~~~~~~~::::::~~~~~~~~~~~--------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......,,,,,,,,
.....,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~:~~~~~~~~~~~--------~~~~~~~~~-----,,,,,,,---~~~~~~~::::~~~~~~~~~~~~-------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......,,,,,,,,
.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~--~~~~~~~~~~~~~~~~~------------~~~~~~----,,,,,,,,,,---~~~~~~~~~~~~~~~~~~~~~-------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,
....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~-------~~~~~~~~~~~~-----------------------,,,,,,,,,,,----~~~~~~~~~~~~~~~~~~~-------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,,,
....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~------------~~~~---------,,,,,,------------,,,,,,,,,,,,----~~~~~~~~~~~~~~~~~-------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,
....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~::::~~~------------------------,,,,,,,,,--------,,,,,,,,,,,,,,,----~~~~~~~~~~~~~~~-------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------------~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~-----------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----~~~~~~~~~~~~-------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------~~~~~~---~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~----,,,,,,,-------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---
..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----,,,------~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~---,,,,,,,,,,,,---------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------
....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::~:::::::::::::::::::::::::::::::::~~~~~~~~~------------,,,,,,,,,,,,,,,,,----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------
.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::~~~~~~~::::::::::::::::::~~~~~~~~~~~:~~~~~~::::~~::::::::::::::::~~~~~~~~~-------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------
.....,,,,,,,,,,,,,,,,,,,,,,,,-------------------~~~~~::::~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::~~~~~~~~~~~~~~~~~~~~~~~::~~~~~~~:::~~~~~~~~~~~~~~~~-------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----,,,,,,,----------~~
,,,..,,,,,,,,,,,,,,,,,,,,----------------------~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------,,,,,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------~~~~~
,,,,,,,,,,,,,,,,,,,,,,,,-------------~~~-----~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,---------~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,------~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----~~~~~~~~~~~~~~~~~~-------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------~~~~~~~~~-----------~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,-----~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------~~~~~~~~~~~~~~-----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----~~~~~~~~~~~~~~----------~~~~~::::
,,,,,,,,,,,,,,,,,-------~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------------~~~~~----,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----~~~~~~~~~~~~~~~---------~~~~~:::::
,,,,,,,,,,,,,,,,------~~~~~~~~~~::::::::::~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------,,,,----------~~~~----,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----~~~~~~~~~~~~~~~~---------~~~~::::::
------,,,,,,,,------~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------,,,,,,---------~~~~----,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----~~~~~~~~:~~~~~~~~---------~~~~~:::::
-------------------~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::~~~~~~~~~~~~~~~~~~------,,,,,--------~~~~---,,,,,,,,,,,,,......,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----,,,,,,,,,,,,,,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------~~~~~~~~~:~~~~~~~~--------~~~~~~~~~~~
------------------~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::;;;;;;;;;;;;;;:::::::::::~~~~~~------,,,,,,,-----~~----,,,,,,,,,..........,,,,.,,,,,,,,,,,,,,,,,,,,,-------,,,,,,,,--------,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------~~~~~~~~~~:~~~~~~~~-------~~~~~~~~~~~~
----~~~~~--------~~~~~~:::~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::;;;;;;!!!;;;;!!!;;;;;;;;;;;:::::~~~~~~~-------------~~~----,,,,,,,,..........,,,,,,,,,,,,,,,,,,,,,,,,,,---------,,,,,,---------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------~~~~~~~~::::~~~~~~~~~~--~~~~~~~~~~~~~~~
--~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;:::::::~~~~~~~~~~~~~~~~--,,,,,,,,.................,,,,,,,,,,,,,,,,,,----------,,,,,,,---------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------~~~~~~~~::::::~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~:~~~~~~~~~~~::::;;;;;;;;;!!!!!!!!**************************!!!!!!!;;;;;;;;;;::::::::::~~--,,,,,,,,,,,,,.,,,,,,,...,,,,,,,,,,,,,,,,,,-----------,,,,,,,---------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------~~~~~~~~::::::::~~~~~~~~~~~~~~~----------
~~~~:~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~:::;;;;!!!!!!!!!!************************************!!!!!!!!!!!!!;;;;;;;;;;::~~--,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,------------,,,,,,,----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------~~~~~~~::::::::::~~~~~~~~~~~~~~-----------
~~~~~:::::~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~::::;;;;!!!!!!!!!!!********!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;::~~~---,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,-----~~~------,,,,,,----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------~~~~~~:::::::::::::~~~~~~~~~~--------------
~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~::;;;!!!***************!!!!!!!;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!********!!!!;;::~~---,,,,,,,,,,,.....,,,,,,.,,,,,,,-----~~~~~----------,----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------~~~~::::::::::::::::~~~~~~~--------,,------
~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~::;;!!!*************!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!*********!!!!;;:::~~---,,,,,,,,.....,,,,,,.,,,,,,----~~~~~~~---------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------~~~~:::::::::::::::::~~~~~~-------,,,,,,,---
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~::;;!!!****!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;!!!!;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!****!!!!;;;:::~~~---,,,,,....,,,,,,,,,,,,---~~~~~~~~~~---------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------~~~~~::::::::::::::::~~~~~~------,,,,,,,,,,,,
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~::;;!!******!!!!!;;!!!!!!!!!!!!!!!!;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*******!!!;;;::~~---,,,,,,,,,,,,,,,,,,---~~~~~~~~~~~~--~~~~----,,,----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------~~~~~~::::::::::~:::~~~~~~~-----,,,,,,,,,,,,,,
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~:::::;;!!!*******!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*******!!!!!;;;::~~~-----,,,,,,,,,,,,---~~~~~~~~~~~~~~~~~~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------~~~~~~~~~~~~~~~~~~~~~~~~~~~-----,,,,,,,,,,,,,,,,
~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~:::::~~~~~:::;;;!!!*********!!!!!!!!!!!!!!!!!!!!!!!!!!***************!!!!!!!!!!!!!!!!!!!!!!!!!*****!!!!!!!!!**********!!!!;;;::::~~--,,,,,,,,,----~~~~~~~~~~~~~~~~~----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------~~~~~~~~:~~~~~~~~~~~~~~~~~~------,,,,,,,,,,,,,,,,,
~~~:::::::::::::::::::::::::::::::::::::::::::::::~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~:::::~~~~:::;;!**********!!!!!!!!!!!!!****!!!!!!!!**********************!!!!!!!!**********************!!!!!!!!!!!***********!!!!;;:~--,,,,,,,------~~~~~~~~~~~~~~~~----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------------~~~~~~~~~~::~~~~~~~~~~~~~~~~------,,,,,,,,,,,,,,,,,,,
~~~::::::::::::::::::::::::::::::::::::::::::::::~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~:::::::::;;;!!****=*******!!!!!!!!!!!**************************************************!!!***************!!!!!!!!******=********!!;::~---,,,-----------~~~~~~~~~------,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,-------------------~~~~~~~~~~~~~~~~~~~~-----------------,,,,,,,,,,,,,,,,,,,
~~~:::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~:::::::;!!****====*****************************===========**************************!!!!!!*******====**********************===***!!;:~---,---------------~~~--------,,,,,,,,....,,,,,,,,,,,,,,,,,,,,---------------~~~~~~~~~~~~::~~~~~~~~~~~-----------------,,,,,,,,,,,,,,,,,,,,
~~~:::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~:::;!***=======*************************================*************************!!!!!!*****=========******************========*!;:~--,,------------------------,,,,,,,,,...,,,,,,,,,,,,,,,,,,---------------~~~~~~~~~~~~~~::::~~~~~~~~~-----------------,,,,,,,,,,,,,,,,,,,,,
~~::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~::;;!************!!!!****************========================================****************=========*******************======**!;:~----,------,,,------------,,,,,,,,,,,.,,,,,,,,,,,,,,,-----------~~~~~~~~~~~~~~~~~~~~~:::~~~~~~~~~~-------------------,,,,,,,,,,,,,,,,,,,,
:::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~::;;!******!!!!!!!!!!!!!********==================================================**************=========********************=====*!;:~--,,,,,,,,,,,,,,------,,,,,,,,,,,,,,,,,,,,,,,,,,-----------~~~~~~~~~~~~~~~::::::::::::~~~~~~~~~----------------------,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::~~~~~~~---~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~::;!!***!!!;;;;;;;;;;;!!!!*****=========$$$$$$$$===================$$$$$$$===============*******========****!!!!!!!*!!!********===**!;~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------~~~~~~~~~~~~~::::::::::::::::~~~~~~~-------------------------,,,,,,,,,,,,,,,,,,
:::::::::::::::::::::::::::::::::::::::::::~~~~~~~----~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~::;;!****!;;;;;;;;;;;;;;;;!!!******========$$$$$$$$$$$$$=================================**********===****!!!;;;!!!!!!!!!********==***;:~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------~~~~~~~~~~:::::::::::::::::::::~~~~~------------------,,,------,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::~~~~~~-----~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~::;!****!!;;;;::::::::::;;;;!!!!******========$$$$$$$$$$$==========================*********************!!;;;;:;;;;!!!!!*********===**!;:~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------~~~~~~~::::::::::::::::::::::::::~~~~------------------,,,,------,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::~~~~~~----~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~::;!***!!;::::::::::::::::;;;;!!!!!!*****=========$$$$=============*======**************************!!!!!;;::::::;;;!!!!**********====*!;~-,,,,,,,,,,,,,,,,,,,,,-----,,,,,,,,,,,,,,,--------~~~~~:::::::::::::::::::::::::::::~~~~--------------,,,,,,,,,,---,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~::;!**!!;;:::::::~~:::::::::;;;;;;;;!!!!!!!******======*********!!!!!!!!!!!!!!!!!!!!!;;;!!!!!!!!!!!!;;;;;;::::::::;;;!!!!**********===*!;:~-,,,,.,,,,,,,,,,,,,,,-------,,,,,,,,,-----------~~~~~::::::::::::;;;:::::::::::::::~~~~---------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~:;!*!!;;;:::::~~~~~~:::::::::;;;;:::;;;;;;;!!!!********!!!!;;;;;;;;;;;;;;;;;;;;;;;;;::::;;;;;;;;;;;;::::::::::::::;;;!!!!**********==**!;~--,,...,,,,,,,,,,,,,,--------------------------~~~~~::::::::::::;;;;;::::::::::::::~~~---------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~::;!*!!;;::::~~~~~~~~~::::::::::::::::::::;;;;;!!!!!!!!!;;;;;;:::::::;;;;;;;;:::::::::::::::::::::::::::::::::::::::;;!!!!**********==**!;~--,,...,,,,,,,,,,,,,,-------------------------~~~~:::::::::::::;;;;;;:::::::::::::~~~~--------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~-~:;!!**!;;:::~~~~~~~~~~~:~:::::::::::::::::::::;;;;;;;;;;;:::::::::::::::::::::::::::::~:::::::::::::::::::::::::::::;;!!!!***********=***;~--,,,,,,,,,,,,,,,,,,,-----------------------~~~~~:::::::::::::::;;;;;::::::::::::~~~~--------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,,,,,
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~-~:;!!**!;;::::~~~~~~~~~~~~~~:::::::~~~~~::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~:::::::::~~::::::::::~~::;;!!!!***********=***;~--,,,,,,...,,,,,,,,,,-------------~~~~~~---~~~~~:::::::::::::::::::::::::::::::::~~~~-------,,,,,,,,,,,,,,,,,,,,,,,,,---------,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~---~~~-~:;!!**!;;::::~~~~~~~~~~~~~~~:::::::~~~:::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~:::::~~~~~:::::::::~~::;;!!!!***********===*;~--,,,,,.....,,,,,,,,,------------~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::~~~~~-------,,,,,,,,,,,,,,,,,,,,,,------------,,,,,,,
:::::::::::::::::::::;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~-------~--~:;!!**!;;::::~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~:::::::::~~:::;;!!!***********===*;~-,,,,,,.....,,,,,,,,,----------~~~~~~~~~~~~~~~::::::::::;;::::::::::::::::::::~~~~~~~------,,,,,,,,,,,,,,,,,,,,,---------------,,,,,,
::::::::::::::::::::;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~---------~---~:;!***!;:::::~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~:::::::::~~:::;;!!!***********===*;~-,,,,,,.....,,,,,,,,,--------~~~~~~~~~~~~~~~~::::::::::;;;;::::::::::::::~~~~~~~~~~~~------,,,,,,,,,,,,,,,,,,,,-----------------,,,,,
::::::::::::::::::::;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~---------------~:;!***!;;::::~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~:::::::::::::::;;!!!***********===*;~-,,,,,,.....,,,,,,,,-------~~~~~~~~~::~~~~~~~::::::::::;;;;::::::::::::~~~~~~~~~~~~~------,,,,,,,,,,,,,,,,,,,,------~~~~~~~------,,,,
::::::::::::::::::::;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~----,,,,,,,,----~:;!***!!;::::~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~::::::::::::::::;;!!!***********===*;~--,,........,,,,,,,,------~~~~~~~~::::~~~~~~::::::::::;;;;;;::::::::::~~~~~~~~~~~~~~-----,,,,,,,,,,,,,,,,,,,,,-----~~~~~~~~~-----,,,,
::::::::::::::::::;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~---,,,,,,,,,,,,,-~:;!*=**!!;;:::~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~:::::::::::::::::;;;!!!*!!!!!*****==**;:--,,.......,,,,,,,,,-----~~~~~~:::::::~~~~~~:::::::::::;;;;;:::::::::~~~~~~~~~~~~~~~----,,,,,,,,,,,,,,,,,,,,,,----~~~~~~~~~~~-----,,,
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~---,,,,.,,,,,,,,-~:;!****!!;;;::::~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~::::::::::::::::::;;;!!!!!!!!!!****===*;:--,,.......,,,,,,,-----~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::~~~~~~~~~~~~~~-------,,,,,,,,,,,,,,,,,,,,,----~~~~~~~~~~~~-------
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~---,,,.....,,,,,,,-~;!*****!!!;;;::::~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~:::::::::::::::::;;;;!!!!!!!!!!****===*;:--,,.......,,,,,,----~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::~~~~~----------------,,,,,,,,,,,,,,,,,,,,----~~~~~::::~~~~~------
::::::::::;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~---,,,......,,,,,,-~;!******!!!!;;:::::~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::~~:::::::~~~~:::~~~~~~:::::~~~~::::~::::;;;!!!!!!!!!!!!***===*;:--,,.......,,,,,,---~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::~~~~~-----------------,,,,,,,,,,,,,,,,,,,,----~~~~::::::::~~~-----
::::::::::;;;::::::::::::::::::;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~--,,,........,,,,,~:;!**!!!*****!!;;;:::~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~:::::::::::::::::::::::::::;;;;!!!!!!!!!!!!***===*;:--,,..,,,,,,,,,,---~~~~~~~~~~~~~~~~~~~--~~~~~~~:::::::::::::::::::~~~~~------------------,,,,,,,,,,,,,,,,,,,-----~~~~:::::::::~~~----
:::::::::::::::::::::::::::::::;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~--,,,,.......,,,,-~:;!*!!;!!**==**!!;;::~~~~:::::;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::~~~::::::::::::::::::::::::::;;;!!!!!!!!!!!!!!***===*;:-,,..,,,,,,,,,,----~~~~~~~~~~~~------------~~~~~~~:::::::::::::::~~~~~-------------------,,,,,,,,,,,,,,,,,,,----~~~~::::::::::~~~----
:::::::::::::::::::::::::::::::;;;;;;;::::::::::::::::::::::::::::::::::::::~~::::::::::::~~~~~~~~~~~~~~~~~~~---,,,,......,,,,,-~;!!!!;;;!*=====**!;;::~~:::::;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;!!!!!!!!!!!!!!****===*!:--,..,,,,,,,,-----~~~~~~~~~~~~--------------~~~~~~~~~~~:::::::::~~~~~---------,----------,,,,,,,,,,,,,,,,,,-----~~~~:::::::::::~~~---
::::::::::::::::::::::::::::::::::::;;;;;:::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---,,,,..,,,,,,,,--:;!!!!;;!*=======**!;::~~::::;;;;!!!!!;;;;;;;;;:::::::::::::::::::::::::::::;;;;:::::::::::::::::::::::::::::;;;;;!!!!!!!!!!!!!!!*****===!:~-,,,,,,,,,,,------~~~~~~~~~~~----------------~~~~~~~~~~:::::::~~~~~--------,,,,,,------,,,,,,,,,,,,,,,,,,,-----~~~::::::::::::~~~---
:::::::::::::::::::::::::::::::::::::;;;;;::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~-----------~~~~~---,,,,,..,,,,,,,--~:!!!!;;;!*===$$===*!;::::::::;;;!!!!!!!!!!;;;;;;;:::::::::::::::::::::::;;;;;;;;;;:::::::::::::::~~~~~:::::;;;;;!!!!!***!!!!!!!!!*****===!:~-,,,,,---,,-------~~~~~~~~~~-------------------~~~~~~~~~~~::~~~~~~-------,,,,,,,,,,--,,,,,,,,,,,,,,,,,,,,-----~~~~::::::::::::~~~~--
:::::::::::::::::::::::::::::::::::::;;;;;;:::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~--------------~~~~---,,,,,..,,,,,,,-~:;!!!;;;;!*===$$$$==*!;::::::::;;!!!*!!!!!!!!!;;;;;;:::::::::::::::::::;;;;;;;;;;;;;;;:::::::::::::~~:::::;;;;!!!!!********!!!!!!!*****===!;:-,,,,-----,,,,----~~~~~~~~~~------------------------~~~~~~~~~~~~-------,,,,,,,,,,,,-,,,,,,,,,,,,,,,,,,,-------~~~::::::::::::::~~~~-
:::::::::::::::::::::::::::::::::::::;;;;;;::::::::::::::::::::::::::::::::~~~~~~~~~~~~~----------------------,,,,,,,,,,,,,,-~:;;!!!;;;;!*====$$$==*!;::::::::;;;!!!!!!!!!!!!!!!!;;;;;;::::::::::;;;;;;;;;;;;;;;;;;;;::::::::::::::::::;;;;!!!!**************!!!******===*!:~-,,,----,,,,,,----~~~~~~~~~----------,,,,------------~~~~~~~~~--------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------~~~~::::::::::::::~~~~~
::::::::::::::::::::::::::::::::::::::;;;;;:::::::::::::::::::::::::::::::~~~~~~~~~~~~-----------------------,,,,,,,,,,,,,,--~;;!!!!;;;;!*===$$$$==*!;:::::~:::;;;!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;!!!!!!!!!!!!!;;;;;::::::::~::::::::;;;!!!**************************===*!;~-,,-----,,,,,,,----~~~~~~~~---------,,,,,,------------~~~~~----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------~~~~::::::::::::::~~~~~
::::::::::::;;;:::::::::::::::::::::::;;;;:::::::::::::::::::::::::::::::~~~~~~~~-----------,,---------------,,,,,,,,,,,,,-~~:;!!!!;;;;!!*===$$$$==*!;::::~~~:::;;;!!!!!!!***********!!!!!!;!!!!!!!!******!!!!!!;;;;:::::::~~~~::::;;;;!!!****=============***********===**;:-------,,,,,,,,,----~~~~~~------,,,,,,,,,,-------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------~~~~::::::::::::::~~~~~
::::::::::::;;;;:::::::::::::::::::::;;;;::::::::::::::::::::~:::::::::~~~~~~~~-------------,,,-----,,-------,,,,,,,,,,---~::;!*!!!;;;;!!*===$$$$==*!;::::~~~~:::;;;;;!!!!*****====********!**********=***!!!!;;;;;:::::::~~~~::::;;!!!****===================********===**!:~---,,,,,,,,,,,,,------------,,,,,,,,,,,,,------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------~~~~::::::::::::::~~~~~
::::::::::::;;;;:::::::::::::::::::::;;;:::::::::::::::::::~~~~~~~~~~~~~~~~-----------------,,,-----,,,,,----,,,,,,,,,,--~:;;!**!!;;::;!**==$$$$$==*!;:::~~~~~:::::;;;!!!!****============****==========***!!;;;;;::::::~~~~~~:::;;!!***=======$$=====$$$$$====********===*!;~--,,,,,,,,,,,,,,,-----------,,,,,,,,,,,,,,--------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------~~~~:::::::::::::::~~~~
::::::::::::;;;;:::::::::::::::::::::;;:::::::::::::::::::~~~~~~~~~~~~~~~~------------------,,------,,,,,,---,,,,,,,,--~~:;;!!*!!;;;:;;!*=$$$$$$$==*!;::::~~~~:::::::;;!!****====$$$$====================**!;;;;;::::~~~~~~~~~::;;!!***=====$$$$$$$==$$$$$$$$==********====*;~--,,,,,,,,,,,,,,,,--------,,,,,,,,,,,,,,,,,,,,,,,,--------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------~~~~::::::::::::::::~~~~
::::::::::::::;;::::::::::::::::::::;;;::::::::::::::::::~~~~~~~~~~~~~~~~----------------------------,,,,,---,,,,,,---~:;;;!!!!!;;:::;;!*=$$$=$$$==*!;::::~~~~:::::::;!!!****===$$$$$$$=============$$$==**!;;;::::::~~~~~~~~~::;;!***=====$$$$$$$$$$$$$$$$$$===********===*;:~-,,,,,,,,,,,,,,,,-------,,,,,,,,,,,,,,,,,,,,,,,,,,,---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------~~~~:::::::::::::::::~~~
::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~-~~~~~-------------------------------,,,,,--,,,,,,---~:;!!!!*!!;;::::;!**=$$=======*!;::::~~~~:::::::;;!!****===$$$$$$$$$$$$$$$$$$$$$$$==*!!;;:::::::~~~~~~~:::;;!!**=====$$$$$$$$$$$$$$$$$$$$==*********==*!:~--,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------~~~~:::::::::::::::::~~~
:::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~----------------------,,,,-----------------,---,,,,,--~~:;;!*!!!!;;::::;;!*==$$$$$$$==*!;:::::~~~:::::::;;!!****===$$$$$$$$$$$$$$$$$$$$$$$==*!;;:::::::::::::~::::;;!**=====$$$$$$$$$$$$$$$$$$$$$==*********===!;:~-,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------~~~~~:::::::::::::::~~~~
:::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~----------------------,,,,,,-------~~~~---------,,----~::;!!!*!!!;;;::::;;!*===$$$$$$==*!;::::::~~~::::::;;!!****====$$$$$$$$$$$$$$$$$$$====**!;;:::::::::::::::::;;!!**=====$$$$$$$$$$$$$$$$$$$$$==***!!*****==*;:~-,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----~~~~~~:::::::~~~:::~~~~~
;;;;:::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~----------------------,,,,,,,-----~~~~~~~~------,,,---~:;;!****!;;;;::::;;!*====$$$$$$==*!;;:::::~~~~~~~::;;!!****=====$$$$$$$$$$$$$$$$$$====**!;::::::::::::::::::;;!!*=====$$$$$$$$$$$$$$$$$$$$$$===**!!*****==*!;:--,,..,,,,,,,,,--,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----~~~~~~~~~~~~~~~~~~~~~~~~
;;;::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~--------------,,---------,,,,,------~~~~~~~-----------~~:;;!!*!!!;;;;:::::;;!*====$$$$$$==*!;;::::::~~~~~~:::;!!!**=====$$$$$$$$$$$$$==$$$$====*!!;::::::::::::::::::;;!!*====$$$$$$$$$====$$$$$$$$$$==**!!!!****==*!;:~-,,,,,,,,,,,,,-,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------~~~~~~~~~~~~~~~~~~~~~~~
;;:::::::::::::::::::::::::::::::::::::::::::::~~~~~------------,,,,,,,,,,--------,,,,------~~~~~~-----------~~:;;!!!!!!;;;;;;::::;;!!*=====$$$$$==*!;;::::::::~~~~:::;;!!**=====$$$$$$$$$$$====$$$$$===*!;;::::::::::::::::::;;!!*====$$$$$$========$$$$$$$$$===**!!*****==**!:~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------~~~~~~~~~~~~~~~~~~~~~
:::::::::::::::::::::::::::::::::::::::::::::~~~~~-------------,,,,,,,,,,,,-------,,,-----~~~~~~-------------~:;!!!**!!;;:::;;;:;;;!!**=======$$==**!;;::::::::~~~~:::;;!!**====$$$$$$$$$$$=====$$$$$===*!;;::::::::::::::::::;;!!**====$$$$$========$$$$$$$$$$==*********===*!;~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------~~~~~~~~~~~~~~~~~~~
:::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~------------,,,,,,,,,,,,,,,----,,,,,-----~~~~--------------~::;!!!*!!;;::::;;;;;;;!***=====$$====*!!;;::::::::~~~~:::;;!!**====$$$$$$$$$$$=====$$$$$==**!;;::::::::::::::~:::;;!!**====$$$$$========$$$$$$$$$$==**********==**;:~-,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------------~~~~~~~
::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~------,-----,,,,,,,,,,,,,,,,,,,,,,,,,,-----~--------,,,,,,---~:;!!!!!!;:::::::;;;;;!!**=====$$$===**!!;;::::::::~~~~:::;;!!**===$$$$$$$$$$$======$$$$===**!;::::~~:::::::~~~::::;;!!*====$$$$$=========$$$$$$$$$$==*********===*!;~-,,,,,...,,,,,.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------------~~~~~
::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~-------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------,,,,,,,,,-~:;!!!!!!;::::~::::;;;!!**=====$$$====**!!;;::::~~~:~~~~~::;;!!**===$$$$$$$$$$$=====$$$$$===*!!;::::~~~~~:~~~~~~~:::;;!!**===$$$$=$$========$$$$$$$$$==*********===*!;:~-,,,.....,,..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------~~~~~
:::::::::::::::::::::~~~~~~~~~~~~~~~~~------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------,,,,,,,,,,-~:;!!!!!;;:::::::::::;!!**=====$$===***!!;;;:::~~~~:~~~~~:::;!!**===$$$$$$$$$$======$$$$$===*!!;::::~~~~~~~~~~~~~:::;;!!**====$$$$$$$========$$$$$$$$===*********==**!;~-,,,.................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----,,-------~~~~~
::::::::::::::::::~~~~~~~~~~~~-------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------,,,,,,,,,,,-~:;!!!!!;;::::;::::::;!!*=====$$$===**!!!;;;:::~~~~~~~~~~~::;;!**===$$$$$$$$$$=======$$$$===*!!;::::~:::~~~~~~~~~:::;;;!!**===$$$$$$$$=======$$$$$$$$===*********===*!;~-,,,,,...............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----~~~~~~
::::::::::::::::~~~~~~~~~~----------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----,,,,,,,,,,,,,,-~:;!!!!!;;;:;;;;:::::;!!*====$$$===**!!!!;;;:::~~~~~~~~~~~::;;!!*===$$$$$$$$$$========$$$===*!!;::::~:::~~~~~~~~~:::;;;!!**===$$$$$$$$$======$$$$$$$$$==*********===**;:--,,,,,,.............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------~~~~::
:::::::::::::~~~~~~~~~-------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-~:;!**!!;;;;;;;;:::::;!**====$$$===*!!!!!;;;:::~~~~~~~:~~::::;!!*===$$$$$$$$$$=======$$=====*!!;::::~:::~~~~~~~~~:::;;;!!!**==$$$$$$$$$======$$$$$$$$$==*********===**!:~-,,,,,,,...........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------~~~~:::
::::::::::::~~~~~~----------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-~:!!**!!;;;;;;;;:::::;!**===$$$$==**!;;;;;;;::::~~~~~::::::::;;!**===$$$$$$$$===$$$$$$======*!;;::::~:::~~~~~~~~~:::;;;!!!!*===$$$$$$$$======$$$$$$$$$==*********====*!;~--,,,,,,,.....,,,,,,,,,,,,,,,,,,,,---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------~~~~::::
:::::::::::~~~~~-----------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--~;!****!;;;;;;;;::::;!!*===$$$$$==*!!;;;;;;:::::~~~~~::::::::;;!**===$$$$$$$$==$$$$$$$======*!;;::::::::~~~~~~~~~:::;;;;!!!**===$$$$$$$$=====$$$$$$$$$==*********====**;:~--,,,,,,,...,,,,,,,,,,,,,,,,,,,,,---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------~~~~~::::
:::::::::~~~~~-------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,,,-~:;!****!;;;;;;;:::;;;!**===$$$$$=**!!;;;;;::::~~~~~~~~:::::::;;!!*====$$$$$$$==$$$$$$$$=====*!;;::::::~~~~~~~~~~~:::;;;!!!!!*===$$$$$$$$=====$$$$$$$$$==**********====*!;:~--,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------~~~~~:::::
::::::::~~~~~-------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------,,,,-~:;!*===*!!;;;;;;:::;;!**===$$$$$$=*!!!;;;;;:::~~~~~~~~~:::::::;;!!**===$$$$$$$==$$$$$$$$=====*!;:::::::~~~~~~~~~~~:::;;!!!!;!**===$$$$$$$$====$$$$$$$$==*************===**!:~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------~~~~~::::::
::~~~~~~~~~--------,,,,,---------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------,,,--~;!**===**!!;;;;;;;;!!!*====$$$$$$=*!!!;;;;::::~~~~~~~~~:::::::;;!!*====$$$$$$$===$$$$$$$=====*!;::::::::~~~~~~~~~~:::;;;!;;;;!**===$$$$$$$$$$$$$$$$$$$$==*************===*!;:~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------------~~~~~:::::::
~~~~~~~~~----------,,,,,,,,,,,,---------------,,,,,,,,,,,,,,,,,,,,,,,,,,--,,,,,,,,,,,,,,,,,,---------,-~~:;!*=====**!!!!!!!!!!**=====$$$$$$=*!!;;;;;::::~~~~~~~~~~~:::::;;!!*====$$$$$$$======$$$$=====*!;:::::::::~~~~~~~~~:::;;;;;;;;!!**===$$$$$$$$$$$$$$$$$$$==**************===*!!;:~~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------~~~~~~::::::::
~~~~~~------------,,,,,,,,,,,,,,,-------------,,,,,,,,,,,,,,,,,,,,,,,,------,,,,,,,,,,,,,,,----~~~-----~:;!*======***!!!!!!****===$$==$$$$$=*!!;;;;:::::::::::::~~~~::::;;!!*===$$$$$$$$=======$$======*!;::::::::::~~~~~~~~:::;;;;;;;;;!**===$$$$$$$$$$$$$$$$$$$===***!!!!!******===**!;::~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------~~~~~~~~~::::::::::
~~~----------,,,,,,,,,,,,,,,,,,,,,-----------,,,,,,,,,,,,,,,,,,,,,,,,,-----,,,,,,,,,,,,,,,----~~~~----~:;!*====$===***!******====$$$===$$$$=**!;;;::::::::::::::~~~:::::;!!**===$$$$$$$$=======$$======*!;:::::::::~~~~~~~~::::;;;;;;;;;!!*===$$$$$$$$$$$$$$$$$$===****!!!!!!!!!********!!;:~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------~~~~~~~~~~~::::::::::::
----------,,,,,,,,,,,,,,,,,,,,,,,,,---------,,,,,,,,,,,,,,,,,,,,,,,,,,----,,,,,,,,,,,,,,,----~~~~~-~~~:;!**====$====****========$$$$===$$$$==*!;;;::::::::::::::~~~:::;;!!**====$$$$$$$$===============*!;:::::::::~~~~~~~~::::;;;;;;;;;!!*====$$$$$$$$$$$$$$$$$===****!!!!;;;!!!!****==**!;:~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----~~~~~~~~~~:::::::::::::::
-------,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------,,,,,,,,,,,,,,,,,,,,,,,,,,,----,,,,,,,,,,,,,-----~~~~~~-~~:;!**=====$$============$$$$$$$===$$$$==*!!;:::::::::::::::~~:::;;!!**=====$$$$$$$$===============*!;;:::::::::~~~~~:::::::;;;;;;;;!!*====$$$$$$$$$$$$$$$$$==******!!;;;;;;;!!***====*!;::~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----~~~~~~::::::::::::::::::::
------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----,,,,,,,,,,------~~~~~~~~~:;!**====================$$$$$$=====$$$===*!;;;::::::::::::::::;;;!!**=========$==========$========*!!;:::::::::~~~:::::::::::;;;;;!!**====$$$$$$$$$$$$$$$$$$==*****!!!;;;;;;;!!***===**!;::~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----~~~~~~:::::::::::::::::::::
-----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--,,,,,,,,,,,,,,,,,,,,,-------,,,,,------~~~~~~~~~~:;!**=================$$$$$$$$$$======$$===**!;;:::::~~::::::::;;!!***===================$$$$========*!;;::::::::~~~::::::::::::;;;;!!**====$$$$$$$$$$$$$$$$$$==*****!!!;;;::;;;!!***===**!;;:~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----~~~~~::::::::::::::::::::::
----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----,,,,,,,,,,,,,,,,,,,,,----------------~~~~~~--~~~;!**===============$$$$$$==$$==========$====*!!;;::::~::::::;;;!!***=====$$=============$$$$$====$$==**!;;:::::::~~:::::::::::::;;;!!**======$$$$$$$$$$$$$$$$$===****!!!;;:::::;;!!***===**!;:~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------~~~~~::::::::::::::::::::::
--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------,,,,,,,,,,,,,,,,,---------------------~~~----~~:;*=================$$$===============$$$====**!!!;;:::::;;;;;!!!***=============$========$$$$===$$$$==*!!;;;::::::::::::::::::::;;!!**=======$$$$$$$$$$$$$$$$$===***!!!;;;:::::;;;!!****==**!;~~-,,,,,,,,,,,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------~~~~~:::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------,,,,,,,,,,,,,,------------~~~~~~------------~:;!*=======$$$$$======================$$$======***!!;;;;;;;!!!!****=============$$$$$$$====$$$$===$$$$==**!!;;;;:::::::::~::::::::;!!**========$$$====$$$$$$$$$$$===**!!;;;;:::::::;;!!***==**!;:~--,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------~~~~~:::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------,,,,,,,,,,,,,------------~~~~~~~~-----------~:!*=$======$$$$$=====================$$$$========***!!!!!!!*****===============$$$$$$$$====$$$$$=$$$$$===**!!!;;;;:::::::::::::::;;!**====$$==$$$$=====$$$$$$$$$$$==**!!;;;;:::::::;;!!!**==***;:~--,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------~~~~~:::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------,,,,,,,,,,,,,----------~~~~~~~~~~----------~:;**========$$$$$====================$$$$$==========***********================$$$$$$$$=====$$$$$$$$$$=====****!!!;;;;;;;;;;;;;;;;!!**=====$$$$$$$$====$$$$$$$$$$$$$==**!!;;;::::::::;;!!***=***;:~--,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------~~~~~::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------,,,,,,,,,,,,,--------~~~~~~~~~~~---,,---,-~~;!*==========$$$$===================$$$$$$=====================================$$$$$$$$=====$$$$$$$$$=========****!!!;;;;;;;;!!!!!***=======$$$$$$$====$$$$$$$$$$$$$$==**!!;;:::::::::;;!!**=***;:~~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------~~~~~:::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------,,,,,,,,,,,,,------~~~~~~~~~~~~---,,,-----~:;*===========$$$$$=================$$$$$$=====================================$$$$$$$$======$$$$$$$$$===========****!!!!!!!!!!!****=========$$$$$$$=====$$$$$$$$$$$$$$==**!!;;::::::::;;!!**=***;:~~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------~~~~~::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------,,,,,,,,,,,,,,-----~~~~~~~~--------,,,,---~:;!*===========$$$$$=================$$$$$=========================$$==========$$=$$$$==========$$$$$$$============****************===========$$$$$$$$=====$$$$$$$$$$$$$$==**!!;;;::::::;;!!**=**!;:~--,,,,,,,,,,,..,,,,,,,,,,,,,,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------~~~~::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,---,,,,,,,,,,-------------,,,,,,,,,,,,,,------~~~~~~----------,,,,---~;!*============$$$$$===============$$$$$===========================$$=========$$$================$$$$$$========================================$$$$$$$======$$$$$$$$$$$$$$$==**!;;;;::::;;!**==**!;:~--,,,,,,,,....,,,,,,,,,,,,,,,--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------~~~~:::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,----,,,,,,,,,,-------------,,,,,,,,,,,,,,-----------------------,,,--~:;**============$$$$================$$==============================$$=========$$=================$$$$$$$=======================================$$$$$$========$$$$$$$$$$$$$$$==**!!!;;;;;;!***==**!;:~-,,,,,,,,....,,,,,,,,,,,,,,,---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------~~~~~~~~~~::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,----,,,,,,,,,--------------,,,,,,,,,,,,,-------------------------,,-~:;!*=============$$$===============$$$===============================$=$$$=====$$==================$$$$$$$$======================================$$$$$==========$$$$$$$$$$$$$$$===***!!!!!!**====**!;:~-,,,,,,,,...,,,,,,,,,,,,,,,,,--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------~~~~~~~~~~~~~~:::::::
,,,,,,,,,,,,,,,,,,,,,,-----,,,,,,,,,---------------,,,,,,,,,,,,----------------,,,,,,------~;!*==============$$====================================================$$$$$=$$$========$$$========$$$$$$$$$=====================================$$$$==============$$$$$$$$$$$$$$====******=======*!;:~-,,,,,,,,..,,,,,,,,,,,,,,,,,,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------~~~~~~~~~~~~~~::::::
,,,,,,,,,,,,,,,,,,,,,------,,,,,,,,,---------------,,,,,,,,,,,,----------------,,,,,------~:;**==============$======================================================$$$$$$$=====================$$$$$$$$=====================================$$$================$$$$$$$$$$$$$$===========$$$==*!;:~-,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------~~~~~~~~~~~~~::::::
,,,,,,,,,,,,,,,,,,,,,------,,,,,,,,,,---------------,,,,,,,,,,,,------,,,,----,,,,,,-----~~;!*=========================================================$=============$$$$=======================$$$$$$$$$==============================$$$$$===$=================$$$$$$$$$$$$$$$$$$==$$$$$$$$==*!:~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------------~~~~~~~~::::::
,,-----,,,,,,,,,,,,,,,,,--,,,,,,,,,,,,,,,,----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---,--~:!*==========================================================$============$$$$$=======================$$$$$$$$$==============================$$$$======$================$$$$$$$$$$$$$$$$$$$$$$$$$$$==*!;:~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------~~~~~~::::::
--------,,,,,,,,,,,,,,,,---,,,,,,,,,,,,,,,----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----~:;!*====================================================================$==$$$$=====================$$$=====$$$$============================================================$$$$$$$$$$$$$$$$$$$$$$$$$=*!;:~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------------~~~~~~:::::
---------,,,,,,,,,,,,,,-----,,,,,,,,,,---------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----:;!*=====================================================================$==========================$$$$======$$==============================================================$$$$$$$$$$$$$$$$$$$$$$$$==*!;~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---,,-------------------~~~~~~~~~~
-----------,,,,,,,,,,,,------,,,,,,,,----------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---~:!*==$===============================================================================================$$=======================================================================$$$$$$$$$$$$$$$$$$$$$$$$==*!;:~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------,,----,,------~~~~~~~~~
------------,,,,,,,,,,,,,---,,,,,,,,,-------,------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--~~;!*==$=========================================================================================================================================================================$$$$$$$$$$$$$$$$$$$$$$$$==*!:~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------------,,,----,,,,,-----~~~~~~~~
-------------,,,,,,,,,,,,,,,,,,,,,,,,------,,,,--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--~:!*==============$$$=============================================================================================================================================================$$$$$$$$$$$$$$$$$$$$$$$==*!;:~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------,,-----,,,,,------~~~~~~~
--------------,,,,,,,,,,,,,,,,,,,,,,-------,,,,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-~:;!===============$$$=============================================================================================================================================================$$$$$$$$$$$$$$$$$$$$$$$===*;:~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--,,,,,,,,,,,,,,,,,,,,,,,,,----------------------,,-----,,,,,,--------~---
--------------,,,,,,,,,,,,,,,,,,,,,-------,,,,,---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-~:!*================$==================================================================================================================================================================$$$$$$$$$$$$$$$$$$$===*!;:~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,,,,,,,,,,,,,,,,,,,,,-----------------------,-------,,,,,------------
-----~~~~-----,,,,,,,,,,,,,,,,,,,,-------,,,,,-----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--:;!*======================================================================================================================================================================================$$$$$$$$$$$$$$$$===*!;:~-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------------------,-------,,,,,,-----------
---~~~~~~------,,,,,,,,,,,,,,,,,,,--------,,,,-----,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-~:!*========================================================================================================================================================================================$$$$$$$$$$$$$$$===**!;~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------------------,,,,,,,----------
--~~~~~~~~-----,,,,,,,,,,,,,,,,,,,-----------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-~~;!*==============================================================================================================================================================================================$$$$$$$$$====*!;:--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------------------------------,,,,,,,,,,--------
--~~~~~~~~-----,,,,,,,,,,,,,,,,,,,----------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-~:;*=============================================================================================================================================================================================$$$$$$$$$$$====**;:~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------------------,,-----,,,,,,,,,,,-------
~~~~~~~~~~-----,,,,,,,,,,,,,,,,,,,-----------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~:;!*=============================================================================================================================================================================================$$$$$$$$$$======*!;~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---,,,,,,,,,,,,,,,,,-------------------------,,,,---,,,,,,,,,,,-------
~~~~~~~~~~-----,,,,,,,,,,,,,,,,,,,------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,--~;!**=============================================================================================================================================================================================$$$$$$$$$$======*!;:~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------,,,,,,,,,,,,,,,,-----------------------,,,,,,,,,,,,,,,,,,,------
~~~~~~~~~~------,,,,,,,,,,,,,,,,,,------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,---:;**==============================================================================================================================================================================================$$$$$$$$$$=======*!:~~----,,,,,,,,,,,,,,,,,,,,,,,,,,,---------,,,,,,,,,,,,,,,,,--------------------,,,,,,,,,,,,,,,,,,,------
~~~~~~~~~~------,,,,,,,,,,,,,,,,,,,------------------,,,,,,,,,,,,,,,,,,,,,,--,,--~:!**==============================================================================================================================================================================================$$$$$$$$$$=======*!;:~----,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------,,,,,,,,,,,,,,,,,,,,-----------------,,,,,,,,,,,,,,,,,,,,,-----
~~~~~~~~~~------,,,,,,,,,,,,,,,,,,,------------------,,,,,,,,,,,,,,,,,,,,,,,--,-~:;!*===============================================================================================================================================================================================$$$$$$$$$$$======*!;:~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----,,,,,-,,,,,,,,,,,,,,,,----------------,,,,,,,,,,,,,,,,,,,,,-----
~~~~~~~~~-------,,,,,,,,,,,,,,,,,,,------------------,,,,,,,,,,,,,,,,,,,,,,,,---~:;*===========================**===================================================================================================================================================================$$$$$$$$$$$$$=====*!;:~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,,,,,,,,,,,,,----------------,,,,,,,,,,,,,,,,,,,,,-----
~~~~~~~~--------,,,,,,,,,,,,,,,,,,,------------------,,,,,,,,,,,,,,,,,,,,,,,,--~:;!*=================================================================================================================================================================================================$$$$$$$$$$$$$====*!;:~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------,,,,,,,,,,,,,,,,,,,,,,----
----------------,,,,,,,,,,,,,,,,,,-------------------,,,,,,,,,,,,,,,,,,,,,,,,--~:!!*=================================================================================================================================================================================================$$$$$$$$$$$$$====**!;::~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------,,,,,,,,,,,,,,,,,,,,,,,,,,,---
----------------,,,,,,,,,,,,,,,,,,----------,,,,,,,--,,,,,,,,,,,,,,,,,,,,,,,,--:;!**==================================================================================================================================================================================================$$$$$$$$$$$$=====**!;:~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---
-----------------,,,,,,,,,,,,,,,,-------------,,,,,,-,,,,,,,,,,,,,,,,,,,,,,,,-~:!***==================================================================================================================================================================================================$$$$$$$$$$$$$$====*!;;:~~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---
-----------------,,,,,,,,,,,,,,,,--------------,,,,,-,,,,,,,,,,,,,,,,,,,,,,,-~~;!**===========================*========================================================================================================================================================================$$$$$$$$$$$$$$====*!!;::~~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---
------------------,,,,----,,,,,,,---------------,,,,--,,,,,,,,,,,,,,,,,,,,,,-~:;*============================***=======================================================================================================================================================================$$$$$$$$$$$$$$$$$=**!!;;::~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------,,,,,,,,,,,,,,,,,,,,,,,-----,,,,,,,---
------------------,,,-----,,,,,,----------------,,,,--------,,,,,,,,,,,,,,,,-~;!*=============================**=======================================================================================================================================================================$$$$$$$$$$$$$$$$$=**!!;;;:::~~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------,,,,,,,,,,,,,,,,,,,,,--------,,,,----
--------------------------,,,,,------------------,,,---------,,,,,,,,,,,,,--~:;!*==============================**=======================================================================================================================================================================$$$$$$$$$$$$$$$$=**!;;;;;;;::~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,,,,,,,,,,,,,-----,,,,,,,,,,,,,,,,,,,,-----------------
------------~~-------------,,--------------------,,----------,,,,,,,,,,,,,--~;!**============================*****=========================================================================================================================**==========*================================$$$$$$$$$$$$$$$$=**!;;;;;;;;;:~~---,,,,,,,,,,,,,,,,,,,,,,,,,,---,,,,,,,,,,,,,,------,,,,,,,,,------,,,------------------
-----------~~~-------------,--------------------------------,,,,,,,,,,,,,,--:;!**========*==============**********==========================================================================================================================****=====*****====================**=========$$$$$$$$$$$$$$$=**!;::::;;;;;::~~~----,,,,,,,,,,,,,,,,,,,,,,-,,,,,,,,,,,,,,,,,------,,,,,,,,------------------------,,,
----------~~~~~---------------------------------------------,,,,,,,,,,,,,,-~:;***=======***===**=======***!!*****====================================================================================================================************=*********==================****========$$$$$$$$$$$$$$$=**!;:::::;;;!;;;:~~----,,,,,,,,,,,,,,,,,,,,,-,,,,,,,,,,,,,,,,,,-----,,,,,,,-------------------------,,,
---------~~~~~~~-------------------------------------------,,,,,,,,,,,,,,,-~;!**========****=****=====***!!!!!!**==========*********==**================================*========================================================*****************************=============*******========$$$$$$$$$$$$$$==*!;::~~:;;;!!!;;::~~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----,,,,,,-------------------------,,,,
---------~~~~~~~~-----------------------------------------,,,,,,,,,,,,,,,-~:;!**========*********=====**!;;:;;!!*=========****************=============================*****====*****=========================================**********************************==========********========$$$$$$$$$$$$$$==*!;::~~~::;;;;;;;;::~~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---,,,,,,,-------------------------,,,,
---------~~~~~~~~~---------------------------------------,,,,,,,,,,,,,,,,-~:;**=========*********=====*!!;:~::;!**========*********************==****=================*******=**********===============================******************************************========**********========$$$$$$$$$$$$$$==*!::~~~~~:::;;!!!;;:~~---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------------------,,,,,
--------~~~~~~~~~~----------------------------,,---------,,,,,,,,,,,,,,,,-~;!*=========**********=====*!;:~~::;!**=======**************************************=======********************============================********************************************=====*************=======$$$$$$$$$$$$$$==*!;:~~---~~~:;;;;;;;:~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------------------,,,,,
--------~~~~~~~~~~~~--------------------------,,--------,,,,,,,,,,,,,,,,,-:;!*========***********====**!;:~~::;!**=======***************************************=====***********************=========================**********************************************==****************=======$$$$$$$$$$$$$$=*!;:~-------~~~::;;;:::~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------------------,,,,,
~~------~~~~~~~~~~~~~-------------------------,,,------,,,,,,,,,,,,,,,,,-~:!**========***********====**!;:~~:;;!***======****************************************===***********************===========================****************************************************************======$$$$$$$$$$$$$$$=*!:~---,,,,,--~~:;;;;;:~--,,,,,,,,,,,,,,,,,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------------------,,,,,
~~~~----~~~~~~~~~~~~~~-------------------------,,-----,,,,,,,,,,,,,,,,,--~;!**=======************====**!!;:::;!!**========****************************************=*************************============================**************************************************************======$$$$$$$$$$$$$$$=*!;~--,,,..,,,--~::;;;:~~--,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------------------------,,,
~~~~~~~~~~~~~~~~~~~~~~~------------------------,,,,,,,,,,,,,,,,,,,,,,,,--~;!**=======*************==****!!;;;!!**=========**************************************************************=****====================**======********************************************====**************=====$$$$$$$$$$$$$$$=*!;~--,.......,,--~::;;::~--,,,,,,,,,,,,,,,,,,,-,,,,,,,,,,,,,,,,,,,,,,,,----------------------------
~~~~~~~~~~~~~~~~~~~~~~~~------------------------,,,,,,,,,,,,,,,,,,,,,,,-~:;**=======**************=******!!!!!***=========*************************************************************===****==================***======********************************************====**************======$$$$$$$$$$$$$$=**;~-,,...   ....,-~:;;;;:~--,,,,,,,,,,,,,,,,,-----,,,,,,,,,,-,,,,,,,,,,,---------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------,,,,,,,,,,,,,,,,,,,,,,,-~:!**=======**********************!!!****=========*************************************************************===*****===**********=============*******************************************====***************======$$$$$$$$$$$$$$==*;:--,..     ...,,-~::;;:~~--,,,,,,,,,,,,,,,,,----,,,,,,,,,,-,,,,,,,,,,--------------------~~------
~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------,,,,,,,,,,,,,,,,,,,,,,,-~;!*========*****************************========***************************************************************==******=****!!!!!*****=========********************************************====**************========$$$$$$$$$$$$$$=*!:~-,..      ....,-~~:;::~~------,,,,,,,,,,,,----,,,,,,,,,,-,,,,,,,,--------------------~~~~~-----
::~~~~~~~~~~~~~~~~~~~~~~~~~---------------------,,,,,,,,,,,,,,,,,,,,,,--:;!*=========*****************************=======****************************************************=====******===*****=***!!;;;;!!***========********************************************====***************========$$$$$$$$$$$$$$==!;~-,..      .....,,~:;;;:~------,,,,,,,,,,,,,---,,,,,,,,,,-,,,,,,,--------------------~~~~~~~----
::~~~~~~~~~~~~~~~~~~~~~~~~~--------------------,,,,,,,,,,,,,,,,,,,,,,,-~:;!*======*************=*********************====**====***********************************************====******=******==**!;::~~~:;!!**======**********************************************==*****************=======$$$$$$$$$$$$$$==*;:-,...     .......-~::;;:~------,,,,,,,,,,,,-----,,,,,,---,,,,,,,-------------------~~~~~~~~----
::~~~~~~~~~~~~~~~~~~~~~~~~~-------------------,,,,,,,,,,,,,,,,,,,,,,,,-~:;!*======************===*********************==**======***********************************************====************==*!;:~----~:;!***===********************************************************************======$$$$$$$$$$$$$$==*;:~-...         ...,--~;;:~~------,,,,,,,,,,,,------,,-----,,,,,,,------------------~~~~~~~~~----
:::~~~~~~~~~~~~~~~~~~~~~~~~--------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,--~;!**=====*************====*****************!******======**************************************=********==========******==*!:~-,...,-:;!**==*********************************************************************=======$$$$$$$$$$$$$==*!;~-,..            .,,~:;;:~~-----,,,,,,,,,,,,-------------,,,,,,,-----------------~~~~~~~~~~--,,
:::~~~~~~~~~~~~~~~~~~~~~~~~--------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,--:;!*======*************====**************!!!!!****======***************************************=*******===========******==*!:~-....,,-:;!**==********************************************************************=======$$$$$$$$$$$$$==*!;:-,,..           ..,-:;;::~------,,,,,,,,,,,------------,,,,,,,,-----------------~~~~~~~~~~--,,
::::~~~~~~~~~~~~~~~~~~~~~~~--------------,,,,,,,,,,,,,,,,,,,,,,,,,,,--~:;!*======*************===**************!!!!!!****=====****************************************==****==============***====*;:~-......,~:!**=======**************************************************************========$$$$$$$$$$$$$$=*!;:~-,..             .-:;;;:~-------,,,,,,,,,,------------,,,,,,,,-----------------~~~~~~~~----,,
:::::~~~~~~~~~~~~~--~~~~~~~---------------,,,,,,,,,,,,,,,,,,,,,,,,,,--~:;!*=====*************====**************!!!!!!****====***!!!***********************************==***====*******=====*=====*;:~-.......-:;!*========***************************************====*********************=====$$$$$$$$$$$$$$=*!;:~-,,..             ,~:;;;:-------,,,,,,,,,,------------,,,,,,,----,,------------~~~~~~~----,,,
:::::~~~~~~~~~~~~-------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,--~:!**====******************===************!!!!!***==***!;;;;;;!**********************************=======**!!!!!!****=======*!;:-,.... .,~;!**======********************************************************************==$$$$$$$$$$$$$==*!;::~-,..             ,-~:;;:~------,,,,,,,,,,-----------------------,,,-------------~~~-----,,,,
:::::~~~~~~~~~~~~--------------------------,,,,,,,,,,,,,,,,,,,,,,,,,-~~;!**===*******************===************!!!***====*!!;:~~~~:;!**********************************=====**!!;;;;;!!**=======**!:~,,..   ,~:;***====****************************************************************!!!**==$$$$$$$$$$$$$==*!;;:~--,..            .,-:;;:~-----,,,,,,,,,-------------------------,,,--------------------,,,,,
::::::~~~~~~~~~~---------------------------,,,,,,,,,,,,,,,,,,,,,,,,,-~:;!**===****************=**===******************==**!;:~~--,-~;;!***=*****************************=====*!;;:~~::;!**========*!;:--,....,~:;**=====***************************************************************!;;;!**=$$$$$$$$$$$$==**!;;::~-,,..           .,-~;;:~~----,,,,,,,,,,,,,,---------------------,,-------------------,,,,,.
:::::~~~~~~~~~~~---------------------------,,,,,,,,,,,,,,,,,,,,,,,,--~:;!*====*************========*********************!!;:~-,,,,,-:;!***=*****************************====**;:~~---~:;!**=======**!;:~---,,-~;!*=======************************************************************!!;;:;!!*=$$$$$$$$$$$$=**!!;;::~~-,,..     .......,~:;;::~---,,,,,,,,,,,,,,,-----------------------------------------,,,,,,
:::::~~~~~~~~~~----------------------------,,,,,,,,,,,,,,,,,,,,,,,,--~:;!*====************=======******************=***!;:~-,,.....-~;!***==****************************===**!;~-,,,,,~:;!*=========*!;;:~~~~~:;!*========******************************************==**************!!;;:~:;!*=$$$$$$$$$$$$=*!!;;;::~~--,,.     ........-:;;;:~---,,,,,,,,,,,,,,,,,----------------------------------------,,,,,
:::~~~~~~~~~~~~----------------------------,,,,,,,,,,,,,,,,,,,,,,,,--~:;**====*************======*****************===**!;:~-,...  .,~:;***==***************************====**;:~-,....-~;!**========**!!;;;::;;!**====******==**************************************==**************!!!;:~:;!*=$$$$$$$$$$$$=*!!;;;::~~~--,,..  ..,......-:;;;;:~--,,,,,,,,,,,,,,,,,----------------------------------------,,,,,
~~~~~~~~~~~~~~-----------------------------,,,,,,,,,,,,,,,,,,,,,,,,-~:;!**====****************===****=************==***!;~-,,.... .,~:;***=***************************=====*!;:-,,....-~:;***=======****!!!!;!!************====******************************************************!!!;;;!**==$$$$$$$$$$$=**!;;:::~~~~--,,.. ..,......,~:;;;:~--,,,,,,,,,,,,,,,,,,---------------------------------------,,,,,
~~~~~~~~~~~~~------------------------------,,,,,,,,,,,,,,,,,,,,,,,,-~:;!**====*****************==***==***********===***!:~-,..... .,~:;***=**************************=====**!;~-,.....,~:;!***===========***********!!!!***=====*******************************************************!!!!**====$$$$$$$$$===*!;;::~~~~~~--,,. ..,,,,...,-~:;;:~~-,,,,,,,,,,,,,,,,,,---------------------------------------,,,,,
~~~~~~~~~~~-------------,,,,-----------------,,,,,,,,,,,,,,,,,,,,,,-~:;!**===************!!!!!*****===************==***!;~-,.......,~:;***=**************************=====*!;:~,,.....,~:;!**===============****!!;;;;;;;!***==*****************************===******=******************!!***======$$$$$$$$===*!;::~~~~~~~--,............,-:;;;:~-,,,,,,,,,,,,,,,,,,---------------------------------------,,,,,
~~~~~~~~~~------------,,,,,,-------------------,,,,,,,,,,,,,,,,,--,-~:;!*====***********!;;;;;!**=====*************=***!;:~-,,.....,~:;******************************=====*!;~-,......,~:;***===============***!;:~~~~~~:;!!*=******************************===******==*********************=========$$$$$$===**!;:~~~~~~~---,............,~;;;;:~-,,,,,,,,,,,,,,,,,----------------------------------------,,,,
--~~~~~~-----------,,,,,,,,,--------------------,,,,,,,,,,,,,,,,,,,-~:;!*====***==******!:::::!**=====**!!!!*******====*!;:-,,.....,~:;******************************=====*;:~-.......,~:;**================**!;:-,,,,,-~:;!**********=*********************===*****=====*****************=============$$$$$$==*!;:~~~~~~~~~-,,,....... ..,-:;;;:~--,,,,,,,,,,,,,,,,--------------------------------------------
------------------,,,,,,,,,,---------------------------,,,,,,,,,,,,-~:;!*=====*===*****!;~~~~:!**====**!;;;;!!****=====*!;:-,,.....,-:;***==************************=====*!;~-,.......,-:;!**==============**!;:~,,...,,-~:;!****************************************=********************======***====$$$$$$$==*!:~~~~~~~~~--,,.......   .-~:;;;~---,,,,,,,,,,,,,,---------------------------------------------
-----------------,,,,,,,,,,,-----------------------------,,,,,,,,,,-~;!**=========*****!:~--~:;**===**!;::::;!***======*!;:-,,.....,-~;***===************====******=====*!;:~-,.......,-~:!***=============**;:-,.......,-:;!*******************************!!!!!*************************===****!**===$$$$$$$==*!;:~~~~~~~----,......    .,~:;;;:~----------,,,,,,---------------------------------------------
-----------------,,,,,,,,,,,-------------------------------,,,,,,,,-~;!*===========****!:-,-~:;***=**!;~---~:;!**======*!;:-,,.....,-~;!**===***********=====******=====*!:~-,,,.......,-:;!**============**!:-,.. .....,-~:!******************************!!;;;!!***********************===**!!!!!**==$$$$$$$==*!;:~~~~~~~----,...       .,-~:;;:~~----------,,,,----------------------------------------------
----------------,,,,,,,,,,,,--------~~~--------------------,,,,,,,,-~;!*=============**!:-,-~:!*****!;:~---~:;!**======*!;~-,......,,~:!!*===========**=====***********!;:~-,,,........,-~:;;!*****=======**!:-,..  ....,-~;!******************************!;::::;!**********************==***!!;;!**==$$$$$$$$==!;:~~~~~~-----,,...       .,-:;;::~---------,,,,,----------------------------------------------
-----------------,,,,,,,,,,,-------~~~~--------------------,,,,,,,--:;!*=============**!:--~~;!****!;:~-,,-~:;!*======*!;:~,........,-~;!!**==============********!!!!;;:~--,..........,,-~~:;!!****======*!;~-...   ...,-:;!*****************************!;:~~-~:!!********************===**!!;;;;!*==$$$$$$$$==!;:~~~~~~-----,,,..       .,-~;;;::~--------,,,,,,---------------------------------------------
-----------------,,,,,,,,,,,------~~~~---------------------,,,,,,,--:;!*========**===**!:~-~:;!****;:~-,.,,-:;!*=====**!;~-,........,,~:;!***============******!!!!;;::~~-,,............,,,-~:;;!!****=***!!;~,...    ..,-:;!***==************************!;:~-,-:;!********************===**!;;;;!!*==$$$$$$$$==!;:~~~~~~-----,,,..       ..,~;;;;:~-------,,,,,,,,,----------------------------------,------,,
-----------------,,,,,,,,,,,-------~~~-------------------,,,,,,,,,--:;!*=======********!;~~:;;!**!!:~-,..,,-~;!!*****!;:~-,,.........,-~:;;!!**************!!!;;;:::~~~--,,,.............,,,-~~::;;!!!!!!!;:~-,.........,-:;!***==************************!;:~~-~:!!********************====**!!!!!*===$$$$$$$===!;:~~~~~~-----,,,..       ..,~:;;;:~----,,,,,,,,,,,,,---------------------------------,------,,
-----------------,,,,,,,,,,,-------~~-------------------,,,,,,,,,,-~:;!*=======*********;::;;!***!;:-,....,-~:;!****!;:~-,,...........,--~:;;!!!!*******!!!;;;::~~---,,,,,.................,,---~~:;;;;;;;:~-,..........,-~;!**===*************************!;:~~:;!!********************=====******==$$$$========*;:~~~~~~--,,,,,,..        .,-:;;;:~----,,,,,,,,,,,,,,-------------------------------,,------,,
-----------------,,,,,,,,,,,--------------------,,,----,,,,,,,,,,--~:;**=======*********!;;!!***!;:~,.....,,-~:;!!!!;:~-,.............,,,-~~::;;;!!*!!!!!;;::~~--,,,.........................,,,,-~~::::::~-,,...,,,,,..,-~:!**===*************************!;;:::;!*********************======**====$$$$==**=====*;::~~~~~--,,,,,...         .-~:;;:~----,,,,,,,,,,,,,,----------------------------,,-,,------,,
----------------,,,,,,,,,,,---------------------,,,,,--,,,,,,,,,,--~:!**=======*********!!!!****!;~-,......,,-~:::::~~-,,..............,,---~~~~::;;;;;:::~~~--,,,.............................,,,---~~~~--,.,,,--~~~-,,,--:;!**==*************************!!!;;;!*********************====**=====$$$$===*!!!****!;::~~~~~---,,,...      ..  .-~:;;:~----,,,,,,,,,,,,,----------------------------,,,--,------,,
----------------,,,,,,,,,,,--------------------,,,,,,,,,,,,,,,,,,--~:!**=======*****************!:-,........,,--~~~--,,,................,,,,,,---~~~~~~~----,,,,..................................,,,,--,,,...,-~::::~-,,--~;!!*==**************************!!!!!*********************====***===$$$$$===*!;;;!!**!;::~~~~~---,,...        .  .,-~:;:~~---,,,,,,,,,,,,--------------------------,,,,,,---------,,
----------------,,,,,,,,,,---------------------,,,,,,,,,,,,,,,,,,--~;!**=======*************=***!:-,,........,,-----,,.........................,,-------,,,,,.......................................,,,,,,.. .,~:;!!!;~---,~:;!*******************************************************=*******==$$$$$==*!;::;;!!*!;::~~~~~~--,...         .  .,-~:;:~~---,,,,,,,,,,,,-------------------------,,,,,,,---------,,
----------------,,,,,,,,-----------------------,,,-,,,,,,,,,,,,,,--~;!*======*******************!;~-,.......,,,-----,,...........................,,,,,,,,,....,,,,....................................,,,,...,-~:!***!;~~-,-~:;!***=====********!!!***************=**********************!!!!**==$$$$==*!;:::;;!!;;::~~~~~~--,..             .,,~:;::~---,,,,,,,,,,,---------------------------,,,,,,---------,,
----------------,,,,,,,-------------------------,---,,-,,,,,,,,,,--~;!*======*******************!;:~-,......,,--~~~--,........................................,,,,,......................................,.. ,-~;**==*!;~-,--~:;!**=========**!!!!!!************===*****!!!!************!;;;;!*==$$$$=**!:~:::;;!;;:~~~~~~~~-,..             ..,-~;::~~---,,,,,,,,,,---------------------------,,,,,,-----------
----------------,,,,,----------------------------------,,,,,,,,,,--~;!*=====*********************!;:~-,....,,-~~::~~-,,.....................................,,,----,,,.......................................,-~;!*===*!:-,,--~:;!***=======*!!;;:;;!!*********====**!!;;;;;!**********!;::::;**=$$$$=**!;~:::;;;;::~~~~~~~~-,,.             ..,-~;::~~---,,,,,,,,,,----------------------------,,,,------------
-----------------,,,---------------------------,--------,,,,,,,,,--~;!*=====*********************!!;:~-,..,,-~:;;;::~-,,............................,,,,,,,,,--~~~~--,,,,,....................................,-:!*===*!;~,,,,-~:;!**======**!;:~~~:;!!*******===***!;;:::::;!****==**!;:~~~~;!*=$$$$==*!;::::;;;;::~~~~~~~~-,,.              ..-~;::~~----,,,,,,,,,--------------------------------------------
-----------------,,,--------------------------,,--------,,,,,,,,,,-~;!*=====***********************!;:-,.,,-~;!!**!;~-,,...........................,,,,------~~::::~~--,,,,,,................,,...............,-:;**==**;~,,,.,-~:;!*======*!;:~-,-~:;!*******===**!;:~~--~~;!***===**!:~,--~:!*==$$$==*!;::::;;;;:~~~~~~~~~-,,..             ..-~;:::~----,,,,,,,,,--------------------------------------------
-------,---------,,,--------------------------,,,--------,,,,,,,,,-~;!*=====*******************=***!;;~-,,--:;!***!;~-,,..................,,,,,,,,---~~~~~~~:::;;;;;::~~~-----,,,,,,,.........................,-~;!****!;~,,..,,-~;!!*******!;~-,,--~;!******===***;:~--,--~:!***===*!!:~,--~:!*==$$$$==*!;:::;;;;:~~~~~~~~~-,,..             ..-~;:::~---,,,,,,,,,,--------------------------------------------
------,,,---------,--------------------------,,,,--------,,,,,,,,,-~;!*=====*****************====***!;:-,--~:!***!;:~-,,........,,,,.....,,,-----~~:::;;;;;;;!!!!*!!!;;;::::~~~----,,,,,.......................,-:;!!!!;:~,,...,,-:;;!****!!;:~-,.,-~;!******===**!;:--,.,,-:;!**===*!!:~,--~;!===$$$$==*!;;::;;;;:~~~~~~~---,,..             ..-~;;::~---,,,,,,,,,,--------------------------------------------
----,,,,,-----------------------------------,,,,,--------,,,,,,,,,-~;!*=====****************=======**!:~,--~;!***!;:~-,,.......,,,,,,...,,---~~~::;;!!!*********==*****!!!!;;:::~~----,,,......................,-~::;;;;~-,,....,-~::;!!!!;;:~-,..,-~;!******===**!:~,,. .,-~;!**===*!!:~,-~~;*===$$$$$==*;;:::;;::~~~~~~~---,...             ..-~;;::~---,,,,,,,,,,--------------------------------------------
---,,,,,,--------,,------------------------,,,,,,---------,,,,,,,,-~;!*=====*******************====**!:~,--~:!!!!;:~-,,,.......,,--------~~~:::;;;;;!!!!!!!!!!!*****!!!!!!;;;;;:::::~~~--,,,,,,,,...............,-~~:::~--,......,-~~:::;:::~-,,..,-~;!******===**!;~-,. .,-:;***===**!:~,-~:;*==$$$$$$==*!;;:;;;::~~~~~----,,..              ..-~;;::~---,,,,,,,,,,,----------------------------------------,,,
,,,,,,,,,,-----,,,,,-----------------------,,,,,,---------,,,,,,,,-~;!**====*******************====**!:~,---:;;;::~-,,,........,,-~~~~~~~:;;;!!!!!!!;;;!!!!!!;;!!!!!!;;;;;;;;;;;;;;;;;:~~------,,,,.............,,-------,,......,,--~~~~~~--,,...,~:;!*****=====**;~-,...,-:!**====**!;~-~~:!*==$$$$$===*!;;;;;;::~~~~~---,,...              ..-~;:::~--,,,,,,,,,,,,---------------------------------------,,,,
,,,,,,,,,,,,,,,,,,,,----------------------,,,,,,,---------,,,,,,,,-~;!**====*******************====**!:~,,--~:::~--,,,.........,-~~:::::;!!!*****!!!;;;;;;;;;;:;;;;;;;;;;;;;;;!!!!**!!;;:~~--~----,...............,,,,,,,.........,,,,,---,,,.....-~:;*****======**;~-,..,-~:!**====**!;~-~:;!*=$$$$$$===*!!;;;;;:::~~~---,,....              ..-~;:::~--,,,,,,,,,,,,--------------------------------------,,,,,
,,,,,,,,,,,,,,,,,,,,----------------------,,,,,,,----------,,,,,,,-~:!*=====************!!!!!**====*!;:-,,,,-~~~--,,,..........,-::;;;;;!!!!!!!!;;:::~~~~~~~~~~~~~~~~~~~~~~::::;;;!!!!;;;:::::::~~-,...............,,,,,,..........,,,,,--,,,,....-~:;!***=======*!;~-,..,-~:!**====**!;~-~~:!*=$$$$$===**!!!!!;;::~~~~---,,...               ..-~;::~~--,,,,,,,,,,,,,--------------------------------------,,,,
----,,,,,,,,,,,,,,,,-----------,----------,,,---,----------,,,,,,,-~:!*=====***********!!;:;;!*====*;:~-,,,,,--,,,,,..........,-~;;!!!!!!!!;;;;::~~~----------,,,,,,,--------~~:::;;;;;;;;;;;;;;;:-,,.................................,,----,,,...,-:;!***======**!;~-,..,-~:!**====**!:~--~:!*=$$$$$==***!!**!!;::~~~~---,,..                ..-~;::~~--,,,,,,,,,,,,,,---------------,,,-------------------,,,,
------,,,,,,,,,,,,,,----------,,----------,,---------------,,,,,,,-~:!*======**********!;:~::;!*===!;~-,.....,,..............,,-:;!*****!!;;:::~~--,,.....................,,,---~~~::;;;;!!!!*!!!;~-,,................................,,------,,..,-~:!***=====**!;:~,,..,-~:;!*====*!;:~--~:;*=$$$$==*********!;::~~~~~--,,..                .,-~;::~~--,,,,,,,,,,,,,,,-------------,,,,,------------------,,,,
------,,,,,,,,,,,,,,----------------------,,----,----------,,,,,,,-~:!*======********!;;~~-~:;!****;:~-,...................,,-~:;!***!!!;::~~~---,,,........................,,,,---~~~:::;;;!!!!!;:~--,,..............................,-~~::~~-,,.,--~:;!!****!!!;:~-,,..,,-~:;!****!;:~-,-~~;*======**!!*****!!;:~~~~~~--,,..                .,-~;:~~--,,,,,,,,,,,,,,,,,-----------,,,,,,,,----------------,,,,
-----,,,,,,,--,,,,,-----------------------,,---,,---------,,,,,,,--~:!**==========***!:~-,,-~:;!!!!:~-,...................,--~:;!***!!;::~---,,,,,.... .........................,,,,---~~:::;!!!*!;:~~-,,............................,,-::;;;:~-,.,,-~~:;;!!!!;;::~-,,....,,-~:;!!!!;:~-,,,-~;!*===***!!!*****!!;:~~~~~~~--,..               .,-~:;:~~--,,,,,,,,,,,,,,,,,,----------,,,,,,,,,---------------,,,,
----,,,,,,,,---,,-------------------------,,-,,,,,-------,,,,,,,,--~:!***=========**!;~-,,,,-~:;;;;~-,,..................,-~~:;!!**!;;:~--,,........      .....       ..............,,,--~~~:;;!*!!;::~--,,..........................,-~:;!!;:~-,.,,,--~:::;;;::~~-,,.....,,-~~:;;;;:~--,,,-~;!*****!!!;!!****!;;:~~~~~~~--,..               .,-~:;:~---,,,,,,,,,,,,,,,,,,-----------,,,,,,,,----------------,,,
,,,,,,,,,,,,---,-------------------------,,,,,,,,,,-----,,,,,,,,,,-~:;!*******====**!:~,,..,,-~:::~~-,.................,,-~:;;!!!!;;:~~-,,..........     .......     .................,,,,--~~:;;;;;;;::~--,.........................,-~;!!*!;:~,...,,---~~~:~~~--,,.....,,,-~~:;;;;:~~-,,--~:;!!!!!;;;;!!****!;::~~~~~~~--,,.               .,~~:;:~---,,,,,,,,,,,,,,,,,,------------,,,,--------------------,,
,,,,,,,,,,,,---,-------------------------,,,,,,,,,,,,--,,,,,,,,,,,-~:;!!!!****====*!;~-.....,,-~~---,,................,,-~:;!!!!;;:~--,,....   .....    ......... ........................,,,--~::;;;;!;::~-,.......,,...............,-~;!!*!;:~-.....,,,------,,,......,,,--~~:;;;::~~--,--~:;;;;;;;:;;;!****!;:~~~~-~~~~--,...             .-~:;;:~---,,,,,,,,,,,,,,,,,,--------------------------------------
,,,,,,,,,,,,-----------------------------,,,,,,,,,,,,,,,,,,,,,,,,,-~:;!;;;!***====*!;~,......,,---,,,................,,-~:;!!!!;::~-,,.....       ..  ..............................  .......,,-~~::;;!;;;:~-,......,................,-~;;!*!;:~,.......,,,,,,,,........,,---~~:::::::~~~--~~:::::::::::;!****!;:~~~---~~~--,...             .,~:;;:~---,,,,,,,,,,,,,,,,,,--------------------------------------
,,,,,,,,,,,,-----------------------------,,,,,,,,,,,,,,,,,,,,,,,,,-~:;;;:;!!**====*!;~,.......,,,,,,................,,-~:;!!!;::~-,,,.......     .......................   .......... ........,,,--~::;;;;;:~-,,.....................,,~:;;!;:~-,.........,,,,,........,,,----~~:::;;::::~~~~:::::::~:::;;!!!!;::~~~---~~~--,,..             .,-::;;:~--,,,,,,,,,,,,,,,,,,--------------------------------------
,,,,,,,,,,,,-----------------------------,,,,,,,,,,,,,,,,,,,,,,,,,-~:;;:~:;!**====*!;~,........,,...................,-~:;*!!!:~-,,...........   ........................ ........................,,--~:;;!!;;~-,,.....................,-~::;:~--,......................,,,-----~~~:;;;;;;;:::::~~~~~~~~::;!!!!;:~~~~---~~~--,,...            .,-~:;;:~~-,,,,,,,,,,,,,,,,,,--------------------------------------
,,,,,,,,,,,,-----------------------------,,,,,,,,,,,,,,,,,,,,,,,,,-~:;;:~:;!**====*!;~-,......................,,,,,,-~:;!*!;;~-,,.................................................................,,,-~:;;;;;:~~-,....................,--~~~~--,,......................,,,,------~~::;;;;;;::::~~~~~~~~~:;;;;;;:~~~~~--~~~~--,...            .,,~:;;::~---,,,,,,,,,,,,,,,---------------------------------------
,,,,,,,,,,,,,,----------------------------,,,,,,,,,,,,,,,,,,,,,,,,-~:;;:~:;!***===**!:~-,,...................,,,---~~:;!!!;:~-,... .................................................................,,,-~:;;!;;:~-,,...................,,----,,,.......................,,,,,,,,,---~~:::;;;;::::~~~~~~~~::;;;;;:~~~~~-~~~~~--,...             .,-~::::~~---,,,,,,,,,,,,,----------------------------------------
,,,,,,,,,,,,,,----------------------------,,,,,,,,,--,,,,,,,,,,,,,-~::;:~:;!***===**!;:~-,,,................,,,--~~:;!*!!!:~-,...  ......   .................................   .............. ........,-~:;!!!;:~-,....................,,,,,,.........................,,,,...,,,,---~~:;;;;;::::~~~~~~~:::;;;::~~~~~~~~~~~~-,,..             ..,-:::;:~----,,,,,,,,,-------------------------------------------
,,,,,,,,,,,,,-----------------------------,,,,,,,,----,,,,,,,,,,,,-~::;;:;;!***===***!;:~~-,,,...............,,-~~:;!!*!;;~-,,..   ......  ..................................................... .......,-~:;;!!;:~-,,,....................,............................,,......,,,,--~::;;;;;:::~~~~~~:::;;;;::~~~~~~~~~~~~-,,..              ..-~::;:~~-----,,,,-----------------------------------------~~~~~
,,,,,,,,,,,,------------------------------,,,,,,,-----,,,,,,,,,,,,--~:;;;;!****====***!;;:~~-,,...............,-~:;!***!:~-,...................................................................   .... ..,-~:;!!!;;~--,...................................................,,......,,,--~:;;;;;:::~~~~~::::;;;;::~~~~~~~~~~~~--,..               .,-~:;::~~-----,-----------------------------------------~~~~~~~
,,,,,,,,,,,,-----------------------------,,,,,,,,-----,,,,,,,,,,,,--~:;!!!*******====***!;;:~-,...............,-~;!****;:-,...............................................................  ...    ..   ..,-~:;!!!!;~-,...................................................,,........,,-~:;;;;;;:::~~~::::;;;;;::~~~~~~~~~~~~--,,.               ..,~:;;::~-----,-----------------------------------------~~~~~~~
,,,,,,,,,,,,-----------------------------,,,,,,,,------,,,,,,,,,,,,-~:;!!*****========***!;;:~,...............,-~;!**!!:~-,.....................................................................  ...   ...,-~:;;!!;:~-,,.................................................,,.....,,,-~~:;;;!!;;;:::~~::::;;;;::~~~~~~~~~~~~~--,,.           .   ..,-~;;;:~~---,,,---------------------------------------~~~~~~~~
,,,,,,,,,,,,-----------------------------,,,,,,,,,-----,,,,,,,,,,,,-~:;!***=**=========***!;:~-,..............,-:;!**!;~-,...........................................................................   ....,-~~;!!!;:~-,,................................................,.....,,--~:;;;!!!!!!;;:::~:::;;;;:::~~~~~~~~~~~~~~--,.           ..  ...,~::;;:~---,,,,,,-----------------------------------~~~~~::::
,,,,,,,,,,,,-----------------------------,,,,,,,,,-----,,,,,,,,,,,,,~:;!*=================*!;:-,..............,-:;!*!;~-,....................  ..................... ................................   ......,-:;!!!;:~-,...,..................................................,-~:;;!!!!****!!;;::~:::;;;;::~~~~~-~~~~~~~~~--,.           .......,-::;;:~---,,,,,,,,--------------------------------~~~~~:::::
,,,,,,,,,,,,-----------------------------,,,,,,,,,------,,,,,,,,,,,,~:;!*=======****======*!;:~,..............,~;;!!;:~-,............................................................................. .......,-~:;!!!;:~-,,,.................................................,,-~:;!!*********!!;;:::::;;;;::~~~~--~~~~~~~~~~-,..                 ,-~:;;:~~--,,,,,,,,,,-----------------------------~~~~~~:::::
,,,,,,,,,,,------------------------------,,,,,,,,,------,,,,,,,,,,,,-~;!**=====********===**!:~,,............,-~;!!!;~-,............... ..................................................... ................,,-~:;!!;;:~,,,................................................,-~:;;!**=========**!;;::::;;;;::~~~---~~~~~~~~~~~-,.                 .,-~:;::~--,,,,,,,,,,,,-------------------------~~~~~~:::::::
,,,,,,,,,,-------------------------------,,,,,,,,,------,,,,,,,,,,,,-~:;!*=====*********===*!;~,.............,-:!!!;:~,,...............   ................................................... .............  ..,-~:;!!!!;~-,,..............................,,,,.............,,-:;!!**===========**!;:::;;;;::~~~~~~~~~~~~~~:~~~-,..                .,-~:;::~--,,,,,,,,,,,,,----------------------~~~~~~~::::::::
,,,,,,,,,,--------------------------------,,,,,,,,------,,,,,,,,,,,,-~~;!**====*********===*!:~,............,,~:!!!;:-,................  .................................................... .................,--~:;;!!;:~-,.............................,,,,,,............,-~:!!*****==========**!;;;;;;;::~~~~~~~~~~~~~~:~~~-,...               ..,~:;;:~~-,,,,,,,,,,,,,---------------------~~~~~:::::::::::
,,,,,,,,,--------------,,,,---------------------,------,,,,,,,,,,,,,--~:!!*=====********===*!:~,............,-~;!!;;~-,................  .................................................... ..................,-~~:;;!!;:~-............................,,,--,,,...........-~:;!*********========*!!;;;;;;:~~~~~~~~~~~~:::::~~~-,..               ..,-:;;::~-,,,,,,,,,,,,,--------------------~~~~:::::::::::::
,,,,,,,,,------------,,,,,,,---------------------------,,,,,,,,,,,,,,--:;!**===*********==*!;:-,............,-~;!!;:~-..........................................................................................,--~~:;!!;;:-,,..........................,,----,,..........,-:;!****!!!****========*!!!;;;::~~~~~~~~~~~~:::::::~-,,.                .,-:;;;:~-,,,,,,,,,,,,,,------------------~~~~:::::::;;;;;;;
,,,,,,,,,,----------,,,,,,,,,-------------------------,,,,,,,,,,,,,,,,-~;!!****************!;~-.............,-:;!!;:-,..........................................................................................,---~~:;;;;:~-,,........................,,--~--,,.........,,~;!!**!!!!!!!***=======**!!!;;::~~~~~~~~~~~~:::~~~:~-,,..    ..         .,-:;;;:~-,,,,,,,,,,,,,,-----------------~~~~::::;;;;;;;;;;;
,,,,,,,,,,,---------,,,,,,,,,--------------------------,,,,,,,,,,,,,,,-~:;!******!***===***;:~-.............-~:;!!:~-,..........................................................................................,----~::;;!;:--,........................,,--~~-,,........,,-:;!!**!!!!!!!***========**!!;::~~~~~~~~~~~~~::~~~~:~-,,...  ...    .    ..-:;;;:~-,,,,,,,,,,,,,,----------------~~~~~::::;;;;;;;;;;;
,,,,,,,,,,,,--------,,,,,,,,---------------------------,,,,,,,,,,,,,,,-~:;!***!!!;!!****!!;:~-,.............-~:;!;:~-,..........................................................................................,,---~~::;!;:~-,,.......................,--~~~-,,........,-~:!****!!!!;!!****=======**!!;:~~~~~::~~~~~~~:~~~~~~~-,,........    .    ..-:;;;:~-,,,,,,,,,,,,,,----------------~~~~~::::;;;;;;;;;;;
,,,,,,,,,,,--------------------------------------------,,,,,,,,,,,,,,,,-~;!**!;;:~:;;;!;;::~-,,............,-~:;!;:-,,...........................................................................................,---~~~:;;;::~-,,......................,--~~~-,,........,-:;!***!!!!!!!!****========*!!;:~~~~~:::~~~~~~~~~~~~~~-,,,......     .    ..-:;;;:~--,,,,,,,,,,,,,----------------~~~~:::::;;;;;;;;;;;
,,,,,,,,,,,--------------------------------------------,,,,,,,,,,,,,,,,-~:!*!;:~~--~::::~--,,..............,-:;;;;~-,............................................................................................,,--~~~~:;;;;:-,,......................,--~~~-,,........-~:!****!!!!!!!!****========*!!;:~~~~~:::~~~~~~~~~~~~~--,,,,....           ..-~;;;:~--,,,,,,,,,,,,,----------------~~~~:::::;;;;;;;;;;;
,,,,,,,,,,,--------------------------------------------,,,,,,,,,,,,,,,,-~:;*!;:~-,,-~~~~-,,,...............,~:;;;;~-,............................................................................................,,--~~~~::;;;:~-,,.....................,-~~~~-,,........-~;!***!!!!!!!!!****========**!;:~~~~~:::~~~~~~~~~~~~~--,,,,,...           ..-~;;;:~--,,,,,,,,,,,,,----------------~~~~:::::;;;;;;;;;;;
,,,,,,,,,,,---------------------------------------------,,,,,,,,,,,,,,,--~;!!;:~-.,,---,,,.................,~:;;;:~,,............................................................................................,,-~~~~~~::;;:~--,.....................,-~~~--,.........-:;!***!!!!!!!!!***=========**;;:~~~~~~~~~~~~~~~~~~----,,,,,,...          ...-~:;;:~--,,,,,,,,,,,,,,---------------~~~::::::;;;;;;;;;;;
,,,,,,,,,,,---------------------------------------------,,,,,,,,,,,,,,,--~:!!;;~,.........................,,~:;;;:~,.............................................................................................,,-~~~~~~~::;::~-,.....................,-~~~-,,.........-:;!***!!!!!!!!****=========**;:~--~~~~~~~~~~-~~~~----,,,,,,,...          ...-~:;;;~--,,,,,,,,,,,,,----------------~~~::::::;;;:;;;;;::
,,,,,,,,,,,-----------------------------------------------,,,,,,,,,,,,,,-~:;;;;~-.........................,,~:;;;:-,..   ........................................................................................,,-~~~~~~~~:;::~~-,,...................,-~~--,,.........-:;!***!!!!!!!!****=========**!;:~~~~~~~~~~~~-~~~---,,,,,,,,,...          ...-~:;;:~--,,,,,,,,,,,,-----------------~~~:::::::::::;;;:::
,,,,,,,,,,,-------------------------------------------------,,,,,,,,,,,,--~;;;;:-.........................,,~:;;;:-,..    .......................................................................................,,-~~~~~~~~:::::~--,..................,-~~~--,,.........-:;!**!!!!!!!!!****=========**!;:~~~~~~~~~~~~-~~~--,,.....,,...           ...-~:;;:~--,,,,,,,,,,-------------------~~~:::::::::::::::::
,,,,,,,,,,---------------------------------------------------,,,,,,,,,,,,-~:;;!:-,,.......................,,~:;;;:-,..    .......................................................................................,,-~~~~~~~~~::::~~-,,.................,-~~~--,..........-:;!**!!;!!!!!!****=========**!;:~~~--~~~~~~~-~~~--,..........            ...-~:;;:~--,,,,,,,,,-------------------~~~~:::::::::::::::::
,,,,,,,,,,,,,------------------------------------------------,,,,,,,,,,,,-~~:;!;~-,........................,~:;;;:-,..    .......................................................................................,--~~~~~~~~~:::::~-,,................,,-~~~--,..........-:;!**!!!;;!!!!****=========**!;:~~~-~~~~~~~~~~~~--,.........   ..        ...-~;;;:~--,,,,,,,,--------------------~~~~:::::::::::::::::
,,,,,,,,,,,,,------------,,,,--------------------------------,,,,,,,,--,,--~:;!;:--,.......................,-:::;:-,..   ........................................................................................,--~~~~~~~~~::;;:~--,................,,-~~~--,..........-:;!**!!!;;;!!!****==========*!;:~~~~~~~~~~~~~~~--,,..     .    .....      ..-~;;;:~--,,,,,,,--------------------~~~~::::::::::::::::::
,,,,,,,,,,,,,-----------,,,,,,,,-----------------------------,,,,,,,---,,,--~;!;:~-,.......................,-~::;:~,..   ........................................................................................,--~~~~~~~~~::;;:~~-,................,,-~~~--,..........-:;!**!!!;;;!!!*****=========*!;:~~~~~~~~-~~~~~~--,,.          ......      ..-~;;;;~--,,,,----------------------~~~~~::::::::::::::::::
,,,,,,,,,,,-------------,,,,,,,,--------------------,,-------,----,,,-,,,,--~:!;;:~,.......................,-~::;:~-,.  ........................................................................................,,--~~~~~~~~::;;;:~-,,...............,,,-~~~--,..........-:;!***!!!;!!!******=========*!;:~~~~~~~~--~~~~~--,...         ..,....    ...-:;;;;:--,,,----------------------~~~~~:::::::::::::::::::
,,,,,,,,,,--------------,,,,,,,,,------------------,,,,,-----,-----,,,,,,,---:;;;;~-,......................,-~::;:~-,...........................................................................................,,--~~~~~~~~:;;;;:~-,................,,,-~~~-,,..........-:!!***!!!;!!!******=========*!;:~~~~~~~~--~~~~~-,,...        ..,,,...    ..,-:;;;;:~-------------------------~~~~~::::::::::::::::::::
,,,,,,,,,,--------------,,,,,,,,,-----------------,,,,,,,----------,,,,,--,,-~:;;!:~,,......................,-~:;;~-,...........................................................................................,,--~~~~~~~:;;;;:~-,,................,,--~~~-,,.........,-:!!***!!!!!!!******=========*!;:~~~~~~~~--~~~~--,,...       ..,,-,,..    ..,-:;;;;:~------------------------~~~~~:::::::::::::::::::::
,,,,,,,,,,,-------------,,,,,,,,,------------------,,,,,,----------,,,,,-----~::;!;~--,.....................,-~:;;:~-,..........................................................................................,--~~~~~~~~:;;;::~-,,................,,--~~--,,.........,-:;!**!!!!!!!!****===========*!;:~~~~~~~~--~~~~--,...        ..,--,,..    ..,-:;;;;:~-----~~--------~~~~~~~~~~~~~~:::::::::::::;;;:::::
,,,,,,,,,,,,------------,,,,,,,,,------------------,,,,,,----------,,,,,------~:;!;:~-,.....................,-~:;;:~-,..........................................................................................,--~~~~~~~::;;;:~--,.................,,--~~--,,..........-:;!!*!!!!!!!!****===========*!;:~~~~~~~~~~~~~---,..        ..,,--,,..    ..,-:;;;;:~~~~~~~~~------~~~~~~~~~~~~~~:::::::::::::;;;;:::::
,,,,,,,,,,,,------------,,,,,,,,,------------------,,,,,,----------,,,,,,------:;!!;:~-,....................,-~:;;:~-,..........................................................................................,--~~~~~~::;;;::~-,,.................,,--~~--,,..........-:;!!!!!!!!!!!***============*!;:~~~-~~~~~~~~~--,,.     .   ..,---,,..    ..,~:;;;;:~~~~~~~~~~~~-~~~~~~~~~~~~~~:::::::::::::;;;;;;;::::
,,,,,,,,,,,,-----------,,,,,,,,,,------------------,,,,,,----------,,,,,,,-----:;*!!;:-,,...................,,-~:::~-,.......................................    .....................   .......................,-~~~~~~::;;;::~~--,,.................,,-~~--,,..........-:;!!!!!!!;!!!!**============*!;:~~~-~~~~~~~~~--,..         ..,,--,...    .,,~:;;;;:~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::;;;;;;;:::::
,,,,,,,,,,,,-----------,,,,,,,,,,------------------,,,,,-----------,,,,,,,-----:;***!;~-,....................,-~::~~-,... ...................    ..........       ...................     .....................,,-~~~~~::;;;::~~~--,,.................,,-----,,..........-:;!!*!!!!;;!!!**===========**!;:~~~-~~~~~~~~--,,..         ..,,,,,...  ...,-~;!;;::~~~~~~~~~~~~~~~~::::::::::::::::::::;;;;;;;;;;:::::
,,,,,,,,,,,,,,--------,,,,,,,,,,,------------------,,,,,,----------,,,,,,,,---~:!****;:~-,...................,,-~~~~-,... ...................   ..............    ...................    ................... ..,--~~~~::;;;;:~~~---,,.................,,-----,,..........-~;!!*!!!!;;!!!**===========*!;;:~~~-~~~~~~~~--,,.          ...,,,,...  ..,-~:;!;::::~~::::::~~~~:::::::::::::::::::::;;;;;;;;;;;;:::::
,,,,,,,,,,,,,,,,------,,,,,,,,,,,------------------,,,,,,,--------,,,,,,,,,--~~:!****!;:-,,...................,-~~~~-,... ........................... ..........   .................. .....................  ..,--~~~::;;;;::~~~---,,.................,,,----,,..........-~;;!*!!!!;;!!!***==========*!;::~~~~~~~~~~~--,,..           ...,,,...  ..,-~:;!;::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;::::
,,,,,,,-,,,,,,,,,-----,,,,,,,,,,,------------------,,,,,,,,,,,,,,,,,,,,,,,,--~:;!*****!;~-,,...................,--~~-,,..  ........................    ....,,,...   .......................................  .,,-~~~::;!;;:::~~~--,,,..................,,---,,,..........,~;;!*!!!!!!!!!***==========*!;::~~~~~~~~~~---,,..            ..,,,...  ..,~:;;!;:::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;:::
,,,,,,--,,,,,,,,,-----,,,,,,,,,,,,-----------------,,,,,,,,,,,,,,,,,,,,,,,,,-~:;!*****!;:--,...................,,--~--,...........................    ...,,----,..............................................,--~~::;;!;;::~~~---,,....................,,---,,,.........,~:;!**!!!!!!!!***=========**!;:~~~~~~~~~~~---,..              .,,,...  ..-~;;;;;::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;:::
,,,,,,--,,,,,,--------,,,,,,,,,,,,-----------------,,,,,,,,,,,,,,,,,,,,,,,,,-~:;!******!:~-,,...................,--~~-,,..........................   ..,--~~~~~-,........................................ ...,,-~~::;;;;;::~~~~--,,.....................,,----,,.........,~:;!****!!!!!!***=========*!;;:~~~~~~~~~~---,,..              ..,,,.. ...-:;;;;::~~::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;::
,,,,,,--,,,,,---------,,,,,,,,,,,,,----------------,,,,,,,,,,,,,,,,,,,,,,,,,-~:;!*******;:~-,,..................,,-~~--,..........................   ..,~~:;;::~-,,..........................  .........  ...,--~~:;;;;;;:~~~~~-,,......................,,----,,,........,-:;!*****!!!!!***========**!;::~~~~~~~~~~--,,..               ..,,,.. ..,-:!;;;::~~:::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::
,,,,,,--,,,,,----------,,,,,,,,,,,,-----------------,,,,,,,,,,,,,,,,,,,,,,,,-~:;!******!;:~--,,.................,,-~~--,,.........................  ..,-::;;;;;:~-,.....................................  ..,--~~:;;;;;;::~~~~-,,,......................,,----,,,........,-~:!!*****!!!***=========*!!;:~~~~~~~~~~--,,...               ...,,.. .,-~;!;;:::~~::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
,,,,,,--,,,,,----------,,,,,,,,,,,,-----------------,,,,,,,,,,,,,,,,,,,,,,,,-~;;!******!;:~~--,..................,-~~---,........................   .,-~;;!!!!!;:~-,....................................  .,,-~~:;;;;;:::~~~---,,.......................,,--~--,,........,,-:;!**********==========*!;:~~~~~~~~~~---,,..                ....... .,-:;!;;:::~:::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
,,,,,,--,,,,,-----------,,,,,,,,,,,-----------------,,,,,,,,,,,,,,,,,,,,,,,,-~;;!******!;::~~-,,.................,----~-,,.......  .............   ..,-:!!*****!;:~,..................................... .,-~~:;;!;;;:~~~~--,,,........................,--~~~-,,........,,-~;!*********==========*!!;:~~~~~~~~~---,,..                 ....... .-~:;!;:::~::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::
,,,,,,--,,,,------------,,,,,,,,,,,,----------------,,,,,--,,,,,,,,,,,,,,,,,-~:;!******!;::~~~-,,................,,---~--,,....................    .,-~:!!*****!;:-,......................................,-~~:;;;;;::~~~~--,,,.........................,,-~~~-,,.........,,~;!!*******==========**!;::~~~~~-----,,,...                 ........,-:;;!;::~~:::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
,,,,,,--,,,,------------,,,,,,,,,,,,---------------------------,,,,,,,,,,,,,-~:;!***!**!;:~~:~~-,,................,,--~--,,....................    .,-~;!******!;~-,.....................................,-~::;;;;;::~~~~--,,...........................,,-~:~--,..........,-:;!**==============*!!;::~~~~~----,,,,...                       ...,~;;;;;::~~:::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
,,,,,,--,,,-------------,,,,,,,,,,,,-----------------------------,,,,,,,,,,,-~:;!***!**!;:~~:~~--,................,,,-~~--,...................     .,-~;!******!:~-,............................... ....,,~:;;;;;;:~~~~----,.............................,-~:~~-,,.........,-:;!**============**!!;::~~~~~~---,,,....                         .,-:;;;;;:~~~~::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
,,,,,,---,--------------,,,,,,,,,,,,------------------------------,,,,,,,----~:;!***!**!;:~~~~~~-,,.................,-----,,..................     .,-~:!******!:~-,...................................,-~::;;;;::~~-----,,,.............................,,-~~~~-,.........,-~:;***==========**!!;::~~~~~---,,,....                          ..,~:;;;;::~~~~~:::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
,,,,,,------------------,,,,,,,,,,,,-------------------------------,,,,,,----~:;!***!**!;:~~~~~~~-,,................,,---~-,..................     .,-~:!!*****!:~-,,................................,,-~:;;;;::~~~-----,,................................,-~~~~~-,.......,,-~:;!**===********!;;::~~~~~---,,....                            .,-~;!!;;::~~~~~~:::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;
,,,,,,------------------,,,,,,,,,,,,--------------------------------,,,,-----~:;!******!;::~~~~:~~-,.................,---~-,,..................    ..,-:;!*****!;:~-,,....................... ......,--~:;;;;::~-----,,,,.................................,-~~::~-,,,....,,--~:;!!**********!!;;:~~~~~~---,,...                              .-~:;!!;:::~~~~~~~:::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;
,,,,,,------------------,,,,,,,,,,,,---------------------------------,,,-----~:;!******!!;:~-~~:~~--,................,,--~--,,..................    .,-~;!!****!;:~--,............................,,-~~::;;::~~---,,,,,,...................................,-~::~~--,,,,,,--~~::;!!!!!!!!!!!!;;::~~~~~---,,...                             ..,-::;!;;::~~~~~~~~:::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::
,,,,-------------------,,,,,,,,,,,,,----------------------------------,,-----~~:!*******!;;~--~~~~~-,,................,,-~~--,,..................   ..,~:;!****!!;:~-,,.................    .....,--~:::;;::~--,,,,,,,.....................................,-~:::~~--------~~~::;;;!!!;!!!!;;;:~~~~~~~--,....                              ..,~:;;!;;::~~~~~~~~:::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;::::::
,,,,-------------------,,,,,,,,,,,,,,----------------------------------------~~:;!******!!;:~-~~~~~~-,,................,-~~~~-,,.................    ..-~:;!!!!!!;:~~-,.............. .........,,--~::;:::~~--,,,..,,..........,,..........................,,-~:::~~-----~~~~~~::;;;;;;;;!;;;::~~~~~~--,,...                              ..,-~;;;!;;::~~~~~~~~:::::::::::::::::::::::::::::::::::;;;;;;;;::::::
,,,,,------------------,,,,,,,,,,,,,,----------------------------------,----~~~:;!!*****!!!:~~~-~~~~-,,................,,--~~~--,,...............     .,-~:;;;;;;;:~-,............    ......,,,--~~:::::~~--,,,,.............,,,,...........................,-~:::~~~~~~~~~~~~~::::;;;;;;!;;::~~~~~~--,,...                               .,,~:;!;;;:::~~~~~~~~~::::::::::::::::::::::::::::::::::::;;;;;;::::::
,,,,-------------------,,,,,,,,,,,,,,,--------------------------------,,,------~:;!*******!;:~---~:~--,,...............,,--~:~~--,,.................  ..,-~::;;;::~--,...........     ....,,,--~~::::::~--,,............,,,,,,,,,............................,-~::::~~~~~~~~~~:::::::;;;;;;;::~~~~~--,,....                               .,-~;!!;;:::~~~~~~~~~~::::::::::::::::::::::::::::::::::::;;;;;;;:::::
-----------------------,,,,,,,,,,,,,,,-------------------------------,,,,------~::;!*******!;:~--~~~~--,................,,-~::~~--,,............ ...  ..,,-~~~:::~--,,..................,,,---~~~::::~~--,,............,,,,,,,,..............................,-~~:::~~~~~~~~~::::::::;;;;;;::~~~~~~--,,.....                            ..,-~:;!!;:::~~~~~~~~~~~~::::::::::::::::::::::::::::::::::;;;;;;;;:::::
------------------------,,,,,,,,,,,,,--------------------------------,,,,,------~~;!***===*!;:~---~~~~-,,...............,,-~~:::~~--,,,,,......   ..   ...,---~~--,,.................,,,---~~~~~~~~~~---,,............,,,,,,,................................,--~~::~~~~~~~~~::::::;;;;;;;:::~~~~~--,,.......                           ..,~:;;!;;:::~~~~~~~~~~~~~::::::~~~~~~~~~~~::::::::::::::::;;;;;;;;:::::
------------------------,,,,,,,,,,,,,--------------------------------,,,,,,-------:;!**===**!;:----~~~~-,,...............,,-~~::::~~---,,,....    ..     ...,,-,,,...        .....,,,,--~~~::::~~~~--,,,.............,,,,,,,..................................,--~:~~~~~~~~~~::::;;;;;;;;:::~~~~~--,,........                 .         .,-:;;;;;:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::;;;;;;;;::::::
------------------------,,,,,,,,,-,,,-------------------------------,,,,,,,,,,,---~:!!*====**!:~---~~~~--,................,--~::::~~~~---,,,,................,,,,,.............,,,,---~~~~~~~~~~~--,,,,.................,,,,..................................,--~~~~~~~~~~::::;;;;;;;;;:::~~~~~---,,,.......                         ..,-~:;;;;::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::;;;;;;;;;:::::
------------------------,,,,,,,----,,-------------------------------,,,,,,,,,,,,--~:;!!*=====*;:~~--~~~~--,...............,,-~~:::::~~~~~----,,,,,,,..........,,,,.....,,,,,,,,---~~~~~~~~~~~~---,,,,.........................................................,--~~~~~~~~:::::;;;;;;;;:::~~~~~~----,,,,,,,...                        .,,-~:;;;;::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::;;;;;;;;;:::::
------------------------,,,-----------------------------------------,,,,,,,,,,,,,,-~:;!**====*!;:~--~~~~~-,................,,-~~:::::::::~~~----,,,,,,...............,,,,,,-----~~::::::~~~----,,,............................................................,--~~~~~~~~::;;;;;!!;;;::~~~~~~~~--,,,,,,,,,,..                       .,,-~;;;;;::~~~~~~~~~~~~~~~~~~~~~~~~~-----------~~~~~~~~~~::::;;;;;;;;;:::::
---------------------------------------------------------------------,,,,,,,,,,,,,-~~:;!**====*!;:~~~~::~--,................,,-~~~::::::~~~~~~~~-----,,,,,,,,,,,,,,,,---------~~~~~~~~~~~----,,,,............................................................,--~~~~~~~:::;;;;;;;;;;::~~~~~~~---,,,,,,,,,,...                     ...,-~:;;;;::~~~~~~~~~~~~~~~~~~~~~~~~~-------------~~~~~~~~~:::::;;;;;;;::::::
---------------------------------------------------------------------,,,,,,,,,,,,,--~~:;!***==**!;~~~::::~-,,................,,--~~~~~~~~~~~~~~~~~~~------------------~~~~~~~~~~~~~~~-----,,,,,.............................................................,--~~~~~~~~::;;!;;;;;;:::~~~~~~---,,,..,,,,,,....  ..         ...     ..,-~:;;;;:::~~~~~~~~~::~~~~~~~~~~~------------------~~~~~~~:::::;;;;;;:::::::
---------------------------------------------------------------------,,,,,,,,,,,,----~~:;!**===**;:::::::~--,.................,,--~~~~~~~~~~~::::::~~~~~~---------~~~~~~~:::::~~~~----,,,,,................................................................,,-~~~~~~~~::;;!!!;;;:::~~~~~~~---,,.....,,,,..........       .....    ..,~:;;!;;::~~~~~~~~~:::~~~~~~~~----------------------~~~~~~~:::::;;;;::::::::
---------------------------------------------------------------------,,,,,,,,,,,,,,,--~~:;;!!!**!!;;;::;;:~-,..................,,-----------~~~~~~~~~~--~---------~~~~~~~~~~~~~~~---,,,,,,....................,,----,,....................................,,--~~~~~~~::;;;!!;;:::~~~~~~~----,,......,,,,...........    ........   .,-~;!;;;::~~~~~~~~~~~~~~~~~~-------------------------~~~~~~::::::;;;;::::::::
-------------------------------------------------------------------------,,,,,,,,,,,,--~~:::;;;!!!!!;;;;;:~~-,..................,,----,,,,,,-------------~~~~~~~~~~~~~~~~~~~~~~---,,,,,.....................,,--~~~~--,..................................,,-~~~~~~~:::;;!;;;;::~~~~~~~~---,,,...............,,,,,.......,,,,...   .,-~;!;;::~~~~~~~~~~~~~~~~~--------------------------~~~~~~~:::::::;;;::::::::
--------------------------------------------------------------------------,,,,,,,,,,,----~~~~::;;!!!!;;;;;:~-,...................,,,,,,,,,,,,,,----------~~~~~~~~~~~----~~~~~----,,,.......................,,-~::;;:~~-,.................................,--~~~~~~:::;;!!;;;::~~~---~~~--,,...   ..........,,,,,,......,,,,,...   .,-:;!;::~~~~~~~~~~~~~~~~----------------------------~~~~~~~::::::::::::::::::
---------------------------------------------------------------------------,,,,,,,,,-------~~~::;!!!!;;;;;::-,....................,..,,,,,,,,,,,,,,,,,----~~~~~~~--------------,,,,...................,,,,-~~:;;!!!;;:-,,..............................,,--~~~~~~:::;;;;!;;::~~~~~~~----,,....   ......,,,,,,,,,,......,,,,....   .,-:;!;:~~~~~~~~~~~~~~-------------------------------~~~~~~::::::::::;::::::::
---------------------------------------------------------------------------,,,,,,,,-----------~~:;!!!;;!;;;:~,,..............................,,,,,,,,,,---~~~~~~-------------,,,,,..................,,,--~~:;;!*****!;~-,.............................,,--~~~~~~:::;;;;;;;:~~~~~~~~~---,,...     ....,,,,----,,,......,,,,,...    .,-:;!;:~~~~~~~~~~~~----------------~~~~~~~~---------~~~~~::::::::::;;::::::::
----------------------------------------------------------------------------,,,,,,,-----------~~:;!!!;;;;;;:~-,.....................................,,,,---~~~------------,,,,,,..................,,,--~::;;!**====**!:-,............................,,--~~~~~~~::;;;!;;;::~~~~~~~~---,,...     .....,,,-----,,.......,,,,...     .,~:;!;:~~~~~~~--------------------~~~~~~~~~~--------~~~~~::::::::::;;;:::::::
----------------------------------------------------------------------------,,,,,,,,----------~~:;!;;::;;;;:~-,.......................................,,,-------,,,,,,,,,,,,,..............,,,,,---~~::;;;!!***=====*!:-,,.........................,,,--~~~~:::::;;;;;;;::~~~~~~~~---,,...       .....,,,--,,,........,,,,...     .-~;!!;~~~-----------------------~~~~~~~~~~~~~------~~~~~~::::::::::;;;;::::::
-----------------------------------------------------------------------------,,,,,,,---------~~::;;;:~:::;;:~-,,.......................................,,,,,,,,,,,,,,,............  .....,,,--~~~::;;!!!!****========!;~-,........................,,---~~~~~:::;;;!!;;:::~~~~~~~~---,,...        .....,,,,,,.... ....,,,,...      ,~:;!!;~~----------------------~~~~~~~~~~~~~~~~-----~~~~~::::::::::;;;;;;;::::
-----------------------------------------------------------------------------,,,,,,,----,,---~~::;;:~-~~::::~-,,....................,,,,.................,............................,,---~~:::;;!!!*****===========*;~-,.......................,,--~~~~~~:::;;;!!;;::~~~~~~~~----,,...           ....,,,,....  ....,,,,...      ,~;;!!;~----------------------~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::;;;;;;;;;;;;
-----------------------------------------------------------------------------,,,,,,-----,,,--~~:::;:-,--~~::~-,,..................,,------,,,,........................,,,,,,,,,,,,,----~~:::;;!!!!*****==============!;~-,......................,,--~~~~~~:::;;;;;;;::~~~--------,,,,...            .........    ...,,,,,..     ..-:!!!!:~--------------------~~~~~~~~::::~~~~~~~~~~~~~~~::::::::::;;;;;;;;;;;;;
------------------------------------------------------------------------------,,--------,,,,-~~;;::~-.,--~~:~--,.................,,-~~~:~~~--,,,.....................,,,,,----~~~~~~~::;;;!!******===================!;~-,.....................,,--~~~~~~:::;;!!!;;::~~------,,,,,,...               .....       ...,,,,,..    .,,~;!**!:~--------,,,,-------~~~~~~~::::::::~~~~~~~~~~~:::::::::::;;;;;;;;;;;;;;
------------------------------------------------------------------------------,---------,,,,--~;;::~,.,,--~~~--,.................,,~:;;;;:::~~---,,,,,,,,,,,,,,,,,,,----~~~~:::::::;;;;!!****========================!:~-,.....................,--~~~~~::::;;;;;;;::~~---,,,,,,.......    .......                ...,,,,...   .,-~:!***!:~--------,,,,------~~~~~~~:::::::::::~~~~~~~::::::::::::;;;;;;;;;;;;;;;
-----------------------------------------------------------------------------------,,,-,,,,,,-~;;::~,..,,-~~~--,.................,-~;!!!!!;;;:::~~~~~~~~~~~~~~~~~~~~~::::;;;;;!!!!!!!******====================$=====!:-,,...................,,--~~~~::::;;;!;;;::~~~--,,,,..........   ...,,,,,....             ....,,...  ...-~:;*=**!:~--,,,,,,-,,,-----~~~~~~::::::::::::::::~::::::::::::::;;;;;;;;;;;;;;;;
-----------------------------------------------------------------------------------,,,,,,,,,,-~;;::~,...,-~~~--,,............. ..,-:!**=****!!!;;;;::::::::;;;;;;;;;;;!!!!********=================$$==========$=====!:-,...................,,--~~~~:::;;!!!!;;::~----,,....            ..,,----,,...            ........   ..,~:!*===*!;~--,,,,,,-,,,-----~~~~::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;
-----------------------------------------------------------------------------------,,,,,,,,,,-~;;::~,...,-~~~--,,............. ..,-:!**===*****!!!!!!;;!!!!!!!!!!!!!!!******======================$$$$==============*!:-,.................,,,--~~~~:::;;;;;;;::~~~-----,,........    ...,,--~~~~--,,...          ...........,-~:;**===*!;~--,,,,,,--,,-----~~~~::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;
-----------------------------------------------------------------------------------,,,,,,,,,,-~;;::~,...,-~~~~-,,................,-:!*====*****************************==============$============$$$$$=============*!:-,................,,---~~~~:::;;;;;;::~~---~~~~--,.......... ..,,-~~~::::~~~-,,..          ...  ...,-~:;!*=====**;~--,,,,,,---------~~~:::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;
-----------------------------------------------------------------------------------,,,,,,,,,,-~;;;:~,....,-~~~-,,................,-:!*============================================$$$$$$==========$$$$$=============*!:,,...............,,--~~~:~:::;;!!;;::~-----~~::~-,,......... .,--~::;;;;;;::~-,,..               ..-~:;**=$$$===*;:~-,,,,,,---------~~~:::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;
-----------------------------------------------------------------------------------,,,,,,,,,,-~;;::~,....,-~~~--,.................,~;!*=============================================$$$==========================$=**;~,.............,,,,--~~~::::;;;;;;;:~~-,,,-~~::;:~--,,,,,.....,-~~:::::::::;::~-,...        .....,,-~:;!*==$$$===*;:~-,,,,,,---------~~~::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;
-----------------------------------------------------------------------------------,,,,,,,,,,-~:;::~-....,--~~~-,,,...............,~;!*========$$$=======================================================*=======$=*!;~,............,,,---~~~:::;;;;;;;::~-,,,,,-~::;;;::~--,,,,..,,-~:::::~~~~::;;::~-,..        ..,,--~:;!**==$$$$===*!:~-,,,,,,,,-------~~~:::::::::::;:::::::::::::::::::;;;;;;;;;;;;;;;;;;;
-----------------------------------------------------------------------------------,,,,,,,,,,-~::::~-... .,-~~~-,,,...............,-:!*==$$$===$$$$==================================================******========*!:-,............,,--~~~:::;;;;;;;;::~-,....,-~:;;!;;;:~~--,,.,,-~:;;;:~----~:;;;:~-,...      ...,-~:;;!*==$$$$$$$==*!:~-,,,,,,,,,------~~::::::::::;;;;;;;;;;;;:::::::::;;;;;;;;;;;;;;;;;;;;
-----------------------------------------------------------------------------------,,,,,,,,,,-~:::;~-,.. .,--~~--,,,...............-:;!===$$$=$$$$==================================================******=====$==*!:~-..........,,,--~~~::::;;;;;;::~~--,.. ..,-~;;;!;;;:~~-,,...--~:;;::~---~~:;;:~~-,..     ...,-~~:;;!*===$$$$$$$===!;:~-,,,,,,,,-----~~~::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-----------------------------------------------------------------------------------,,,,,,,,---~::;;:-,.. ..,-~~---,,,............ .-~:!*==$$$$$$$===========================================*************=====$$==*;~-,........,,,,--~~:::;;;;;;;;:~~--,,... ..,-:;;;!!;;:~~-,....-~:;;;:~~---~~:::~--,...    ..,,-~:;;!!**===$$$$$$====!;:~-,,,,,,,,-----~~~::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-----------------------------------------------------------------------------------,,,,,,,----~~:;;:~,,. ..,--~~~--,,,........... .,-:;*==$$$$$$=======================================******************=====$==*!:-,,.......,,,---~~::;;;;;;;;;:~~-,,...   ..,-:;;;!!!;;:~-,....-~:;!;:~--,-~~~:~--,...     .,,-~:;;!!**====$$$$$$====*!:~-,,,,,,,,----~~~:::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-----------------------------------------------------------------------------------,,,,,,-----~~::;:~--,....,--~~~--,,,............,,~:!*=$$$$$=======================**********************************========*!;~-,......,,,--~~~::;;;;;;;;:::~~--,,....  ..,-~:;;;!!;:~-,....,-::;!;:~-----~~~--,,...  ...,-~::;;!!!***===$$$$$$====*!;~-,,,,,-,----~~~~::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
------------------------------------------------------------------------------------,,,,,------~~:;;:~~-,,..,,-~~~~~--,,............,-~;!*=$$$$==================************************************==========*!;:-,......,,---~~:;;;;;;;;;::~~~-----,,.... ..,-~::;;!!;:~-,....,-::;!;:~--------,,.....  ..,-~:;;!!!!!!**==$$$$$$$$===*!;:------------~~~::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-------------------------------------------------------------------------------------,,,,-------~:;;;::~-,,.,,-~~:~~~-,,,............,~:!*==$$$===============**************!!!!!!!!!!!************===========**;:~-...,,,,,--~~::;;;!!;;;:::~~~---~~---,......,,-~:;;;!;:~-,....,-::;!;:~~-----,,,.........,-~:;;!!!!!!!**==$$$$$$$$$==**!:~----------~~~:::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-------------------------------------------------------------------------------------,,,,-------~:;;;;::~--,,,,-~~~~~~--,,,..........,-~;!*==$$==============*************!!!!!;;;;;!!!********==============*!;:~-,,,,,,---~~::;;;;;;;;:::~~~~~~~~::~~~-,,.....,,-~:;;!!:~-,....,-~:;!;::~---,,,,....,,,,,--~:;;!!!!;;!!**==$$$$$$$$$===*!:~---------~~~~::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
--------------------------------------------------------------------------------------,,,-------~:;;!!;;:~--,,,--~~~~~~--,,,..........,~:;**==$$$$=========**********!!!!!!!!;;;;;;;;!!******===========$$==*!;:~-,,,,,--~~~:;;;;;!!;;;::~~~~~::::::;;;:~-,,.....,,-:;;!!;~-,....,-~:;!;;:~~-,,,....,,,,---~::;;!!!!;;;!!*==$$$$$$$$$$===*!;~--------~~~~:::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
--------------------------------------------------------------------------------------,,,-------~::;!!!;;:~~-,,,---~~~~---,,,,........,-~:!!*===$$$========***********!!!!!!;;;;:::;;;!****===============**!;:~--,,,---~~~:;;;;;;;;;::~~~~~~~:::::;;;;;:~-,... ...-~:;!!;:~-,....-~:;!;;;:~--,,,,,,,---~~~:;;!!!!!;;;;!**==$$$$$$$$$$$==*!;~~-----~~~~~::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
--------------------------------------------------------------------------------------,,,,------~~:;;!!!!;::~-,,,,----~------,,.......,,-~:;!*===============************!!!;;;;;;;;;!!***===============*!;;:~-------~~~~::;;;;;;;::~~~--~~~~:~~~::;;;;:~~,...  ..,~:;;!;:~-,....,-~:;;;;::~~------~~~~~:::;!!!!;;;;;;!**=$$$$$$$$$$$$===*;:~~~~~~~~~~::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
---------------------------------------------------------------------------------------,,,-------~~:;;!!!!;;~-,,.,,,----~~~~~-,,,.......,-~:;**=================**********!!;;;;;;;;!!!**========$$$===***;:~~------~~~~::::;;;;;::~~------~~~~~~~~::;;!;:~-,..    ,-~:;!;;:~,....,-~:;;;!;::~~~~~~~::::::;;;!!!;;;;;;;!**=$$$$$$$$$$$$===*!:~~~~~~~~:::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
---------------------------------------------------------------------------------------,,,-------~~::;;!!!!;:~-,,..,,,---~~~~--,,,,,,,,.,,-~:;!**=====================****!!;;;;!!!!!!!**============**!!;:~------~~~~:::::;;;;:::~~-,,,,,--~~~~~-~::;;!;:~-,..    .-~:;!;;:~-,...,--:;;;!;;;::~:::::::::;;;;!!;;;;;;;;!**==$$$$$$$$$$$===*!;:~~~~~~:::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
--------------------------------------------------------------------------------------------------~~::;;;!!!;:~-,....,,,---~~~--------,,,,--~:;!!***====================**!!;;!!!!*!!!!***=======****!;;::~~-----~~~::::;;;;;;:::~--,,..,,,-------~~:;;;;;:-,..    .,-~;;;;;~-,,.,,-~:;;;!;;;;;:::::;::::;;;;;;;;;;;;;;!**===$$$$$$$$=====*!;::~~~~::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
---------------------------------------------------------------------------------------------------~~:::;;!!;;:-,.. ....,,--~~~~~~~~~--,,,,---~:;!!**===================**!!;;!!*****!!!***====***!!;;:~~~------~~~:::;;;;;;;::~~--,,.....,,,,,,--~~::;;;;:~,,..   .,-~:;;;;:~-,,,,-~~:;;;!!!!;;;;;;;;;:;;;;;;;;;;;;;;;!!*====$$==========*!;;:~~:::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
---------------------------------------------------------------------------------------------------~~~:::;;;;;:~-,.......,,-----~~~~~~--------~::;;!!***================**!!;;!!****!!!!!*******!!;;;:~~~~~~~~~~~:::::;;;;;;;;::~~-,,......,,,,---~~::;;;;:~-,,....,,-~:;;!;::~---~~::;;;;;;!;;;;;;;;;;;;;;;;;;;;;;;;;;!!!*============*==*!!;:::::::::::;;:;;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;
---------------------------------------------------------------------------------------------------~~~~~~::;;;;:~-,.......,,,,---~~~~~~~~~~~~~~~:::;;!!*****============**!!;;!!****!!!!!!****!!;;:::~~~~~~:::::::::::::;;;;;;;::~-,,......,,---~~~~::;;;;;~--,,,,,---~:;;!!;:::~::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!***====**********!;;::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;
---------------------------------------------------------------------------------------------------------~~::;;;:~-... ......,,,--~~~~~:::::~~~~~~~::;;!!*****=========***!!;;!!!**!!;;;;!!!!!!;::~~~--~~~::;;;;;;;;;:::::;;;!;;:~-,,......,,-~~~::::::;;;;:~-----~~--~:;;!!!;;;;;!!!!!!;;;;;;;;;;;;;;!!!!!!;;;;;;;;;;;;;;!!!********!!!!***!!;::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-----------------------------------------------------------------------------------------------------------~:;;;;:~,,..........,,-----~~~~:~~~~~~~~::;;;!!!*******=====***!!!!!!!!!!!;!!!!!*!!!;:::~~~~~~:::;;;;;;;;::~~~~::;!;;:~~--,,,,,,--~:::::~~::;;;;;:~~-~~~~~~::;;!!!;;;!!!***!!;;;;;;;;;;!!!!!!!**!!!!;;;;;;;;;;;;!!!!!!!!!!!;;!****!;:::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
---------------------------------------------------------------------------------,,--------------------,,,--~:;;;;~-,,...........,,,,,--~~~~~~~~~~~:::;;;;!!!!!*****====***!!!!!!!!!!!!!!!***!!;::::::::::::;;;;;!;;:~----~:;!;;;:~~-------~~:;:::~~~~::;!!;::~~~::::~:;;!!!!!!!!**=***!;;;;;;;;!!!***********!!!;;;;;;;;;;;;;;!!!;;;;;;!!***!;::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
---------------------------------------------------------------------------------,,,---------------,--,,,,,,-~:;!;:~-,....    ........,,--~~~~~~~~~~:::;;;;;!!!!!!!***==****!!!!!!!!!!!!!****!!;:::::::::::::;;;!!;;:~-,,,-~:!;;;::~~~~~-~~::;;;;:~~-~::;!!;;;:::::::::;;!!!!!!***===**!;;;;;;;!!***=========**!!!;;;;;;;;;;;;;;;;;;;;:;;!!**!;::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-----------------------------------------------------------------------,--------,,,,------------,,,,,,,,,,,,-~:;!!;:~-,,...     .......,,,--------~~~~::::;;;;;;;;!!**====*****!!!!!!!!!***=**!;;::;;;;::~~~~:;;;!;:~-,..,,~:;;;;;:::~~~~~~:;;!;;::~~~::;;!;;::~~~:::::;;;!!!!!****=**!;;:::;;;!!*============***!;;;:::::;;;;;;;;;;;;:;;!!**!!;:::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-----------------------------------------------------------------------,---------,,,------------,,,,,,,,,,,,-~:;!!!!;~-,,..          .....,,,,,,,----~~~~:::::::::;;!**======****!!!!!!!**==**!;;;;;;;;:~----~:;;!;:~-,...,-:;;!!;;:::::~~::;;!!;;:~~~::;;;;::~~~~~~~~::;;!!!*******!!;;:::::;;!*====$$=$$$$====**!;;::::::;;;;;;;;;;;:;;!!**!!;:::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
---------------------------------------------------------------------------------,,-------------,,,,,,,,,,,,-~:;****!;~-,....          ........,,,,,---~~~~~~~~~~~:;;!*=======***!!!!!!!**==**!;;;;;;;;:~--,,-:;;!;:~-,...,-:;;!!!;;;:::~:::;;!!;;::~:::;;;::~~---~~~~~::;!!!******!!;:::~~::;;!*===$$$$$$$$$$===*!!;:::::::;;;;;;;;;;:;;!!**!!;::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
----------------------------------------------------------------------------------,-------------,,,,,,,,,,,,-~;!*****;:~--,,...            ........,,,------------~~:;!*======***!!!!!!***==**!;::;;;;!:~-,,,-~:;;;;:~-,,,,-:;;!!!;;::~~~~~::;!!;;;::::::;::~~------~~~~::;;!!!!!!;;;:~~~~~~~:;;!*==$$$$$$$$$$===**!;;:::::::;;;;;;;;;:;;!!!*!!;:::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
------------------------------------------------------------------------------------------------,,,,,,,,,,,-~:;!*===*!!;:~--,,...              ......,,,,,,,,,,,,,--~:;!*=====**!!!*******==*!;;:::;;;!:~,,..-~:;;;;:~-,,--~:;;!!!;;:~~---~~:;;;;;;;;;;::::~~~--------~~~::;;;;;;;::~~-----~~~:;!**======$$$$$====**!;;::::::;;;;;;;;;:;;!!!*!!;:::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
------------------------------------------------------------------------------------------------,,,,,,,,,,--~;!*=====*!;;:~~--,,........         ......,,,.....,,,,--~;!*=====**!*********==*!;:~::;;!!:~,,..,~:;;;;::~---~~:;;!!!;;:~----~~::;;!!!;;;;;;:::~~---------~~~::::::::~~~--------~~:;!**=======$$$$====**!;;:::::;;;;;;;;;:;;!!!*!!;:::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
------------------------------------------------------------------------------------------------,,,,,,,,,--~:!**=====*!!;;:::~---,,,,,..................,,,,,,,,,----~:;!*====***************!;:~~:;;!!;~-,,,-~:;;!;;::~~~:::;;!!!;::~----~~:;;;!!!!!!!!;;;::~~----------~~~~~~~~~~-----------~~:;!*=========$======**!;;:::::;;;;;;;;;;;!!!*!!;:::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-------------------------------------------------------------------------------------------------,,,,,,,,-~:;**=====***!!!!;;::~~----,,,.................,,,,,-------~::;**===*******=*******!;:~~:;!!!;:~--,-~:;!!!;;;:::;;;;;!!;;:~-----~::;;!!!!!!!!!!!!;;:~~--------------~--------,,,,----~:;;*=========$========*!;;::::;;;;;;;;;;;!!!*!!;::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
---------------------------------------------------------------------------------------------------,,,,,--~;!*=====***!!!!!!!!;;:::~~~---,,,,,,......,,,,,,----~~~~~~~::;!**=**!!!!**=*******!!;::;;!!!;::~--~~:;!!!!!;;;;;;;;!!!;;:~----~::;;!!!!!!******!!!;::~~-------------------,,,,,,,,---~:;!*==================*!;::::;;;;;;;;;;!!!!*!!;;:::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
---------------------------------------------------------------------------------------------------,,,,--~:;!**===***!!!!!!!!!!!!;;;;::~~~----,,..,,,,,----~~~~:::::::::;;!!**!!!!!!****!*****!;::;!!!*!;::~~~::;!***!!!!!!!!!!!!;;:~---~~:;!!*********==****!;;::~~~--------------,,-----,,,---~:;!*==================*!;:~~::;;;;;;;!!!!!**!!;;::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
----------------------------------------------------------------------------------------~~---------,,,---:;!***===**!!;;;!!*********!!!;;::~~--,.,,,,---~~~::::;;;;;;;;;;;;!!!;;;;;!!*!!!******!;;;!!**!!;;:~~::;!*****!!!!!!!!!!;::~--~~:;!********========***!;;::~~------,,,,,,,,,------,,,--~:;!*================$=*!;:~~:::;;;;;!!******!!;;;:::;;::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
--------------------------------------------------------------------------------------~~~~~~~~------,,--~:;!****=***!;:;;;;!!*******!!!!;;;::~-,.,,---~~~::::::;;;;!!;;;;;;;;;;:::;;!!!!!!*****!;;;!!***!!;:~~~:;!****!!!!!!!!!!!;::~--~~:;***================**!!;;:~~~~-----,,,,,,,,----,,,,--~:;!*===$$=====$$$$$===*!;:~~~::;;;!!!*******!!;;;;;;;;:::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
------------------------------------------------------------------------------------~~~~~~~~~~~~-------~:;!!*******!!;:::::;;!!!!!!!!!!!!;;;:~-,.,-~~~::::::::::;;;!!!;;;::::::~~:::;!!!!!!!**!;::;;!***!!;:~~~~:;!!!!;;;;;!!!!!!;::~--~:;!**===================**!!;:::~~~~-----,,,,,,,--,,,,--~:;!*==$$$$====$$$$$===*;:~-~~~::;;!!**=*****!!;;;;;;;::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-----------------------------------------------------------------------------------~~~~~~~~~~~~~~-----~::;!********!;:~~~~~::;;;;;;!!!!!!!!;;:~,,--~::::;;::::::::;;!!!;;:~~~~~-~~~::;;;!!!!!!!;:::;!!***!;:~~~~:;;!!;;:::;;!***!;:~~--~:;!*==$$$$=========$$=====**!;;::::~~-----,,,,,,,,,,,,--~:;!*==$$$$$===$$$$$==*!;:~--~~::;!!**===****!!;;;;;;;:::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
----------------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~---~~:;!!!!!****!!;:~~~~~~::;;;;;;!!!!!;;;::~-,-~::;;;;;:::::::::;!!!!;:~~~~~~~~~::;;!!!!!;;;:~~~:;!*!!!:~----~:::::~~~~:;!****!;:~--~~:!**=$$$$=========$$$=====**!;;:::::~~~~-----,,,,,,,---~:;!*==$$$$$$==$$$$===*!:~~---~~:;!!*====****!!!;;;;:::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
----------------------------------------------------------------------------~~~~~~~~~~~::::::~~~~~~~~~:;;!!!!!!**!!;:~----~~~:::;;;;;!!!;;::::~---~:;;;;;;:::::::::;;!!!;:::~~~~~~~::;;!!!;;;:~~--~~:;!!;;:--,,,--~~~~---~~:;!!**!;:~--~~:;!*==$$$$=======$$$$======*!!;:::::::::~~~----,,,,,---~:;!*==$$$$$$$$$$$$==*!;:~----~~:;!**====****!!!;;;:::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
---------------------------------------------------------------------------~~~~~~~~~~:::::::::::~~~~~~:;!!!!!!!!!!;::~----~~~~::::;;;;;;;:::::~~-~::;;!;;;:::::::~:;;;!!;;::::::::~::;;!!!;;:~--,,--~:;;;:~-,,,,,,---,,,,--~;!!**!;;:~-~~:;!*==$$$$=======$$$$$==$$=**!;:;;;;;;;:::~~---,,,,,---~~:;**===$$$$$$$====**!:~~-----~:;!**===*****!!!;;::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
------------------------,,,,,----------------------------------------------~~~~~~~~~:::::::::::::~~~~::;!!!!!;;;;;::~~----~~~::::::;;;;;;::::::~~~::;!!!;;::::;;:::;;;!!;;::::::::::;;;!!!;;:~--,,---~::~~--,,..,,,,,,,,,,-~:;;!!!!;:~~~~~:;!*===$$======$$$$$$$$$$=**!;:::::;;;;;:::~~~---------~:;;!**=====$=====*!!;:~------~:;;!*****!!!*!!!;;:::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-----------------------,,,,,,,--------------------------------------------~~~~~~~~~~::::::::::::::~~~:;;!;;;;;;:::~~~---~~~~::::::::;;;!;:::::::::::;!!!!;;::;;;;;;;;;!!!;;;::;;;:::;;;!*!;::~--,,,,--~~---,,.....,,,,..,,,-~:;;!!!!;::~-~::;!*=======$$$$$$$$$$$$$==*!:~~::::;;;;;;;::~~~--------~::;!!**=======**!;;:~-------~~:;!!***!!!!**!!;;::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-----------------------,,,,,,,-------------------------------------------~~~~~~~~~~:::::::::::::::::::;;!;;;::::~~~----~~~~::::::~::;;;!;::::::;;;::;!!!!;;:;;!!;;;;;;!!!;;;:;;;;;:;;;;!*!;::~~-,,,,,,--,,,,,.............,,-~:;;!!!!;:~--~:;!**======$$$$$$$$$$$$==**;:~~~~::;;;;!!;;;::~~~-------~~:;;!***====**!;::~~--------~:;;!!!!!!!!**!!;;::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-------------------------,-----------------------------------------~~~~~~~~~~~~~~~~:::::::::::::::::::;!!;;::~~~~~~~~~~~~~~~~~~~~~~:;;!!!;::::;;;;::;;!!!!;;;;!!;;;;;;!!!!;;::;;;;;;::;!!;;;::~--,,,,,,,,,,,...............,-~::;!!*!;;~~-~~:;!!*****==============**!;~---~~~:::;;;;;;::~~~--------~~::;;!!!**!!;;::~~-------,-~::;!!!!;;!!**!!;;::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
,,,---------------------------------------------------------------~~~~~~~~~~~~~~~~~::::::::::::::::::;;!!;;:~~-----~~::::~~~~~~~~~~:;;!!!;;;::;;!;::;;!!!!;;;;!!!!;;;;!!!!!;:::;;;;:::;;;;;;;;:~-,,,,,,,,,,............,...,--~:;!**!!;:~---~:;;;!!!***============*!;:~-----~~~:::::;;:::~~~---------~~::;;;;;;;::~~---------,-~~:;;;;;;;!!**!!;;::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
,,---------------------------------------------------------------~~~~~~~~~~~~~~~~~~:::::::::::::::::;;!!!!;:~---,--~::;;:~~-------~:;;!!!!!;;:;!!;::;;!!!!!!!!!!!!;;;;!!!!!;:::::;;;:::;;;;;;;;~-,,,...................,...,,-~:;!***!;:~----~:::;;!!!*************!!;:~-------~~~~:::::::~~~-----------~~~:::::~~~----------,,--~::;;;;;;;!**!!;;:::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::;;!**!;:~--,,-~::;!;:~------~~~:;;!!!!!;;:;;!;:::;;!!!!!!!;;;;;;;;;!!!;;::::;;;;;:;;;;!!!!;~-,,....................,....,,~:;!***!;:~~~-~~~~:::;;;;!!!!!!!!!!!;;;::~~~~~~~~~~~~~~~::~~~~-------------~~~~~~~~------------,,--~~:;;;;;;!!**!!;;::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~::::::~~~~~::::::;!!**!;:~-,,--~:;;!;:~-,,,--~~::;;!!!!!!;:;;;;:::;;;!!!!!!;;;;;;;;;;;;;::::;;;;;;;;;;!!!!!;~-,,.........................,,-~;!***!!;:~~~~~~~~~::::::;;;;;;;;;:::::~~~~::~~~-----~~~~~~---------,,------------------------,,---~:;;;;;;!!**!!;;:::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
------------------------------------------------------------~~~~~~~~~~~~~~~:~~~~~~~:::::~~~~~~~:::::;!**=*!:~-,--~:;!!!;:~-,,--~~::;;;!!!**!;::;;;;:::;;!!!!!!;;;;;;;;;;;;;:::;;;!!!;;;;;!!*!!;~-,,.........................,,-~:!***!!;::~~~---~~~~~:::::::;;:::~~~~~:::;;;::~~------------------,,,,-----------,,,--------,,,---~::;;;;;!!**!!;::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-------------------------------------------------------------~~~~~~~~~~~~:::::~~~~~~::~~~~~~~~~~~:::;!**=*!:~-,--~:!!!*;:~----~~:::;;;!!!**!;:;;;;;;;::;!!!!!;;;;;;;;;;;;;;;:;;!!!!!!!!!;!!!!!;~-,..........................,,-~:;!**!!;;:~~------~~~~~:::::;;;::~~~~~:;;!!!;;:~------------------,,,----------,,,,,-------,,,,---~:::;;;;!!*!!;;:::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
,,-----------------------------------------------------------~~~~~~~~~::::::::~~~~~~~~~~~~~~~~~~~~::;!**=*!;~-,--~;!***!:~~--~~::;;;;;;!!**!;;;;;;;;;::;!!!!;;:;;;;;;;;;;;;;;;!!******!!!!!!!;;~-,.........................,,,-~:;!**!!;;:~~--------~~~~:::;;;;;:~~~~:;!****!!;~-----------------,,,---------,,,,,,-------,,,,----~~::;;;;!!*!!;;:::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
,,,----------------------------------------------------------~~~~~~~~~::::::::~~~~~~~~~~~~~~~~~~~~~:;!***!;:~-,-~:;****!;~~~~~:::::::;;!!!*!!;;;;;!!;::;;!!!;;:;;;;;;;;;;;;;;!!*****!!!;;;;;;;:~,,.........,,,,..............,-~:;!***!!;:~~--------~~~:::::;;;;::~~~:;!**==*!;:----------------,,,,,--------,,,,,,,,-----,,,,-----~::;;;;!!!!!;;:::::::::;;::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
,,,,-----------------------------------------------------------~~~~~~~~~:::::~~~~~~~~~~~~~---~~~~~~:;!!**!;:~---~:;****!;:::::;;;:::::;;!!*!!;;;;;!!;;;;;;;;;;;;;;!!!!!;!!!!!!****!!;;;::::;:::-,,........,,---,,,,,,........,--~:!***!!;;:~-------~~:::::::::;;;:::::;!*****!;:----------------,,,,,,---------,,,,,,,,,,,,,,,-----~~::;;;!!!!!;;::::::::;;;;:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
,,,,,------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~-------~~~~::!!**!;:~--~~;!**==*;:::;;;;;:::~:;;!!**!!;;;!!!!;;;;;;;;;;;!!!!*!!!!********!!;;:~~~~::::~-,.........,-~~~---,,,,.......,,-~:!****!!;:~~----,-~:::;::::::;;;;;::~:;!****!;:---------------,,,,,,,,----------,,,,,,,,,,,,----,-~~::;;;!!!!!;:::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
,,,,-------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~-----------~~~:;!!!;:~~--~:;!*===*!;;;;;!!;;:::::;;!!!;;;::;!!!;;;;;;;;;;!!!!!*!!!!!!!!!!!;;;:~~~--~~:~~~-,......,,,-~~~~~~----,,,,....,,-~:!****!!;:~~------~::;;:~~~::;;;;;::~:;;!!!!;:~---------------,,,,,-----------------------------,--~::;;!!!!!!;::::~::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
,,,---------------------------------------------------------------~~~~~~~~~~~~~~~~~~---------------~:;!!!;:~---~:;!*===*!;;;;!!!!;;::::::;;;:::::;;!!;;;;;;!!!!!!!!!!!!!!;;;;::::~~~-----~~:~~--,....,,--~~::::~~~~------,,,,,--~;!*****!!;:~-----~:::;::~~~~:;;;;;::~~::;;;:::~----------------,,,--------------------~~-------,,--~::;;!!!*!;;:::~~~:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
,,,----------------------------------------------------------------~~~~~~~~~~~~~~~-----------------~:;;!!;:~---~:;!====*!;;;!!!!!!;;:::::::~~~~~~:;;;;;;;;!!!!!!!!!!!!;;;;::~~----,,,,,,-~~:~~-,....,,-~~::;;::::~~~~~~~~--,,,-~:;!******!;:~-,,--~:;;;:~~~~~::;;;;:~~~~~~~~~~~------------------,-----------,,,---~~~~~~~~----,,,--~~:;;!!!*!;:::~~~~::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
,,,----------------------------------------------------------------~~~~~~~~~~~~~~~-----------------~~:;!!;:~---~:;*=====*!!!;!!!!!;;;:::~~~~-----~~::::::::;;;;;;;;::::::~~~--------,,--~~:::~~-------~~::::::::~~~~~~~~~~~~---~:;!******!;;:~----~:;;;::~~~~::;;;;:~~~~~~~~~------,-------------,--------,-----~~:::;;;;::~~---,,--~~:;;!!!*!;:::~~~~::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
,,------------------------------------------------------------------~~~~~~~----~~~------------------~:;;!;:~---~:!*=====*!!;;!!!!!!;;;::~~~--,,,,----~---~~~~~~~~~~~~~------,,,,-------~~::::::::~~~~:::::::~~~~~~~~~~::::;:~~~::;!******!!;:~---~:;;;;;:~~~:::;;::::~~~~~~~----,,,,,,,--------,,---------,----~::;;!!!!!!;;:~--,,,--~:;;!!!*!;:::~~~~~::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
,,-------------------------------------------------------------------~~~~-------~~------------------~:;;!;:~---~;!*=====**!;;;;!!!!!;;;::~~--,,,.,,,,,,,,,,-------,,,,,,,,,,,,,,,-~~~~~::::;;;;;;;;::;;;;::~~~~~~:::::::;;!!;::::;!*****!!!!;:~~~~:;!!;;:::::::::::::~~~~~~~---,,,,,,,,,-------,--------------~:;;!*******!!;:~--,,--~::;!!!*!;::~~~~~~::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
---------------------------------------------------------------------~~~~---------------------------~~;;!;:~~~~:;!*======**!!!!!!!!!!!!;;;;:~~--,,-----------------------,,,,,--~~::::::::::;;;!!!;;:::::~~~~::::;;;::::;!!!!;;;;;!*****!!!!;::::::;!!!!;::::;::::::~~~~~~~~~~--------,--------------------~~::;!!***=====**!;:~-,,--~~:;!!!*!;::~~~~~~::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
----------------------------------------------------------------------~~-----------------------,,----~;;!;::~~~:!**=======**************!!!!;;:~----~~~~------~~~~~~~~~--------~:;!;;;::~~~::;!***!;::~~~~~:::;;;!!;;;;:;!**!!!!!!!!****!!!!!;;:::;!*!!!!;;;;;;;::~~~~~~~::::~~~--------------------------~::;!!**=========**!;~------~:;!!!*!;::~~~~~:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
----------------------------------------------------------------------~~----------------------,,,,---~:;!;;::::;!**========***********====***!;:~~~~~::~~~~-~~~::::::::~~-----~:;!*!!;::~~~~:;!***!;:~----~:;;!!!!!!!;;:;!!*****!!!!****!!!!!!;;;;;!****!;;;;;;;::~~~~~~~::;:::~~~-----------------------~::;!**=======$$$==*!;:~--,--~:;!!!*!;::~~~~~::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-----------------------------------------------------------------------~----------------------,,,----~:;!;;:::;;****=========================*!;:~~~::::::::::;;;!!!;;;::~----~:;!**!;:~~--~::;;!;;:~----~:;!!!!!!!!!!;;;;!!*=***!!!****!!!!!!!!;;!!*****!!!!;;;;::~~~~~~:;;;;:::~~~~~-----------------~~:;!!**========$$$$==*!;:---,-~:;!!!*!;:~~~~~~::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
----------------------------------------------------------------------------------------------,,-----~:;!;;;;;;!******==============$$$$$$$$==*;:::::;;;;;;;;!!******!!;:~~---~:;!**!;:~----~:::::~~--,-~:;!!!!!!!*!!!!;;;;!*===*********!!!!**!!!!!******!!!!!;;;:::~~~~:;;;;;;::::~~~~---------,----~:;;!**===========$$$$==*!:~--,-~~;!!!*!;::~~~~~::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
----------------------------------------------------------------------~-----------------------,------~:;;;;;;;!********======$$$$$$$$$$$$$$$$=*!;::::;;;;;;!!*=======**!;~~---~:;!**!;:~----~~~~~~~--,,-~:;!!!!!!!!!*!!;;;;!*====********!!!****!!!!!*******!!!!!;;::~~~~:;;;;;;;;:::::~~~-------,---~:;;!*==============$$$$==!;~~-,-~~:!!**!;::~~~~~::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
---------------------------------------------------------------------~~~-----------------------------~::;;;;;!!**=*******=====$$$$$$$$$$$$$===*!;:::::::;;;!**=======**!;~----~:;!*!!;:~~~~~~::~~~---,,-~::;;;;;;;!!!!!!;;;!*====*********!!******!!!***********!!;;:~~~~~:;;;;;;;;:::::~~~~~-------~~:;!*===$===========$$$$==*;:~-,--~:!!**!;::~~~~~:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
---------------------------------------------------------------------~~~-----------~~~~~-------,,,,--~~:;;;;!!!*==***!!!***===$$$$$$$$$$$===**!!;::~~~~::;!**====$$===*!:~----~:;;!!!;;:~~::::::~~--,,,-~~:::::::;;!!!!!;;;;!*===*********!!*******!!!***********!!;:~~--~:::;;;;;;;;;;::::~~~~-----~:;!*===$$$===========$$$==*!:~-,--~:!!**!;:::~~~~:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
--------------------------------------------------------------------~~~~-----------~~~~~~------,,,,---~~:;;!!!!******!!!!***========$$=====**!!!;;:~~~~~:;!**=$$$$$$==*!:~----~::;!!!!;::::::::~~~--,,,--~~~~~~~::;;!!!!!;;;!**==*********!!********!************!!;:~---~~::::;;;;;;;;;;::::~~~~--~~:;**==$$$============$$===*!:~-,--~:!!!*!;:::~~~::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
--------------------------------------------------------------------~~~-----------~~~~~~~~-----,,,,---~~~:;;!!!*****!!!!!!!****=========***!!!!;;;::~--~~:;!*=$$$$===**!:~----~~:;!!!!;;:::::::~~~---,,----~~~~~::;;!!!!!;;!!**==**!*******!!****=****************!;:~----~~~~::::;;;;;;;;;::::~~~~::;!**==================$===*;:~-,--~:;!!*!;;::~~~::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
------------------------------------------------------------------~~~~~~----------~~~~~~~~-------------~~:;;!!!!****!!!!!!!!!*****=====***!!;;;;;;;:~----~;!*=$$$====**!:~----~~:;;!!!!;;::~::~~~~----------~~~~:::;;!!!!!;!!***=**!!!****!!!***===***************!;:~~-----~~~~::::;;;;;;;;;;::::::;;!*===========$======$$==*!;:~-,,--:;!!**!;::~~~:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
------------------------------------------------------------------~~~~~~---------~~~~~~~~~~-------------~::;!!!!!!!!!!!!!!!!!!!*********!!!!;;;;!;;;~----~:!**=======*!;:~-----~:;!!!*!;;:~~~~~~~~---------~~~::::::;;!!!!!!!!*******!****!!!***=====**************!;~~-------~~~~:::::;;;;;;;;;:::;;;!*================$$$==**!:~--,,,-~;!!**!;:::~~:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
------------------------------------------------------------------~~~~~~~~~~--~~~~~~~~~~~~~-------------~~:;;!!!!;!!!!!!!!!!!!!!!!!!!!!!!!!!;;;!!!!;:~----:;!*=======*!;:~-----~:;!***!;::~~~~~~~~--------~~:::::~~::;;!!!!!!!********!**!!!!!**=========****=====*!;:~---------~~~~~::::::;;;;;;;;;;;!**=============$$$$===*!;:~--,,,-~;!!**;;:::~:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~--------------~::;!!;;;;;;!!!!!!!!!!!!!!!!!;;;;!!!!!!!!!!:~--,-~:;!*======*!;:~-----~:;****!;:~~-~~~~--~~------~:;;;:~~-~~:;!!!*!!!!*******!!!!!;!!!*====$==============*!:~------------~~~~~::::;;;;;;;;;;!!*==============$$===*!;:~--,,,,,~:;!**;;:::~:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
------------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~-------------~~:;!!;;;;;;;!!!!!!!!!!!!!!!!;;;!!!!!!!!!!!;:~---~:;;!**===**!;:~~---~~:!****!;::~~~:::::~~~-----~;;;;:~--~~:;!!***!!********!!!!!!!!**===$$$=============*!;:~-------------~~~~~:::;;;;;;;;;!!!**====******======*!;:~----,,,-~;!!*!;;::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-----------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------~~:;!!;;;;:;;;!!!!!!!!!!!!!!!!!!!!!!!!;;!!!;;:~---~::;!!****!;;::~~--~~;!****!;:::::;;;;;;::~---~:;!;;:~---~:;;!****!***==****!!!!!!**===$$$$$$========$$$=!;:~----------------~~~~::;;;!!;;;;;!!******!!!!****=**!;:~~-------~:;!!*!;:::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-----------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------~:;!!;;;:::;;;!!!!!!!!!!!!!!!!!!!!!!!;;;!!!!;~----~~::;!!!!;;::::~~~~:;!****!;:::;!!*!!!!;:~---~:;!!;:~---~~:;!*******===****!!!!****==$$$$$$$$=====$$$$$=*;:~-------,,,---------~~::;;!!!;;;;;;!!!*!!!;;;!!****!;:~---,----~~:!!!*!;::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
--------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------~~::;!!;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!;;;;!!!!!:~----~~~:;;;;;;;;;;:~~~:;!****!;:;;;!*****!!:~---~:;!;;::~~~~::;!!*****======********====$$$$$$$$$=====$$$$*!;:~-----,,,,,----------~::;!!!!;;::::;;;;;;;:::;;;!!!;::~----~~~~::;!!!!!;::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-----------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------~~~::;!!;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!;;;;!!**!;:~-----~~::::::;;!;;::::;!****!!;;!!!***=**!;~---~:;!;;;::~~~::;;!*****==================$$$$$$$$$$========*!;:~---,,,,,,,,--,,,,,--~~:;!!!!;;:~~~::::::~~~~::::;:::~~-~~~~:::;;!!!!!;;;::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
----------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------~~~::;;!!!!;;;;;;;;;;;;!!!!!!!!!!!;;;;;;;;!**=*!;~~--,,----~~::;!!!;::::;!*****!;!!!**====*!;~----~;;;;;:::::::;;!!***================$$$$$$$$$$$$$$=======*!;:~---,,,,,,,,-,,,,,,---~:;;!!!;;:~~----~~~----~~~~:~~~~~~~:::;;;!!!!!!!;;;::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
---------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------~~~~::;;;!!!!!;;;;;;;;;;;;;;;;;;!;;;;;;;;;!!**==*;:~---,,-----~:;!*!!;:::;!*****!!!!!****=**!;~----~:::::::::::;;!!**======$$==========$$$$$$$$$$$$$$$=====*!;:~~---,,,,,,,,,,,,,,,,--~~:;;!;;:~-------------~~~::::~:::::;;;;!!!!!!!;;;;:::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-----------------------------------------------~~--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----~~~~::::;;!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;!**===*!;:~--,,,----~:;!**!;;;;;!***=***!!!!*****!!;~-----~~::::::::;;!!**====$$$$$$$========$$$$$$=$$$$$$$$====**!;:~-----,,,,,,,,,,,,,,,---~::;;::~~------------~~~~::::::;;;;;!!!!!!!;;;;;:;::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
--------------------------------------------~~~~~~--~----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~:::::;;!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;!!*=====*!;:~-,,,,,--~:;!!*!;;;;!!***=****!!!!!***!;:~------~~~~::::;;!!**===$$$$$$$$$$$=====$$$$$$==$$$$$$$$$===*!;;:~~-------,,,,,,,,,,,,---~~:::::~~----------~~~~~:::;;;;;!!!!!!!!!!;;;;;::;:::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-------------------------------------------~~~~~~~~~~----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::;;;!!!!!!!!!;;;;;;;;;;;;;;;;;;;!!!**=======*!;:~--,,,--~::;!!;;;;!!!*********!!!!**!!;:~-------~~~::;;;!**====$$$$$$$$$$=======$$$$$$==$$$$$$$$$$==*!!;:::~~~~------------------~~:::::~~~~~~~~~~~::::::;;;;;;;!!!!!;;;;;;;;;;;::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-----------------------------------------~~~~~~~~~~~~~--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::~~~~~~~::::::;;;;;;!!*!!!!!;;;;;;;;;;;;;;;;!!***==$$$$==*!!;~--,,,--~~::;;;;;!!*****************!;;:~--------~~::;!!**===$$$$$$$$$$=====$===$$$$$$===$$$$$$$$$$=**!!;;::::~~~~~-------------~~~::::::::::::::;;;;;!;;;;;;;!!!!!;;;;;;;;;;;;;:::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
----------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:~~~~~~::::::~~:::::::::;;;;;!!*!!!!!!;;;;;;;;;;;;;;;!***==$$$$$===*!;:~--,,---~~::::;;!***************!!!!;:~~-------~~::;!!*===$$$$$$$$$$$=====$$===$$$$$====$$$$$$$$$$==**!!!;;;;:::::~~~~~~~~~~~~~~:::::::;;;;;;;;!!!!!**!!!!;;;!!!!;;;;;::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
----------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::;;;;!!!!!!!!!;;;;;;;;;;;;;;!**===$$$$$$===*!;:~-------~~~~::;!*************!!!!!;;:~------~~::;!!**====$$$$$$$$$$$$====$=====$$$=====$$$$$$$$$$$==*****!!!!;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!*********!!;;;;;;;;;;:::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
----------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----~~~~~~~~~~:::::::::::::::::::::::::::::::::;;!!!*!!!!!!;;;;;;;;;;;;!*==$$$$$$$$====*!;:~---,-----~~:;!*===********!!!!!!;:~~-----~~:;;!**===$$$$$$$$$$$$$$$$$$$$=============$$$$$$$$$$$$=======****!!!!!!!!!!!!!!!!!!!!!!*********========**!;:::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-----------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~------~~~~~~~~~:::::::::::::::::::::::::::::::::;;;!!!!!!!!!!;;;;;;;;;;;!*==$$$$$$$$$====*!;:~~--------~:;!=====******!!!!!;;;:~----~~::;!!**==$$$$$$$$$$$$$$$$$$$$$$=============$$===$$$$$$$$$========*************************==========$$$$==*!;:::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-----------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~-----~~~~~~~~~~:::::::::::::::::::::::::::::::::::;;!!!!!!!!!!!!!;;;;;;;!*==$$$$$$$$$$====*!;::~----,,-~~;!========**!!;;;;;::~~~~~~::;;!**===$$$$$$$$$$$$$$$$$$$$$$====================$$$$$$$$$==$$====================================$$$$$$==*!;::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~-----~~~~~~~~~~:::::::::::::::::::::;::::::::::::::;;;!!!!!!!!!!!!;;;;;;!*==$$$$$$$$$$$$===*!;;:~~--,,,-~;!===$=====*!;;;::::~~~~~::;;!**===$$$$$$$$$$$$$$$$$$$$$$$$====================$$$$$$$$$$$$$$$$$$$$$$$=================$$$$$$=====$$$==**!;::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~----~~~~~~~~~~::::::;;;;;;;:::::::;;;:::::::::::::::;;;!!!!!!!!!!!;;;;!!*==$$$$$$$$$$$$$===*!!;:~~--,-~:;!===$=====*!!;::::::::::;;!!**===$$$$$$$$$$$$$$$$$$$==$$$=====================$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=============*!!;:::~:::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~--~~~~~~~~~~~:::::;;;;;;;;;::::::;;;;::::::::::::::::;;;!!!!!!!!!!!;;!**==$$$$$$$$$$$$$$$==**!;;:~~-~~:;*==$$$=$===*!;;::::::;;;!!**====$$$$$$$$$$$$$$$$$$============================$$$$$$$====================$$$$$$$$$$$$$$===============**!;:::::::::~~:::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::;;;;;;;;;:::::;;;;;;:::::::::::::::::;;;!!!!!!!!!!!!*===$$$$$$$==$$$$$$$===**!;::~~:;!*==$$$$$$==*!;;::::;;!!***====$$$$$$$$$$$$$$$$$$$$=========================$$$============================$$$$$$$$====================**!;:::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::;;;;;;;;;;;;;;;;;;;;::::::::::::::::::;;;;;;!!!!!!!**===$$$$$$====$$$$$$$===**!;;::;;!*==$$$$$$$==*!!;;;;!!***=====$$$$$$$$$$$$$$$$$$$$=====================================================================================**!;;:::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-----------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::;;;;;!!****===$$$$$$======$$$$$$$====**!!;!!*===$$$$$$$$=**!!!!!***=====$$$$$$$$$$$$$$$$$$$$$=======================================================================================**!;::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
--------------------------------------~~~~~~~~~~~:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::;;;;;;;;;;;;;;;;;;;;;;::::::::::::::~~~::::::;;!***=====$$$$$$========$$$$$$$$===******==$$$$$$$$$==******====$$$$$$$$$$$$$$$$$===============================================================================================**!;:::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
------------------------------------~~~~~~~~~~~:::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::;;;;;;;;;;;;;;;;;;;;;;;::::::::::::~~~~~~~~::;;!**=====$$$$$$============$$$$$$===****===$$$$$$$$$============$$$$$$$$$$$$$$$=================================================================================================**!;:::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-----------------------------------~~~~~~~~~~~:::::::::~~~~~~~~~~~~~~~~~::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::~~~~~~~~~:;;!*=====$$$$$$===============$$$$$$=======$$$$$$$$$$$=========$$$$$$$$$$$$$$$$$=================================================================================================**!::::::::::::;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
----------------------------------~~~~~~~~~~~~:::::::::::~~~~~~~~~~~~~::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::~~~~~~:;!*====$$$$$$$=================$$$$$$======$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=================================================================================================**;::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
----------------------------------~~~~~~~~~~~::::::::::::::~~~~~~~~~:::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::~~~~~~~::;!*====$$$$$$$=================$$$$$$$===$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$================================================================================================**!;:::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
----------------------------------~~~~~~~~~~~::::::::::::::::~~~~~::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::~~~~~~~~:;!*=====$$$$$$$==================$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$===$$$$$$$$$$$$===============================================****==========================**==================**!;:::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
----------------------------------~~~~~~~~~~::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::~~~~~~~::;!*===$=$$$$$$$====================$$$$$$$$$$$$$$$$$$$$$$$$$$$$==========$$$$$$$$==============================================*****======================***********========$$==*!!;::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
---------------------------------~~~~~~~~~~~:::::;;;;;;::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::~~~~~~::;!**=====$$$$$$$$======================$$$$$$$$$$$$$$$$$$$$$$$=============$$$$$$$$============================================*******=================****************=======$$==*!;;::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
---------------------------------~~~~~~~~~~:::::;;;;;;;;;::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::~~~~~:;;!**=======$$$$$$$$======================$$$$$$$$$$$$$$$$$$$$$$=============$$$$$$$$=============================================*****===================*************=========$===*!;;:::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
--------------------------------~~~~~~~~~~~::::;;;;;;;;;;;;;;;;:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::~~:::;!!*===========$$$$$$======================$$$$$$$$$$$$$$$$$$$$$==============$$$$$$$==============================================**=======================**********=========$$===*;;:::::::::::;;;;;;!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-----------------------------~~~~~~~~~~~~~::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::;;!!**============$$$$$$=======================$$$$$$$$$$$$$$$$$$$==============$$$$$==========================================================================********==========$$===!;;::::::::::::;;;;;!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
----------------------------~~~~~~~~~~~~~~::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!;;;;;;:::::::::~:::;;!!*===============$$$$$$$$$$$$$$$================$$$$$$$$$$$$$$$$$=============================================================================================******==========$$$==*!;:::::::::::::;;;;;!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
---------------------------~~~~~~~~~~~~~~::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!;;;;;;::::::::::::;!!**================$$$$$$$$$$$$$$$===============$$$$$$$$$$$$$$$$$$$============================================================================================****==========$$$$==*!;:::::~~:::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
---------------------------~~~~~~~~~~~:::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!;;;;;;;;:::::::::;;!!**===============$$$$$$$$$$$$$$$$$================$$$$$$$$$$$$$$$$$$$$$$=========================================================================================*============$$$$==*!;:::~~~~:::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
------------~-------------~~~~~~~~::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::;;!!**===============$$$$$$$$$$$$$$$$$=================$$$$$$$$$$$$$$$$$$$$=======================================================================================================$$$$$==*!;::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-----~~~~~~~~~~~~~----~~~~~~~~~::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::;!!***==============$$$$$$$$$$$$$$$$$===================$$$$$$$$$$$$$$$$==========================================================================================================$$$$$==*!;::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;;;!!**==============$$$$$$$$$$$$$$$$$$====================$$$$$$$$$$$$==============================================================================================================$$$===*!;::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;;!****=============$$$$$$$$$$$$$$$$$$$=====================$$$$$$========================================================================================================================**!;:::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
~~~~~~~~~::::~~~~~~~~~~~~~~~:::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::;;!!***==============$$$$$$$$$$$$$$$$$$====================================================================================================================================================**!;:::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
~~~~~~::::::::::::::~~~~~~::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::;;!****================$$$$$$$$$$$$$$$=====================================================================================================================================================*!!;::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
~~~~~::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;!!***==================$$$$$$$$$$$$$======================================================================================================================================================*!;;::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;!***=====================================================================================================================================================================================**!;;::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::;;;!!**======================================================================================================================================================================================**!;:::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;;!!***======================================================================================================================================================================================*!!;::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
:::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::;;;!!**=======================================================================================================================================================================================*!;;:::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;!!**========================================================================================================================================================================================*!;;::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;!***========================================================================================================================================================================================*!;:::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;!***=======================================================================================================================================================================================*!;;:::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;!!**========================================================================================================================================================================================*!;;:::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;!!**========================================================================================================================================================================================*!;:::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;!***=======================================================================================================================================================================================**!;:::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;!!**========================================================================================================================================================================================**!;:::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;!!**========================================================================================================================================================================================**!;:::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;!**========================================================================================================================================================================================**!;;:::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;!!;;;;;;;;;;;;;!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;!!**========================================================================================================================================================================================**!;::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;!!**========================================================================================================================================================================================*!;;::::::::::::;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;!***=======================================================================================================================================================================================**!;;::::::::::;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;!***=======================================================================================================================================================================================*!!;:::::::::;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;!***======================================================================================================================================================================================**!;;::::::::;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;!***===========================*=========================================================================================================================================================**!!;::::::::;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;!****========================***=========================================================================================================================================================*!!;::::::::;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!***=========================***========================================================================================================================================================**!;;:::::::;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!***================================================$$=================================================================================================================================**!;;::::::::;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;!***============================================$$$$$$$$$=============================================================================================================================**!;;::::::::;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;!!**===============================================$$$$$==============================================================================================================================*!!;:::::::::;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;!!**=======$$$$$===================================$$$$$===========$=================================================================================================================**!;;::::::::;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;!**=====$$$$$$$$===================================$$$===========$$=================================================================================================================*!!;::~::::::;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!*=======$$$$$$==================================$$$$======$=======================================================================================================================*!;;::~::::::;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!;;!!!!!!;;;;;;;;;;;;;;:::::::::::::::::::::::::;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;!!*========$$$$===================================$$$$=====$$$===========================================================$$$$$$$$$$=================================================*!;;:::::::::;;;;;;;;;;;;;!!!!!!;!!!!!!!!;;;;;;;!!!;;;;;;;;;;;;;:::::::::::::::::::::::::::::;;;;;;::::::
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;!**=========$===================================$$$$$$$==$$$$==========================================================$$$$$$$$$$$$$$$$$$$$$=======================================*!;;:::::::::;;;;;;;;;;;;;!!!!;;;;!!!!!;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!**============================================$$$$$$$$$$$$===========================================================$$$$$$$$$$$$$$$$$$$$$$$$$$==================================*!!;:::::::::;;;;;;;;;;;;;;;;;;;;;;!;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!**============================================$$$$$$$$$$$===========================================================$$$$$$$$$$$$$$$$$$$$$$$$$$$$$================================*!!;;::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::~~~~~~~~::::::::::::::::::::::::~~
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!**===========================================$$$$$$$$$$$============================================================$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$==============================*!!;;::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::~~~~~~~~~~~~~~~::::~~:::::::::::::~~~~~
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!**=============================$$$===========$$$$$$$$$$================================================================$$$$$$$$$$$$$$$$$$$$$$$$$$$$=============================*!!;::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::~~~~~~
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;!!*=================$=====$$$$$$$$$$==========$$$$$$$$$$============*************========================================$$$$$$$$$$$$$$$$$$$$$$$$$$$$===========================**!;;:::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::;;;::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::~~~~~~~
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;!**================$$==$$$$$$$$$$$$===========$$$$$$$$$$=========**********************************=====================$$$$$$$$$$$$$$$$$$$$$$$$$$$$$==========================**!;::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::~~~~~~~~
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;!!**===============$$$$$$$$$$$$$$$$$===========$$$$$$$$$$=======**!!!!!!!!!!!!!!!!!*******************============$====$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=========================**!;:::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;!***==============$$$$$$$$$$$$$$$$$===========$$$$$$$$$$$=====**!!;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!*******========$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=========================*!!;::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!***============$$$$$$$$$$$$$$$$$$===========$$$$$$$$$$$===***!;;;::;;;;;;;;;;;;;;;;;!!!!!!!;;!!!!!!********=======$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=$$==========================*!!;:::::::;;;;;;;;;;;;;;;;;;;:::::;;;;;;;::::::::::::::::~~~~:::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!**============$$$$$$$$$$$$$$$$$==========$$$$$$$$$$$$===*!!;;:::::::::::::;;;;;;;;;;;;;;;;;;;;;;!!!!!!!****======$$$$$$$$$$$$$$$$$$$$$$$$$$==============================**!!;:::::::;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::~~~~~~~::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!**===========$$$$$$$$$$$$$$$$$$=========$$$$$$$$$$$$==**!;::~~~~~::::::::::::::::::;::::::::;;;;;;;;;!!!***======$$$$$$$$$$$$$$$$$$$$$$$$$==============================**!;;::::::::;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::~~~~~~~~:::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!***==========$$$$$$$$$$$$$$$$$$========$$$$$$$$$$$$==*!;;::~~~~~:::::::::::::::::::::::::::::::;;;;;;;;!!**=====$$$$$$$$$$$$$$$$$$$$$$$$$$=============================**!;;:::::::::;;;;;;;;;;;;;;;;::::::::::::::::::::::::::~~~~~~::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!**===========$$$$$$$$$$$$$$$$$$==$$===$$$$$$$$$$$$==*!;::~~~~~:::::::::::::::::::::::::::::::::::::::;;;!**=====$$$$$$$$$$$$$$$$$$$$$$$$$====================$========**!;;::::::::::;;;;;;;;;;;;;;;::::::::::::::::::::::::::~~~~~:::::::::::::~~~~~::::::~~~~~~~~~~~~~~~~~~~~~~
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;!!**==========$$$$$$$$$$$$==$$$$$$$$$=$$$$$$=$$$$$$==*;::~~~~~~:::::::::::::::::::::::::::::::::::::::::;!!**=====$$$$$$$$$$$$$$$$$$$$$$$$$==================$$$=======**!;;::::::::::;;;;;;;;;;;;;;;::::::::::::::::::~::::::::~~~~:::::::::::::~~~~::::::::~~~~~~~~~~~~~:~~~~~~~
;;;;;;;;;;;;;;;;;;;;;;;;!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::;;;!!***========$$$$$$$$$$$$==$$$$$$$$$$$$$$$$$$$$$$===!;::~~~~~~:::::::::::::::::::::::::::::::::::::::::;;!**============$$$$$$$$$$$$$$$$$$$=================$$========**!;;::::::::;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::~::::::::::::::::~::::::::::~~~~~~~~~~~:::~~~~~~
;;;;;;;;;;;;;;;;;;;;;;;;!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::;;;!!**========$$$$$$$$$==$$$$$$$$$$$$$$$$$$$$$$$$===!;::~~~~~:::::::::::::::;;;;;;;;::::::::::::::::::::;!**============$$$$$$$$$$$$$$$$$$$============================*!!;::::::;;;;;;;;;;;;;;;;;;;:::::::::~:::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~:::~~~~~~
;;;;;;;;;;;;;;;;;;;;;;;;;!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::;;;!!**===========$$$$===$$$$$$$$$$$$$$$$$$$$$$$$==*!;::~~~:::::::::::::::;;;;;;;;;;;;;:::::::::::::::::;!**============$$$$$$$$$$$$$$$$$$$============================*!;;::::::;;;;;;;;;;;;;;;;;;;:::::::::~~:::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~:::~~~~~~
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::;;;!!**===========$$$==$$$$$$$$$$$$$$$$$$$$$$$$$==*!;:::~::::::::::;::::;;;;;;;;;;;;;;;::::::::::::::::;!**============$$$$$$$$$$$$$$$$$$$===========================**!;;::::::;;;;;;;;;;;;;;;;;;::::::::::~~::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~:::~~~~~~
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::;;!!**==============$$$$$$$$$$$$$$$$$$$$$$======*!;:::~::::::::::;:::;;;;;;;;;;;;;;;;;;;;;;:::::::::;;!!*============$$$$$$$$$$$$$$$$$$$===========================*!!;;::::::;;;;;;;;;;;;;;;;;;::::::::::~~~:::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~::~~~~~~~
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::;;!!**=============$$$$$$$$$$$$$$$$$$$$$$$=====*!;::::::::::::::;;::;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;;!!**===========$$=$$$$$$$$$$$$$$$$==========================**!;;;::::::;;;;;;;;;;;;;;;;::::::::::::~~~::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~:~~~~~~~
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::;;;!!**===========$$$$$$$$$$$$$$$$$$$$$$$$$=====*;::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;!!***==============$$$$$$$$$$$$$$=========================**!;;;::::::::;;;;;;;;;;;;::::::::::::::::~~:::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~
::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!;;!;;;;;;;;;;;;;;;;;;;;:::::::;;!!**==========$$$==$$$$$$$$$$$$$$$$$$$$$====*!;::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!***================$$$$$$$$$$$$$================$$$====**!!;;:::::;:::::;;;;;;;;;::::::::::::::::::~:::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~
:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;:::::::;;!!***=========$=====$$$$$$$$$$$$$$$$$$$====*!;;::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!***================$$$$$$$$$$$================$$====**!!;;::::::;;:::::;;;;;;;:::::::::::::~:::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~
::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;:::::::;;;!!****=============$$$$=$$$$$$$$$$$$$====*!;;:::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!***=================$$$$$$$$$=====================*!!;;;::::::;;;:::::::::::::::::::::::~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~
::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;::::::::;;;!!***============$$$$=$$$$$$$$$$$$$$===*!;;;::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;!!***=================$$$$$$$$====================*!!;;:::::::;;;;:::::::::::::::::::::~~~~~~:::::::::::::::::;:::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~
:::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;:::::::::;;;;!!!****=============$$$$$$$$$$$$$$===*!!;;:::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!***==============$$$$$$$$$$==================**!;;;:::::::;;;;:::::::::::::::::::::~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~
:::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;:::::::::::;;;;;;!!**=============$$$$$$$$$$$$$===**!;;;:::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!***============$$$$$$$$$$$$=====$$$$======**!;;::::::::;;;;;::::::::::::::::::::::~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~
:::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!;;;;;;;;;;;;;;;;;;;;;;;;;!!!;;;;;;;;;;!!!!!!!!!!!!!!!;;;;!!!;;;;;;;;;;;;;;;;;;;;::::::::::::::::;;!**====================$$$$$====*!!;;;:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!***==========$$$$$$$$$$$$$$$$$$$$$$$$====*!;;::::::;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~
::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::;!**======================$=====*!!;;;:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!****=======$$$$$$$$$$$$$$$$$$$$$$$$$===*!;;::::::;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~
::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::~~~::;!*============================**!;;;:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!****=====$$$$$$$$$$$$$$$$$$$$$$$$$===*!;;::::::;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~::~~~~::
:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::~~~~~::;!*=========================$=**!;;;:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!***=====$$$$$$$$$$$$$$$$$$$$$$$$===*!;;::::::;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;:::::::::::::::::~~~~~~::::::::
:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::~~~~::;!!*=======================$$==*!!;;:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!**=====$$$$$$$$$$$$$$$$$$$$$$$===*!;;::::::;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;:::::::::::::::::~~~~~::::::::
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::;!**=====================$$$==*!!;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!**=====$$$$$$$$$$$$$$$$$$$$$$===*!;;::::::::;;;;::;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;::::::::::::::::~~~~~~::::::::
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::;;!*=====================$$$===*!;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::;;!**==========$$$$$$$$$$$$$$$$==**!;;::::::::;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;:::::::::::::::::~~~~~~::::::::
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::;!*======================$$===*!;;;;;;;;;;;;;;;;;;;;;;;;;!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::;;!**==================$$===$$==**!;;:::::::;;;;;;;;;:::::::::::~::::::::::::::::::::::::::::::::::::::::::::;;;;;;:::::::::::::::::::~~~~~~~:::::::
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::;*===$==================$$$==*!!;;;;;;;;;;;;;;;;;;;;;;!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::;;!**==========================**!;;:::::::;;;;;;;;;:::::::::~~~~:::::::::::::::::::::::::::::::::::::::::::;;;;;:::::::::::::::::::::~~~~~~:::::::
;;;;;;;;;;;;;;!!;;;;;;;;;;;;;!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::;!===$$$================$$$==**!;;;;;;;;;;;;;;;;;;;;!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::;!!*==========================**!;;::::::;;;;;;;;;;:::::::::~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~::::::
;;;;;;;;;;;;!!!!!!!;;!!;!!!;;!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::;;*===$$$$=$$============$$$$==*!!;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!;;;;;;;;;!!!;;;;;;;;;;;;;;;;;;;;::::::;;!**=========================**!;;:::::;;;;;;;;;;::::::::::~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~::::::
;;;;;;;;;;;!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;!!!!!;;;;;;;;;;;;;;;;;;;;;::;:::::;!*===$$$$$$$=============$$$==*!!;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;::::;;!!**=========================*!;;:::;;;;;;;;;;;::::::::::::~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~::::::
;;;;;;;;;!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;!!!!!!!!!;;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;:::;;!*==$$$$$$$$=============$$$==*!!;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;::::;;!**=========================*!;;:::;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~::::::
;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;!!!!!!!!!!;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;:::;!!*===$$$======================*!!;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;!!!!!!!!!!!;;;;;;;;;;;;;;;;;:::::;!!**========================*!;;;:;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~:::::::
;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;::;!!*=============================*!!;;;;!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;!!!!!!!!!!;;;;;;;;;;;;;;;;;:::::;!**========================*!;;;:;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~::::::::
;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;!**=============================*!!!;;!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;!!!!!!!!;;;;;;;;;;;;;;;;::::::;!!*========================*!;;:::;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~::::::::
;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;!!!!!!!!!!!!!;;;!!!!!!!!;;;;;;;;;;!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;!**=============================**!!!;;;!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;!!!!!!!;;;;;;;;;;;;;;;;::::~:;;!*========================*!;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~:::::::::
;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;!!!!!!!!!!!;;;;;;!!!!!!!;;;;;;;;;!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;!!**==============================**!!!!;;;;!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;!!!!!!;;;;;;;;;;;;;;;::::~~::;!**=======================*!;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~::::::::::
;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;!!!!!!;;;;!!!!!!!!!!!!!!!!!!!!;;;;;;;;;!!!!!!!!!!;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;!!!!**==============================**!!!;;;;;!!!!!!!!!!!!!!!!!!!!!!;;;;;!!!!!!;;;!!!!!!!;;;;;;;;;;;;;;:::::~~::;!**======$================*!;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~:::::::::::
!!!!!!!!!!!!!!!!!!!!!!!!;;;;!!!!!!!!!!!!!;!!!!!!;;;;!!!!!!!!!!!!!!!!!!!!;;;;;;;;;!!!!!!!!!!;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;!!!!****============================****!!!;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;:::::::::;;!**======$$========$======*!;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~::::::::::::
!!!!!!!!!!!!!!!!!!!!;;;;;;;;!!!!!!!!!!!!!!!!!!!;;;;;;!!!!!!!!!!!!!!!!!!!;;;;;;;;;;!!!!!!!!!;;;;;;;!!!!!!!!!!!!!!!!!!!!!!;;;!!!!!!!;;;;;;;;;;;;;!!!*****==========================*******!!!;;;;;;!!!!!;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;::::::::::;;!**===$$$$$$======$$======*!;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
!!!!!!!!!!!!!!!!!!!;;;;;;;;;!!!!!!!!!!!!!!!!!;;;;;;;;!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;!!!!!!!;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!;;;!!!!!!;;;;;;;;;;;;;;!!******==========================******!!!;;;;;;;;!!!;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;:::::::::::;;!**=====$$$$=======$======*!!;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
!!!!!!!!!!!!!!!!!!;;;;;;;;;;;!!!!!!!!!!!!!!!!;;;;;;;!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;!!!!!!!;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!;;;;!!!!;;;;;;;;;;;;;;!!*********=======================******!!!!;;;;;;;;;!!;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;:::::::::::;;!**=====$$$$==============*!!;:::::::::::::::::::::::~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
!!!!!!!!!!!!!!!!!!;;;;;;;;;;;!!!!!!!!!!!!!!!!;;;;;;;!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;!!!!!!!;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!;;;;;;!;;;;;;;;;;;!;;;!!***=*******====================*****!!!!!;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;::::::::::;;;!**=====$$$$==============**!;::::::::::::::::::::::::~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;;;;;!!!!!!!!!!!!!;;;;;;;;;;;;!!!!!!!!!!!!!!!!;;!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;!!!;;;;;;;;;;;;;;!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;!;;;!!**********===================*****!!!!!!;;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;::::::::::;;;!**======$$===============**!;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;;;;;;;;!!!!!!!!!;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;!!!;;;;;;;;;;;;!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;!!!;;;!!!*******==================******!!!!!;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;::::::::::;;;!**=======$===============*!!;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;;;;;;;;;!!!!!!!!;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;!!!;;;;;;;;;;;!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;!!!!;;;!!!!*******================******!!!!!;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;:;;;;::::;;!!**=======================*!!;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;;;;;;;;;!!!!!!!;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;!!!!!;;;;;;;;;!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;!!!!!;;!!!!!********===========******!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;:::;;!!**=======================*!;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;;;;;;;;;;;!!!!!;;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;!!!!!!;;;;;;;;!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;!!!!!;;;!!!!!********************!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;!;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;:::;;!!***====================**!!;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;;;;;;;;;;;;;!!!;;;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;!!!!!!;;;;;;;!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;!!!!;;;;!!!!!****************!!!!!!!;;!!;;;;;;;;;;;;;;;;;;;;;;!!!!;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;::::;;!!*****===============*****!;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!;;;;!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;!!!!!!;;!!!!!!!!!!!!!!!!!!!!!!;;;;;;;!!;;;;;;!!!;;;;;;!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;::::::;!!********==========*****!!;;:::::::~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!;;;;;;;;!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;!!!!!!;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;!!!!!;;;;;!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;::::::;;!!********************!!!;;:::::::~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~:::::::::::::::::::~~~~~
;;;;;;;;;;;;;;;;;;;;;;;;;;!!!;;;;;;;;;!!!!!!!!!!!!;;;;;;;;;!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;!!!!!!;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!!;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;::::::::::;;!!!***************!!!!;;;::::~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~:::::::::::::::::::~~~~~
:::::::::;;;;;;;;;;;;;;;;!!!!!;;;;;;;!!!!!!!!!!!!!;;;;;;;;;!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;!!!!!!;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;:::::::::~~:::;;!!!!!!!!!!!!!!!!!!!;;;;:::~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~:::::::::::::::::::~~~~~
::::::::::;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;!!!!!!;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;::::::::~~~~:::;;;!!!!!!!!!!!!!!;;;;;:::::~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~::::::::::::::::::~~~~~~
:::::::::::;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;!!!!!!!;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;:::::::::~~~~::::;;;;;;;;;;;;;;;;;;:::::::~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~
::::::::::::;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;!!!!!!!!;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;::::::::::~~~~~:::::;;;;;;;;;;;;;:::::::::~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~::::::~~~~~~~
:::::::::::::;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;!!!!!!!!!!!!!!!!!!;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;:::::::::::::~~~~~:::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~::::~~~~~~~~
:::::::::::::;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;!!!!!!!!!!!!!!!!!!;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;::::::::::::::~:~~~::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~::::~~~~~~~
:::::::::::::;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;!!!!!!!!!!!!!!!!!!;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;:::::::::::::::::::~~~::::::::::::::~~~~~~~~~~~:::~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~:::::::~~~~
::::::::::::::;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!;!!!!!!!!!!!!!!!!!!!;;;;;;!!!!!!!!!!!!!!!;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!;;;;!!!!!!!!!!!!;!!!!!!!!!!;;;;;;!;;;;;;;;;;;;;;;;:::::::::::~~~:::::::::~~~~~:::::~~~~~~~~~~~~~~~~::::~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~:::::::::~~
::::::::::::::;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!;;!!!!!!!!!!!!!!!!!!;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!;;!!!!!!!!!!!!!;;!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;:::::::::::~~~~~~~~~~::~~~~~~~~:::~~~~~~~~~~~~~~~~:::::~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~:::::::::::
:::::::::::::;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!;!!!!!!!!!!!!!!!!!!;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!;;!!!!!!!;;;;;;;;;;;;;;;;;;;;;;::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~::~~~~~~~~~~~~~:::::~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~::::::::::::
:::::::::::::;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!;;;!!!!!!;;;;;;;;;;;;;;;;;;;;::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~::~~~~~~::~~~~~~::::~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~::::::::::::::::::
:::::::::::::;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!;;;!!!!!;;;;;;;;;;;;;;::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;!;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!;!!!!!!!!!!;;;!;;;;;;;;;;;;;;;;;::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::;;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;!!!;;;!!!!!;;;;;;;!!!!;;;;;;;;;;;;;;;;;;;;;!!!!!!;;;!!!!!!!!!;;;;;;;;;;;;;;;;;;::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~:::::::::;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;!!!!!!;!!!!!!;;;;;;;!!!!;;;;;;;;;;;;;;;;;;;;;!!!!!!;;;;;!!!!!!;;;;;;;;;;;;;;;;;::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~::::::::::;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;!!!!!!;;;;;;;;!!!!!;;;;;;!!!!!!!;;;;;;!!!!;;;;;;;;;;;;;;;;::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~~:::::::::::::;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;!!!!!!!;;;;;;!!!!!!!!!;;;!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~~~::::::::::::::;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~~~~:::::::::::::::;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~~~~:::::::::::::::;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~~~~~:::::::::::::::;;;;;;;;;!!!!!;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~~~~~:::::::::::::::::;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~~~~~~:::::::::::::::::;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;:::;;::;:::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::~~::::::::::::~::::~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~~~~~~:::::::::::::::::;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;!;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~~~~~~~:::::::::::::::::;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~~~~~~~:::::::::::::::::;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~~~~~~~::::::::::::::::::;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~~~~~~~::::::::::::::::::::;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~~~~~~~~::::::::::::::::::::;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~:::~~~~~~~~~::::::~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~~~~~~~~::::::::::::::::::::::;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~::::::::~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~~~~~~~~~::::::::::::::::::::::;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;!!!;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~~~~~~~~~:::::::::::::::::::::::;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~~~~~~~~~~::::::::::::::::::::::::;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~~~~~~~~~~~::::::::::::::::::::::::;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~~~~~~~~~~~~:::::::::::::::::::::::::;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;::::;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;::;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~~~~~~~~~~~~~~~~~~:::::::::~::::::::::::;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~::~~~~~~::::::::::::::::::::::::::::::::::::::;::::::::;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~~~~~~~~~~~~~~~~~~~::::::~~~~~:::::::::::;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~::~~~~~~~~:::::::::::::::::::::::::::::::::::;;;;;:::::::;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~~~~~~~~~~~~~~~~~~~~~~:~~~~~~~:::::::::::;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;:::::::;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;:::::::::::;::::::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;:;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!;;;!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::;;;;;;;;!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::;;;;;;;;!!!!!!!!!!!!!;!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::;;;;;;;;!!!!!!!!!!!;;;;!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::;;;;;;;;!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::;;;;;;;;!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::;;;;;;;;!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::;;;;;;;;!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;:::::::;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::;;;;;;;;!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;
::::::~~~~~~~~~~~~~~~~~~~::::::::::::::::::;;;;;;;;!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;
:::::::::::::::::::::::::::::::::::::::::::;;;;;;;;!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;:;;;;;;;;;;:::::::::::::::::;;;;:::::;;;;;
::::::::::::::::::::::::::::::::::::::::::;;;;;;;!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::;;;;;::::;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;;;;;;;;;;;;;;;::;;;;;;
::::::::::::::::::::::::::::::::::::::::;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;::::::::;;;;;;;;;;;;;:::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;::::::::::::::::::::::::;;;;;;;:::::::;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
:::::::::::::::::::::::::::::::::::::;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
::::::;;;::::::::::::::;;;::;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!;;;;;;;;;;;;;;;!!!!!;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!!!!****!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!!;;;;;!!!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!!!!;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;!!!!!!!;;;!!
;;;;;!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;!!!!!!!!!!!!*************!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!******************!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!***!!!!!!!*********!!!!!!!!!!!!!!!!***********************!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
************************************************************************************************************************************************************!!!*************************************************************************************************************************************************************************************************************************************************
*******************************************===================**************************************************************************************************************************************************************************************************************************************************************************************************************************************************
***============================**====================================****===========================***************************===********====*******************************===*********=***=**==========*==========**************=========**==========*==========************========***********************==================================================================================================
================================================================================================================================================================================================================================================================================================================================================================================================================
===========================================$$$$$$$$$$======$====================================================================================================================================================================================================================================================================================================================================================
$$$==$$$$$$$$$===$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=======$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$====$$$$$$$=====================================================$$$====================$$$$$$=====$$$$$$==$$==$$========$$$$$=======$$$=========$$$==============================$$$$$$=======$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$==$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=====$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$==$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$==$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$===$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$===$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$===$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=======$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$======$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$==========$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$==$$$$$$$$==$$==$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=$$$$$$$$$$$$$$$$$$$$$$==$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$==$$$$$$$$$$====$$$$$$$$$$=$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=====*****====*****=====$$$$=======================$========================$$$$$$$$$$$$==$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$===$$$$$$================$$$$$$$===============****=====$$$$======$$$$$$=======$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=================***====$$=====$=========
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$====$$$$$$$$$$$$$$$$===***!!!!!****!!!!!***===$$==******************======**********************==$$$$$$$$$$====$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=======$$$==*****==*****=====$$$$===****!!*******!!!!***====$==**====$$$$==****==$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=========**********!!!**===$=**=======***==
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=============$$$$$$$$$$$$==**!!;;;;;!!!!;;;;;!!**==$==**!!!!!!!!!!!!!!!!!*====**!!!!!!!!!!!!!!!!!!!!**=$$$$$$$$$==**==$$$$$$$$$$$$$$$$$$$$$$$$$$$$$===***====$=*!!!!****!!!!***=======***!!!;;!!!!!!!;;;;!!**=====*****==$$$$=*!****==$$$$$$$$$$$$$$$$$$$$$$$$$$$$$==********!!!!!!!!!!;;!!*===**!*=====******
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=========**======$$$$$$$$$==**!!;:::::;;;;:::~:;;!**===*!!;;;;;;;;;;;;;;;;!!******!!!;;;;;::;;;;;;;!!!!*=$$$$$$$$=**!!*==$$$$$$$$$$$$$$$$$$$$$$$$$$$$=******====*!;;;;;!!;::;;!!!***====**!!;;::;;;;!;;::::;;!**===*!!;!!**==$$=*!!!!*===$$$$$$$$$$$$$$$$$$$$$$$$$$$==**!!!!!!!;;;;;;!!!;;:;!!****!!**=***!;;!!!
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$======*********====$$$$$$$$==*!!;:~~~~~~::~~~--~:;;!**==*!;::::;;;;;;;;::::;!*****!!;;;;:::~~::;;;;;;;!!*==$$$$$$=**!;;**==$$$=$$$$$$$$$$$$$$$$$$$$$$==*!!!!*====*;::::::::~~~:;;;!!!**=**!!;;:~~::::;::~~~~:;;!****!!;:;;!!*==$=!;;!!*===$$$$$$$$$$$$$$$$$$$$$$$$$$==*!!;;;;;;::;;;;;;!!;:~:;!!!*!!!!***!!;::;;;
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$====****!!!!!***====$$$$$$$==*!!;:~~~--~~~~~---~:;;!**==!;::~~::;;;;;;::::::;!****!!!;;;::~~~~::;;;;;!!!*=$$$$$$==*!;:;!**==========$$$$$$$$$$$$$$$$==*!!!!!*==**!:~~~~~~~~--~~::;;;!!*=**!;;::~~~~::::~~~~~:;;!!**!!;::::;!**==*!;;;;!*==$$$$$$$$$$$$$$$$$$$$$$$$$$==*!;;;:::::::;;;!!!!;:~:;;!!!!;;!**!!;:~::;;
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=====**!!!!!!!!***====$$$$$$$=**!!;::~~~~~~~~~~~:;;!!*===!;::~~:;;;;;;;::::::;!**=***!!!;;::~~::;;!!!!!***=$$$$$$=*!;:~:;!*********===$$$$$$$$$$$$$$===*!!!!**==*!;:--~~~~~----~:::;;!!*=**!!;::~~~~::::~~~~~:;!!***!!;:::::;!**=*;::;;!**==$$$$$$$$$$$$$$$$$$$$$$$$$=*!!;;;::::~~:;;!!***!;::;;;!!!;;!!!;;:~~~:::
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$====**!!!;;;;!!***====$$$$$$$==**!!;;:~~~~~~~~::;!!***===!;:~~~:;;;;;;;;:::~:;!**===****!!;:~~:;;!!*****==$$$$$$=*!:~~~~:;!!!!!!!!**==$$$$$$$$$$$$$===**!!!***=*!;:~,--~~---,,-~~::;;!!*=***!;;:~~~~::::~~~::;;!****!!;::~~~:;!!*!;::::;!**==$$$$$$$$$$$$$$$$$$$$$$$==*!;;;;:::~~~:;!**===*!;;;;;!!!!;!!!;:~~-~~::
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$====***!;;;;;!!!***=====$$$$$$===**!!;:::~~~::::;;!***====!;:~~~:;;;;;;;;:::~:;!*========*!!;:~:;;!!***====$$$$$==*;:~~~~:;;;!;;;;;!*==$$$$$$$$$$$$===***!!**===*!;:~,--~~---,,-~~::;;!**==**!;;:~~~~~::::~:::;!!**=**!;;::~~:;;!!;:~~~:;;!*==$$$$$$$$$$$=====$$$$$$$==*!;;;;:::~~~:;!**===*!;;;;;!!!;;;!;::~~-~~::
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$====**!!;;;!!!***=======$$$$$$$==**!!;;::::::::;;!!**=====!;:~~~:;;;;;;;;:::~:;!*=========*!;:~::;;!!**===$$$$$$=*!;~~~::;;;;;;:::;;!*=$$$$$$$$$$$===*******=====!;:~--~~~~--,,-~::;;!!**==**!;:::~~~~~~::::::;!!*==***!;;:~:;;;!!;:~~~~:;!**==$$$$$$$$========$$$$$$==**!!!;;:::~~:;;!****!;::;;;!!!;;;;;::~~-~::;
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$===***!!;;!!***==========$$$$$$===**!!;;;;;;;;;;;!**======!;:~~~:;;;;;;;;:::~:;!*==$$$$$$==*!::::;;;!**==$$$$$$=*!;:~~::;;!!;;:~~~:;!*==$$$$$$$$====******===$$$=*;:~-~~:~~~---~~::;;!**====*!;::::~~~~~~:::::;!!*====*!!;;::;;;;;:~--~~::;!*==$$$$$$$===****===$$$$$==**!!!!;;::~~::;!!***!;::;;!!*!;:;;;;:~~~~:;;
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$===**!!;;!!**============$$$$$===**!;;;;;!!!;;;;;;!***====!;:~~~:;;;;;;;;:::~:;!*=$$$$$$$==*!;:::;;;;!!*==$$$==*!;::::;;!!!!!;:~~~:;!*==$$$$$$$====******===$$$$=*!;:~~~:~~~----~::;;!!*===**!;:::::~~~~::;:::;;!*====*!;;:::;!!!!;:~~~~:;!!*==$$$$$$$==**!!**===$$$$$=**!!!!!;;::~:::;;!!!;:~:;;!!!;::;;;::~~~:;;;
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$===**!!;;!**===$$$=======$$$$==**!!;::;!!!*!!;;::;;!!**==*!;:~~::;;;;;;;;:::~:;!*=$$$$$$$==*!;::;;;;;;;!*==$$=*!;:~::;!!****!;;:~:;;*==$$$$$$$$===*****====$$$$$==*!:~~~:~~--,,-~:::;;!!*=**!;::::;::::~::;;:::;!!*==**!;::::;!!!!;:~~::;;!*==$$$$$$$$=*!!;;!!*==$$$$$=**!!!!!;;::::::::;;:::~:;!!!;::~:;;:~~~::;!!
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$==**!!;;!*==$$$$$$======$$$$==*!;;:~:;!**=*!!;:~::;;!**=*!::~~::;;;;;;;;:::~:;!*=$$$$$$$=**!;:;;;:::::;!===$=*;:~~:;!*====*!!;:~:;!*=$$$$$$$$==******===$$$$$$$$==!;::~~~---,,-~~:::;;!***!!;:~:;;;:::::;;;:::;;!*=**!;:~~~:;!!**!;:::;;!**=$$$$$$$$$=*!;::;!!*=$$$$$=**!!!!!;;::::~~~~~~~~~~:;!!;::~~:;;:~~::;;!!
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$==**!!;;!*===$$$$$======$$$$==*!!;:~:;!*===*!;:~::;;!**=*!;::~::;;;;;;;;:::~:;!*=$$$$$$$=**!;:;;;;;;::;!*==$=!;;:::;!**=***!;;::;!*==$$$$$$$===******===$$$$$$$$==!;:~~~---,,,--~~:::;;!*!!!;:~:;;;:::~::;;::::;!***!!;~~~~:;!!**!;::;;!**==$$$$$$$$$=*!;;:;!**=$$$$$=**!!!!!;;;;::~~~~~~~~~:;!*!;;:~~:;;:~~::;;!!
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$====*!!;;!!**====$=======$$$$=**!!;:::;!*===*!;:~::;!!**=*!;::~:::;;;;;;;:::::;!*=$$$$$$$=**!;;;!!!!;;:;!*==$*!;;;:;;!!****!!;;;;!*==$$$$$$===*******===$$$$$$$$==*!;:~~~--,,,,,--~~~::;!!!!;;:::;;::~~~~:;;::::;!!*!!;:~~~~:;!**=*;:;;!**==$$$$$$$$$$=*!;;;;!**=$$$$$=*!;!!!!;;;;;::~::~~~~::;**!!;:~~:::~~~::;;!!
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$====**!!;;!!***==========$$$$=***!!;::;*==$=*!;:::;;!!**=*!;:::::::;;;;;::::::;!*=$$$$$$$=**!;;!!***!;;;!*==$*!;;;;;;;!!!!!!;:;;!**=$$$$$$===*******===$$$$$$$$$==*!;:~~--,,,..,,--~~~::;!!;;;:::;;::~~~~::::::;;!!*!;;:~~~~:;!**=*!;;!!*=$$$$$$$$$$$$=*!!;;!!*==$$$$$=*!;!!!;;;;;;;:::::~~:;;!*=*!;::~:::~-~:;;;!!
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$====**!!;!!!!***=========$$$$==***!;::;**=$=*!;::;;!***===*!;::::::;;;:::::::;;!*==$$$$$$=**!;;!*****!!!*===$=*!!!!!!;;!;;;;;;;!!*=$$$$$$===******====$$$$$$$$$$==*!;::~--,,,,,,,--~~~:;;!!!;;;:::::~~~-~~::::;;;!**!!;;:::::;!*==*!;;;!*==$$$$$$$$$$$==**!!**==$$$$$$=*!;;;;;;;;;;;::::::::;!!*=*!!;:~:::~~~:;;;!!
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=====**!!!!!!!!**========$$$$$===**!;;;!*=$=*!;;:;!*====$=**!;::::::;::::::::;;!*==$$$$$$=**!;;!**===****===$=******!!;;;:::;;!!*==$$$$===*******====$$$$$$$$$$$=**!;::~~-,,,,,,,--~~::;!*!!!!;;:::~~~---~~:::;;!!****!;;::;;!**==*!:;;!**==$$$$$$$$$$$==***===$$$$$$$=*!;;;;;::;;;;::;;;;:;;!!****!;::::::~::;;;!!
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$======*!!!!;!!!!***=====$$$$$$$===*!;;!!*=$=*!;;:;*===$$$$=*!;::::::;::~::::;;!!**==$$$$$=*!!;;!**=$$======$$======*!!;::~~::;!*==$$$$$==***!****===$$$$$$$$$$$$=**!;::~~--,,,,,---~~::;!***!!!;;::~~-----~~:;;!!******!;;;;!!**==*!:;;;!*===$$$$$$$$$$$=====$$$$$$$$$=*!!;;::::;;;;::;!!;;;!!!*****!::::::::;;;;!!
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=====**!!!!!!!***=====$$$$$$$$==*!;;;!**=$=*!;;:!*==$$$$==*!;::::;;;;:~:::;;;;!!*===$$$$=*!!;;!**=$$$=====$$$======**!;::~::;!*==$$$$==***!!***===$$$$$$$$$$$$$=**!;;:::~~-----~~~:::;!!****!!;;;:::::~~~~::;;!!**===*!;;;!!****=!;:::;;!*===$$$$$$$$$$$$==$$$$$$$$$$==*!;;;::::;;:::;!!!;;;;!!!!**!::::;;;;;;;!!!
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$======*****!!****====$$$$$$$$==*!;;;;!*==$=*!;;:!*==$$$===*!;::;;;;!;:::::;;;;;!**==$$$$=*!!;;!**=$$$$$$$$$$$$$$$===**!;:::;;!*=$$$$==**!!!!**===$$$$$$$$$$$$$$=**!!;;;;::~~~~~::::;;;!*****!!!;;;;;;;;;:::;;;!!*=====*!;!!!*****!;::::;!!*===$$$$$$$$$$$$$$$$$$$$$$$==*!!;;;;::::::;!**!;;;;;;;!**!:::;;;;;;;;!!!
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$======**********====$$$$$$$$==*!;;;;!*==$=*!;;:!*=$$$$==**!;;;;;!!!;;::::;;;;;;!*==$$$$=**!;;!**=$$$$$$$$$$$$$$$$===**!;::;!*==$$$$==**!!!!**==$$$$$$$$$$$$$$==**!!!!!!;;::::;;;;;;!!!*****!!!;;;!!!!!!;;;;;;!!*=====*!!!*****!!;:~~~::;!!*==$$$$$$$$$$$$$$$$$$$$$$$$=**!!;;;;:::::;!**!;;;::::!**!::;;!!!!;;;!**
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$========****======$$$$$$$$==*!;;;;!*===$=*!!;;!*=$$$==**!!;;;!!***!;;;;;;;;;;!!*==$$$$=**!;;!*==$$$$$$$$$$$$$$$$$$==**!;;!!*=$$$$$==**!****===$$$$$$$$$$$$$$==***!!!**!!;;;;!!!!!!!!******!!!!!!!*****!!!;;!!!**====**!!****!!!;::::::;!!*==$$$$$$$$$$$$$$$$$$$$$$$$==***!!!;;::;;!****!;;:::;!*=!;;;!!!!!!!!***
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$===============$$$$$$$$$$==*!;;;!!*==$$==*!!;*==$$$==*!!;;;!!**==*!!;;;;;;;;!**==$$$$==*!!!!*==$$$$$$$$$$$$$$$$$$$===*!!!!*=$$$$$==******===$$$$$$$$$$$$$$$===*****==***!!!*************!!!!!!**=====***!!!!!!*=====******!!!!;;::::;;;!*==$$$$$$$$$$$$$$$$$$$$$$$$====***!!;;;;!!*==*!!;::;;!*=*!;!*****!!!***
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$============$$$$$$$$$$$$==*!;;!!*==$$$==**!!*==$$$==*!!;!!!*=====*!!!;;;;;!!*===$$$$==**!!*===$$$$$$$$$$$$$$$$$$$$$==*****=$$$$$===***====$$$$$$$$$$$$$$$$===***===$==****=======***=**!!!!***==$$$===**!!!!**=====*******!!!;;;;;;;;!!*==$$$$$$$$$$$$$$$$$$$$$$$$$=====***!;;!!*====*!;;;;!*==*!!**==******==
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$======$$$$$$$$$$$$$==**!!**==$$$$$==****=$$$$==**!!!**======***!!!!!!!**==$$$$$$==***===$$$$$$$$$$$$$$$$$$$$$$$===**==$$$$$$========$$$$$$$$$$$$$$$$$$=======$$========$$========******===$$$$$===******===$$==*===****!!!!!!!!!***==$$$$$$$$$$$$$$$$$$$$$$$$$$======**!!**==$==**!!!!**===**======***===
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$===***===$$$$$$=======$$$$===*****=========********===$$$$$$$======$$$$$$$$$$$$$$$$$$$$$$$$$$=====$$$$$$$$======$$$$$$$$$$$$$$$$$$$$=====$$$$$====$$$$$$$============$$$$$$$$$==========$$=========***********====$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$====**===$$$===****==$$=====$=======$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=======$$$$$$$$=====$$$$$$=========$$$$=======*=====$$$$$$$$$====$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$========$$$$$$$$$$$$=======$$$$======================$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$======$$$$$========$$$$=$$$$=====$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=====$$$$$$$$$$$$$$$$$$$$$=======$$$$$$$==========$$$$$$$$$$====$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=$$$$$$$$$$$$$$$$$$$=$$$$$$$$=$$$================$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$==$$$$$$$$$=====$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################

 

개추
|
추천
0
반대 0
신고
    
  [숨덕모드 설정] 숨덕모드는 게시판 최상단에 위치해 있으며 언제든 설정할 수 있습니다.
[L:34/A:508]
종이
또 깨짐
2020-12-02 02:33:11
추천0
[L:49/A:487]
하태철
안보이네요
2020-12-02 02:33:13
추천0
흑사자와용
지금도안보임?
2020-12-02 02:34:16
추천0
[L:49/A:487]
하태철
너무짤리네요
2020-12-02 02:36:17
추천0
평범한아이
안보이는게 문제네야
2020-12-02 02:33:21
추천0
[L:44/A:367]
20세기오타쿠
정신이나갈거같음
2020-12-02 02:33:59
추천0
의견(코멘트)을 작성하실 수 없습니다. 이유: 로그인을 하시면 댓글작성이 가능합니다. 츄잉은 가입시 개인정보를 전혀 받지 않습니다.
  
즐겨찾기추가   [게시판운영원칙] | [숨덕모드 설정] |   게시판경험치 : 글 10 | 댓글 2
번호 제목 글쓴이 등록일 추천 조회
정보공지
주말 이벤트 예고 [1]
헬릭스컨텐
2021-01-26 0 0
정보공지
2021 신년기념 가왕이벤트 (수정) [19]
여우
2021-01-17 26 0
정보공지
[닉판매공지] - 닉네임 판매 안내 [25]
PHP7
2020-08-12 4 0
정보공지
츄잉에 양질의 컨텐츠 도움을 주실분을 구합니다. [16]
츄잉
2019-08-13 2 0
정보공지
[수정/2020.11. 26] 자유게시판 규칙 안내 [108]
츄잉
2014-07-13 8 0
309500 잡담  
벌써 금요일이네
조커
2021-01-29 0-0 0
309499 잡담  
와이푸터졋네ㅋㅋ
킴무제
2021-01-29 0-0 8
309498 잡담  
이 네개중에선 어떤것이 낫나요 [2]
류드
2021-01-29 0-0 6
309497 잡담  
자야지... [11]
마스체니
2021-01-29 0-0 20
309496 잡담  
불금이네
타인티
2021-01-29 0-0 3
309495 잡담  
좋은밤 되세요. [1]
인간맨
2021-01-29 0-0 8
309494 잡담  
캐피탈리즘 호 2화후기 [3]
000002호
2021-01-29 0-0 16
309493 잡담  
아 1시버스 실패
타인티
2021-01-29 0-0 4
309492 잡담  
인터넷상태가시발이네
류드
2021-01-29 0-0 11
309491 잡담  
이제만화캐신청가능하네 [2]
킴무제
2021-01-29 0-0 10
309490 잡담  
닌텐도 스위치 살 만한 가치 있냐? [1]
Mr0SirCrocodile
2021-01-29 0-0 12
309489 잡담  
우리사단 수건이야 [2]
고리
2021-01-29 0-0 17
309488 잡담  
보일러올렸는데안따뜻해진다 [20]
마스체니
2021-01-29 0-0 16
309487 잡담  
새벽반 망했네요 [3]
줄리엣
2021-01-29 0-0 12
309486 잡담  
톱을노려라보신분... [1]
킴무제
2021-01-29 0-0 19
309485 잡담  
추잉을버리지마 [14]
범고래
2021-01-29 0-0 21
309484 잡담  
추워서목아픔 [12]
마스체니
2021-01-29 0-0 16
309483 잡담  
어째 불닭볶음면이 싱거워진 것 같아 [6]
고리
2021-01-29 0-0 26
309482 잡담  
레어 이미지 신청할 때 보정 좀 해도 되지? [5]
마리오
2021-01-29 0-0 30
309481 잡담  
동생년이 자꾸 아픈고양이 들었다 놨다 주물럭거려서 만지지말라함 [8]
000002호
2021-01-29 0-0 30
    
1
2
3
4
5
6
7
8
9
10
>
>>
enFree
공지&이벤트 | 건의사항 | 로고신청 | 이미지신고 | 작품건의 | 캐릭건의 | 기타디비 | 게시판신청 | 클론신고 | 정지/패널티문의 | HELIX
Copyright CHUING Communications. All rights reserved. Mail to chuinghelp@gmail.com | 개인정보취급방침 | 게시물삭제요청