--:::::::::::::::::::::::::.:::::::::::::::::::::::....::::-
-::::::::::::::::::::::::.::::......::::.:::::...::.::::::::
-::::::::::::::::::::::::......:.::.:::.........::::::::::::
::::::....::::::::.:::......::::::............:..::::-::::::
::::..........::.........:.............::.::..:.::::::::::::
::................................:::::::::::.:..:::::::::::
:::...........::........:.. .::::::::::::::::.::::::::::::-:
::.............:::..::::::. :--::::::::::::-:::::---::::::-:
:.........::::::::::::::::. :---::-:--:--:--::::::::--------
..........--:::::::::::::::.------::-:::::-----------===---=
.........:=-:::::::----::::.:::::::::--========-=----===---=
::.....:::=-:::::::--::..:....::---=================:====--=
---:...::-=:::.....::::::::.:----==+=++##**=--=-===:-====-=
-=--:..:-==:::::::---------.-=---==+#%%%%@@@@#+=----:======-
==--:..--==+=:::::=--------.-=--=+=%%%%%@@@@@#==---:==+===-
----:..-==-+=:::::-=------=.-====+=#%##%%@@@@@#==---:=======
.::::::-==-+=:---:-=-----:-.-====+=#%%#%@@%%@%%=---=-===+===
.....::-=+===-----==-=-=--=.-+=====+#%@@@%%%%%=----:-:-++==
....:-:-=+-++-----=======-=.-+======+##%%#++==--:::-::++==
...::-:-+=-++============:=:-+====-====++=====-=:-:::-::=+==
..:::-:-==-++=+++=-======-=:=+=+===============--::.::..-+==
::--:-:=+=-=+=====-=---==-=:=+===========+++--:-....:-..:=+=
---:---=--+=-=--------==-=:=+===+==+++++=--:::-:::::-:::=+=
------:==:+=:::::-------:-:-=---===+=+==-----------:--:::+=
:::----++=:+=....:--:::::.::-=::---=---::::::::---::::::..=+
::::---=+=-+=....:-::.::::.-==::-----=++++=----=:::.::::..:=
.:::::.:::==-.::.:-.....:::-==:-===+**###=-:::-:::.:-:..:.:
.......:::::----::---::--:-:==.:::-==+##+-:..:-....:-::::::
.......::---===--:--------::-------===+++-------::-:::::::..
.....:::----===-::...............:::::::::::::::::..........
::::--:-:----=----::::::.... ...::---=======---::...........
:::::::::::......::::---:::---=++###+#++=--:........
...............:--:::::.:......:::---====--:::::--:..::::-::
....:::-------------::--=====--:.. .. .::......::::--:------
..:::::-----::-----:------:::.:.......::::.:................
.....::.::..::::::.........::......:::-:::............
.........................:::----=++++++++=--::::.......
. ...........::--======+++*****##%%%@%##++==-----:-
......:::-----==++++++===+##%%%#####%%%%%%##**+=------
....::::-----::-==++++++++-::-=+#%%@@@%%%#++++=-::::=--::
...::-::::::....:--=++++*+==-::--=+#%%%%#+=----==---::.
... ...:::::.......:------:--:-=----::-------=====-:. ...
... ...........::.:::...:--=======+==+++=-:.. .....
... ....::::---===--====++==-:.. .. ........
... ...::-----===----:.. .................
... ......::-::... .....................
. ..... ........ .
. .. .. . .. ........ . .
. .. . . .. .. . ........... .. ..
.. ...... ... .. .. . ..... .... . . .....
... ..... ........... . .. .. ... ... ..
.......... . ... ... . .
. .... .... ..... .. . . ..