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