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