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