......... X%S S.%SXXSX88;...    ...:..... . X88:..
. . . . ;8 8 8 8 8 8 8 .8 . 8@8S ;%%;.. X8t8%;X...
....... : .t:@.::@88XSt@  :::X@; 8SS8.t8t@8 8  .. 
. . . : 8 t:S8S.   ;;:8;St8888888888S.S.: :;   ...
........8.: %;.. .8 8@SSS@88X8X@8888 .. 8888@SS88:
. . . : 8.t. ::.:XS@888888888888@88888X  @8 88t8t 
......: X 8:.:.X;88@8@88888@8888@88X88X% ;t       
. . . : :8   ;X%88888888888888;8@@@888888 :8@:    
.......:t8@ .;X888X8X8X8888X8@888 8@8888@% ;8:    
. ..   .    S%8@8888888888@88888@8888@88St  X%:  .
..:888@8 t% SS888X8X8X88888X8X88888@888@@8:8:.% ..
@ .    8@888888888888888@@X8X88888X8888@X tS....
;:@88;t@t8 t88X8X8X88S88888S8%8888888X88888;:... .
. :t::%%8@;t88888888888S88@8888@8 88X88S8S  :. ...
. .. ;tX8t. ;@888888X88@88X@88XS :  @88888. :... .
. ...@88X . 8%8X8 ;88888X@88 @8S :. : SS8%; :  ...
... .88S.:.  %@S;::t;;.8@SS. 8S@ ;:.. ;8%8%  S8 ..
. .. ;:. .. :@S. ... :  %@88; @S .: ..:X88S.:@8  .
.. ... ...;t .; ;.8@8...X88 :8XX8:.... ::.. ;8S   
. ... .. S 8  @t 8t8.  %8@8;;:X8%... .. :ttS8@%   
.. .... . S:  ... :8    88; ...:.. .. ..:tt;;:.  .