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