--------------@-------------------------------
----------@@---------------@---------------
--------@@---------------@----------------
-----@@@------------@@-----------------
------@@@-----------@@-----------------
---------@@@@@@@@-----------------
--------------------------@@@------------
---------------------------@@@------------
-----------------------------@@@---------
----------------------------------------------
-----------@----------------@--------------
---------@@-------------@@------------
-------@@--@-------@--@@------------
-----@@-------@--@------@@--------
----@@---------@@--------@@-------
----@@-----------@---------@@------
-----@@----------------------@@--------
------@@@---------------@@@------
---------------------------------------------
-------------------@@@-------------------
--------------@@------@@-----------------
-----------@@------------@@-------------
--------@@------------------@@--------
------@@@-----------------@@@-------
---------@@-----------------@@---------
-----------@@-------------@@----------
---------------@@-----@@-------------
-------------------@@@--------------------
---------------------------------------------
---------@@@-----------@@@---------
----------@@---------@@@---------
----------@@-------@@--------------
----------@@-----@@--------------
----------@@@@--------------------
----------@@------@@-----------------
----------@@---------@@-----------
----------@@------------@@-----------
--------@@@-------------@@@--------
----------------------------------------------
---------@@@--------------@@-------
---------@@---------------@@------
--------@@-------------@@@-----
-------@@------------@--@@-------
-------@@----------@----@@-------
--------@@------@-------@@-------
---------@@--@------------@@-------
----------@@@--------------@@@-