                                                                                                                                                      
                                                                                                                                                      
                                                                                                                                                      
                                                                                                                                                      
                                                                                                                                                      
                                                                                                                                                      
                                                                                                                                                      
                                                                                               ,,:;+*?????*++;:,,                                     
                                                                                            ,;*?S@@@@@@@@@@@@@@@#S?*;,                                
                                                                                           :*%#@@@@@@@@@@@@@@@@@@@@@@#%;                              
                                                                                          :*%@@@@@@@@@@@@@@@@@@@@@@@@@@@S;                            
                                                                                     ,,,::+?S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?,                          
                                                                                   ,;?S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*                          
                                                                                     ,;%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%                          
                                                                                      :+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#:                          
                                                                                      ,;%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S+,                        
                                             ,,                                        ,+S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*,                      
                                    ,;+++++++***;:,                                     ,:+?S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?:                    
                                   ,:;+?S#@@@@@@@@#?:                                      :+?S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S+,                  
                                   ,:;*%##@@@@@@@@@@@S?+:,                                 :*S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##S%;,                 
                                     ,:+%####@@@@@@@@@@@@#%?+;,                              :?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*::,                  
                                        :;;?SS%S#@@@@@@@@@@@@@#%*;:,                          ,+S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S+,                 
                                           ;:   ,:+?S#@@@@@@@@@@@@@S%*;:,               ,,,     ,:+%??%S@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?;               
                                                     ,;?#@@@@@@@@@@@@@@#S?*;:::::::::::;*????*++;:,, ,+?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S?*+:          
                                                        :;*%#@@@@@@@@@@@@@@@#%%%%%%%SSSS#@@@@@@@@@@#SSS#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%;,       
                                                             :;*%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*:     
                                                                 ,;*%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S+   
                                                                     ,;*S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%, 
                                                                         ,;;++***????????????????%S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S+
                                                                                                 ,+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                                                                                                 ,+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                                                                                                 ,+%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                                                                                                  ;?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                                                                                                  ,+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                                                                                                   :*S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                                                                                               ,,,,+?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                                                                 ,:::::::,,   ,,,,,,,::::;;++**??%%S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                                                              ,;;+*?%%%%%?*;:;+***???%%SSS##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                                                              :?%S#@@@@@@@@#SSS#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%*
                                                              ,%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######SS%?+;:,  
                                                               ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##%S@@@@@@@@@@@@@@@@@@@@@@@#*,,,,,           
                                                               ,*@@@@@@@@@@@@@@@@@@@@@@@@@@@##S%%?*++;::,, ,*%@@@@@@@@@@@@@@@@@@@@@@@@S+:             
                                                                ,*#@@@@@@@@@@#S%*?###%?*+;::,,             :*%#@@@@@@@@@@@@@@@@@@@@@@@@@@%+,          
                                                                  +SSSS%%?*;:,    ,,,                     ,+?S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*:        
                                                                                                         ,;*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:      