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