@@@@@@@@@@@@@@@@@@@@@@@@@#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@@@@@@@@
@@@@@@@@@@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%?**++;:,,,                                  ,;*S#@@@@@@@@@##%?*+;::,,,,,      ,,,,,::;;+*?%S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@#SSS%%%?**+;:,,,,,:::,,                      ,,,:;+?S#@@@@@@@@@@@@@@###SSSSS%SSSSS###@@@@@@@@@@@@@@@@@@@@##SS#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@###S%?*++;;;++**+;:,                     ,,:;;++*?S##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##S%%?%S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@#SS%???%%SSS%?+:,                    ,,:;++****??%%S###@@@@@@@@@@@@@@@@@@@@@##SS%%?????%SS#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@@@@@S?+:,                    ,,:;+*????????????????????????????????%%SS##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S?;,                      ,,:;*??%SS######SSSSSSS#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@