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