..'':'''^^+///%%XXXXCC0@@$$0C$BNNNB@@@%CBC!'             
                           .:+/%C@$$BNNNNNNNB$@XX$BNNBB$$$$BBBB$@BBC0BNNNB$0$%/@^C.             
.                            '^%X0$BBNNNNNNBC+'.   :CBBBBNNNNN$0C$B$CBNNNN$0@X+X/%       ..     
                               .:+%X0BNNNC!.         '^C@B@0NN$CC$B$0$NNNN$@CX!!0:   ....       
 .                                .'!/0X'..      .:!'   ..'/NN$X0BB@@BBNNNB@XC:00'   .......    
.! .                        .  .......'      .^XC/:   :^+!. !%@C$BB$BBNNNNBBCC/@/    .          
. ...                              ....     '0%!:.:/0NNNNN@C!.!XBNBNNNNNNNNB@