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