######----------######-------- -######
######----------######-------- --######
######----------######-------- -######
----------######----------#### ##----------
----------######----------#### ##----------
----------######----------#### ##----------
######----------######-------- --######
######----------######-------- --######
######----------######-------- --######
----------######----------#### ##----------
----------######----------#### ##----------
----------######----------#### ##----------
######----------######-------- --######
---####-----------######------ ---####----
-------##----------######----- -----##-------
######----------######-------- -######
######----------######-------- --######
######----------######-------- -######
----------######----------#### ##----------
----------######----------#### ##----------
----------######----------#### ##---...