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