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