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