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