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