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