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