@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+ -#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-     :+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*   -*: :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%=.     :+*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*:=+=.          :*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.                 -#*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:                   -%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%                  .*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=                  %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                   :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%-                   *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+:                 :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#=-
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*                 .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+   
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%                 -@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=   
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*::            :-@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-  
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%-       .=%*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%. 
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#-::         .-#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#  
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:                .:%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%-                  +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.                   +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#.                     +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%=                       =@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@%#*+=:.                        .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%###***++*@@@@@@@@@@@#*=.           .+#                   *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
          :@#=-=--:..         .:-=*#@@@-                  .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
               :---.   :::-+#@@@@@@@@@@%.                  #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                      .=+*%%#*#%%%%%##+.                   +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%
                                                           #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#.
                                                         .+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+  
                                                         #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-   
                                                          =*#%%@@@@@@@@@@@@@%###%%@@@@@@@@%.    
%*=.                                                           .:-=+*%%*+-:.      ..-@@@@@*     
