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