zzzzzzzzzzzzzzzzznnnn  nnnnnnnn      aaaaaaaaaaaaa   xxxxxxx      xxxxxxx
z:::::::::::::::zn:::nn::::::::nn    a::::::::::::a   x:::::x    x:::::x 
z::::::::::::::z n::::::::::::::nn   aaaaaaaaa:::::a   x:::::x  x:::::x  
zzzzzzzz::::::z  nn:::::::::::::::n           a::::a    x:::::xx:::::x   
      z::::::z     n:::::nnnn:::::n    aaaaaaa:::::a     x::::::::::x    
     z::::::z      n::::n    n::::n  aa::::::::::::a      x::::::::x     
    z::::::z       n::::n    n::::n a::::aaaa::::::a      x::::::::x     
   z::::::z        n::::n    n::::na::::a    a:::::a     x::::::::::x    
  z::::::zzzzzzzz  n::::n    n::::na::::a    a:::::a    x:::::xx:::::x   
 z::::::::::::::z  n::::n    n::::na:::::aaaa::::::a   x:::::x  x:::::x  
z:::::::::::::::z  n::::n    n::::n a::::::::::aa:::a x:::::x    x:::::x 
zzzzzzzzzzzzzzzzz  nnnnnn    nnnnnn  aaaaaaaaaa  aaaaxxxxxxx      xxxxxxx