...'',;:cccccc:::c:cc;',,;::;;;;;,.....
       ......':,,;:;:;:cc:cc:;,,',,,;,,'......
      ....',,'';,''';::;cc:cc:;,.'...'.....
.  ..;l:.;c;,;'.';c','.',:l,',;;:,:'',....  .
 . ..,,'....':looo::;;cc:':,,:cc;cc;;,.. .
  ......'... .'.....,llloloooloocllc::;'..
        . .......':;;odololll::c;::;,c;...
      . ....',,;c,;lc:oodllclc:;;::;,,,'.... .
  .    ....,,:;lldxol;;c:dol::cllol;,'''.  ....  .
 .       ..',,'c:lxx:,c,cooolccollclcl;'''....
 ..   ....,,'',;;:ll:;;,:llllclcccocclko,''...
  .   .....,;,',clodlclclllllcccc:cc,coll..  ..
  .   ......,::loldo;ooloollllc::;;::c':c,.    .
  ..   ..  ','cllllll:;;:ccllll::;;,,;;;;..
  .      ....'',llllclloollll:c:;;;;;'...
 .      .....,;,,;:cllclll:::,;;::;;:;',..
        ....';oc;:;:cc:;llcccc;';c::c:;.''...