        .X+++++++++++++++++++++++++++++++++++++++X.        
      X%#@@###@@@#@@#####@@@@#@@####@@@@@#@@####@@@%X      
    .+@oooooooooooooooooooooooooooooooooooooooooooo#@+.    
   X%#ooooooooooooooooooooooooooooooooooooooooooooooo@%X   
   @#ooo@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@oooo@   
  +#oo@&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&%oo@+  
 .Ooo%&&&&&&&&&%%@%*********************%O%%&&&&&&&&&%oo@. 
 Xoo@&&&&&&&&%O**-------------------------;*O%&&&&&&&&@o#X 
 ooo%&&&&&&&O*=-----------------------------=*O%&&&&&&%ooo 
 oo#&&&&&&%%;---=====---------------=======---;$%&&&&&&#oo 
 oo#&&&&&%%;-=;;==========--====----========;=-=%%&&&&&@oo 
 oo@&&&&&%;=;;;;;;;==================;;;==;;;;;=;%&&&&&@oo 
 oo@&&&&%*;;;;;;;;;;==================;;;;;;;;;;;*%&&&&@oo 
 oo@&&&&%;;;;;;;;;;;;;======;;======;;;;;;;;;;;;;;*%&&&@oo 
 oo@&&&%*;*;;;;;;;;;;;;;;;;;;;;;=;;;;;;;;;;;;;;;;;*%&&&@oo 
 oo@&&&%****;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*****%&&&@oo 
 oo@&&&*********;;;;;;;;;;;;;;;;;;;;;;;;;;;*********&;&@oo 
 oo@&;%************;;;;;;;;;;;;;;;;;;;;;************%;&@oo 
 oo@&&%**************;*;;;;;;;;;;;;;*;**************%;&@oo 
 oo@&&%*********************;;;;;;;*****************%;;@oo 
 oo@&&%*********************************************%;;@oo 
 oo@&;%*********************************************%;;@oo 
 oo@&;%*********************************************%=;@#o 
 o#@&;%O*******************************************$%=;@#o 
 o#@;=%OO$$%************************************$OOOO;;@oo 
 o#@;=%OOOOOOO$%%%************************%$$$OOOOOOO;;@oo 
 o#@;=%OOOOOOOOOOOOO$$%%***********%%$$$$$OOOOOOOOOO%==@#o 
 o#@==%OOOOOOOOOOOOOO$$$$$$$$$$$$$$$OOOO$OOOOOOOOOOO@==@#o 
 oo@==%OOOOOOOOOOOOO$$$$$$$$$$$$$$$$$$$$OOOOOOOOOOOO%==@#o 
 oo@==%OOOOOOOOOOOOO$$$$$$$$$$$$$$$$$$$$OOOOOOOOOOOO%==@#o 
 o#@==%OOOOOOOOO$$$$$$$$$$$$$$$$$$$$$$$$$$OOOOOOOOOO@==%#o 
 o#@==%OOOOOOOO$$$$$$$$$$$%%%%%%%$$$$$$$$$OOOOOOOOOO%==%#o 
 o#@==%OOOOOO$$$$$$$$$$$$$$$$$$%%%$$$$$$$$$OOOOOOOOO%==%#o 
 o#@==*OOOOO$$$$$$$$$%%%%$$$$$$%%%%%%$$$$$$$$$$OOOOO*==%#o 
 o#@==*OOOO$$$$$$$$$%%%%%%%%%%%%%%%%%%%$$$$$$$$$$OOO*==%#o 
 o#@==;OOO$$$$$%$$$%%%%%%%%%%%%%%%%%%%%%%%$$$$$$$OOO;-=%#o 
 o#@=-=OOO$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$OOO=-=%#o 
 o#@=--*OO$$$%%%%%%%%%%%%%%%%%**%%%%%%%%%%%%%%$$$OO%-==%#o 
 o@@=--=OOO$$$%%%%%%%%%%****%%%****%%%%%%%%%%%$$$OO;--=%#o 
 o@%=---%OO$$$%%%%%%%%%*****%%%*****%%%%%%%%%$$$$O%---=%#o 
 o#@=---=OO$$$%%%%%%%%**%%%%********%%%%%%%%$$$$OO;---=%#o 
 o#%=----;OO$$$%%%%%%%%*%%%%********%%%%%%%$$$$$O*----=%@o 
 o#%=-----*OO$$$%%%%%%%%%%%%*%%*%%%%%%%%%%$$$$$O*------%#o 
 o#%=------*OO$$$%%%%%%%%%%%%%%%%%%%%%%%%$$$$OO*-------%#o 
 o@%--------=%O$$$%%%%%%%%%%%%%%%%%%%%%%%$$OO%=--------%@o 
 o@%------;;=-=*$$$$$%%%%%%%%%%%%%%%%%%$$O$*=-=;;------%@o 
 o@%----;Oooo%---=;*********************;=---%oooO;----%@o 
 o@%---=ooOOoo@-----------------------------%ooOOoo;---%@o 
 o@@---@oo**@oo;---------------------------=oo@**OoO---%@o 
 +@@=--Ooo**%oo*-----------*-O=*-----------*oo%**Ooo--=@@+ 
 X@@;--ooooOooo*-------;-O=o=O=O=%-;-------*oooOoooo--;@@X 
 .o@%--%ooooooo;-------O=O=O=O=O=O=@-------=oooooooO--%@o. 
  +@@%-=oooooo%--------=-*-O=O=O-*----------%oooooo=-*@@+  
  .o@@%==Oooo*-------------=-*-=-------------*oooO=-%@@o.  
   .o@@@%;**;=================================;**;*@@@o.   
    .o@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@o.    
     .+oo@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Ooo+.     
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX        
