,.:+***############################+,     , :############*+.,,     ,          , *###+,             ,, :.                 , .+,,   .####.    ,  ,         , :.  ,         
                 ,,       , ,.+#@@WWWW@@WWWWWWWWWWWWWWWWWWWWWWWW@@*,       :@@@@@@@@@@@@@@@*:,             , ,.@@W@#.            ,  :@:                  .**,  , .@@@@*  ,    ,          :#:            
                ,  ,,  ,, ,+#@@@W@@#############################@W*,       :@WW@@@@@@@@W@@@W@+,            ,  +W@W@@: ,          ,,:@W:                 .#W#     .@@@@@:                :#W:            
                         +#@@W@#+:.,,                           #@*,       :@@@+:::::+++#@@@@@+, ,          ,,#@@#@@#,,           .#W@:                 *@@* ,  ,.@W@@@@.               #W@. ,          
                   ,  ,:@@W@#+. ,      ,                        #W*, ,   ,,:@@#,       , .*@@W@:      ,     ,:@@#:@@@.          , .@@@:                 *@@*,    .@@@@W@+, ,           ,#@@:            
                     ,+@@W@+,                                   #W*,       :@@#,        ,  :@@@#,        , , *W@+,#@@+ ,          ,#@@:                 +@@*,    .@@#:@@@:   ,         ,#@@:            
                 ,, .*@W@+,           ,,                        #@*        :@@@,         ,  *@@@+    ,      .#W@.,+W@#,          ,,#W@:                 *@@*  ,  .@@# *WW*.            ,#@@:            
                ,  .#WW#.,  ,                                   #W*,,,  ,  :@@@,        , , ,#W@#,   ,  , , +W@#, .@@@:          ,,#@@:                 *@@#  ,  .@@#,.@@W+ ,  ,       ,#@@:,           
            ,     .#@W*,              ,              ,,         #W*,       :@@#,            ,*@W@.  ,     ,,#@@+   #@@*,, ,  ,    ,#@@:                 *@@*,    .@@# ,+@@@., ,        ,#@@:            
              ,  .@@@* ,          ,,,,,,,,,    ,,  ,,  ,       ,#W*,       :@@#,             :@@@.         .@@@.  ,:@@@.          ,#@@:                 *@@*,    .@@#  ,#W@*,, ,       ,#@@:            
           ,  , ,#W@*          ,,..:::::::..,,,,                #W*,       :@@#,             :W@@:,  ,   , *W@*  , ,@@@+ ,        ,#@@:                 *@@*,    .@@#,  :@@@:  ,       ,#@@:            
             , ,*W@*  ,      ,,.:::::::::::::..,,,   ,          #W*,       :@@#,           ,,:@@@:,  ,   ,,@@@:  ,  +@@#,         ,#@@:                 *@@*,    .@@#,,, *@@@,         ,#@@:            
             , :@@#,,    ,,,,.::::::::.:::::::::.,, ,           #W*,       :@@#,             +@@@.        +@@#,    ,.@@@:  ,      ,#@@:                 *@@*,    .@W#,   .@@@*,        ,#@@:            
              ,#W@.  ,    ,.::::::::::.::::::::::.,,   ,        #W*,       :@@#,         ,  ,*@@#.     , ,#@@*      ,#@@*, , ,    ,#@@:                 *@@*,   ,.@@#,  , +W@@:        ,#@@:            
             ,+W@:,      ,,:+:::::::::..:::::::::::,  ,         #W*,       :@@#,         , ,:@@@*,       .@@@.       +@@#.        ,#@@:                 *@@*,   ,.@@#,,   ,#@@#,       ,#@@:            
         ,   .@W#,      ,.::::::::::::..:::::::::::.,           #W*,       :@@#,           .#W@@:  ,     +@W#, , , , .@@@:        ,#@@:                 *@@*,    .@@#,   , :@@@+       ,#@@:            
          ,  +@@.      ,.::.::::::::::..:::::::::+.::,,    ,   ,#W*,       :@@#,  ,  ,   ,:@W@@*,       ,#@@+ ,     , *@@#,   ,   ,#@@:                 *@@*,    .@@#,    , +@W@.   ,  ,*@@:            
         , ,,#W#,      ,:::..:+:::::::..:::::::::..:+:,         #W*,       :@@#, , .++:++#@@@W@.        :W@@., , ,    :@@@.       ,#@@:                 *@@*,    .@@#,      ,@@W*,  ,   *@@:            
            :@@:    , ,.::::..::::::::,.::::::::..:::+,         #W*,       :@@#, , :@@@W@@W@W#:       , *W@*   ,     ,,#@@+  , ,  ,#@@:                 *@@*,    .@@#,   ,   :@W@:   ,  *@@:            
           ,*W#, ,   ,,::::::.,:::::::,.:::::::..:+::::,        #W*,       :@@#,    *@@@@W@#*.         .@@@:, ,      , +@@@,      ,#@@:                 *@@*,   ,.@@@,      , *@@#.  ,  *@@:            
        , ,.@W* ,   ,,.:::::::.,::::::,.::::::..:::::::.,       #W*,       :@@#, ,  ,#@@@#+:, ,      , +@@@#***********#@@@:,     ,#@@:                 *@@*,   ,.@@@,  , ,  ,.@@W*   , *@@:            
           +@@: ,  ,,,:::::::::,,.::::,.:::::..:::::::::,       #W*,       :@@#,   , +@@@*    ,      ,,#@@W@@@@@@@@@@@W@@@@*, ,,  ,#@@:                 *@@*,    .@@@,    ,  , +W@@:   ,*@@:            
           *@@.    ,,.+:::::::::,,.:::,,::+:.,.+::::::::,,     ,#W*,       :@@#,, , ,,*@@@:           :@W@@@@@@@@@@@@@W@@W@@.     ,#@@:                 *@@*,    .@@@,   ,  ,  ,#@@#,, ,*@@:            
           *W#,  ,  ,.+::::::::::,,.::,,:+:,,.::::::::::.,  ,  ,#W*,       :@@#,      .@@@*,,       , *@@#::::::::::::::+#@@+ ,   ,#@@:                 *@@*,    .@@@,  ,    ,  :@@@+   *@@:            
           #W*, ,  ,,:::::::::::::,,:###*.,,.:::::::::::.,     ,#W*,       :@@#, ,  , ,+@@@+  , ,  , ,@W@+              ,+@@#,,   ,#@@:      , ,      , *@@*, ,  .@@@.           +@@#.  *@@:  ,         
          ,#@*  ,  ,,:::::::::::::..#@@W@*,.:::::::::::::,      #W*,       :@@#, ,  ,  ,#@@#.  ,     +@@@.               :@@@:    ,#@@: , :::.         ,*@@*     .@@@.           ,#@@*, *@@:  ,         
          ,#@*     ,,::::::::::::+:*W@@@@@+:+::::::::::::,      #W*,       :@@#,    ,   :@@W*,       #@@*, , ,           ,#@@* ,  ,#@@:  ,#W@*,   ,    ,#@@* ,   .@@@.            :@@@: +@@:            
           @@+   , ,.:.:::.......,.@@@W@WW*,.........::::,      #W*,       :@@#,         *@@@:      .@@@:  ,              +@@@.   ,#@@:  ,#@@#  ,      .@@@+,  , .@@@.           ,,*@@#,+@@:            
           @W+     ,.:.:....,,,,,,,@@@@@@W*,,,,.,,......:,     ,#W*,       :@@#,   ,     .@@@#,     *@@#,                 .@@@+   ,#@@:  ,*@@@.,  ,,   :@@@.   , .@@@.           , .@@W+*@@:            
           @W+     ,.::::::::::::::#W@@@@W+::.:::::::::::,     ,#W*        :@@#,,  ,    , +W@@+    ,@@@+ ,  ,             ,#@@#,  ,#@@:   :@W@*.     ,.#@@#, ,,  .@@@.              +@@@#@@:            
           @W+     ,,:::::::::::::::#@@WW#.::::::::::::::,     ,@@+        :@@#,    ,     ,#@@@.   :@@#.                   :@@@:  ,#@@: , ,*@@W*.,  ,.*W@@:  ,   .@@@.              ,#@W@@@:            
         , @@+      ,:::::::::::::.,:###*.,.::::::::::::.,    ,,@@+        :@@#,        ,  .@@W*, ,#@@*,, ,  ,             ,@@W+  ,#@@:    .@@@W@#**#@@@@*,  , , .@@@.          ,    :W@W@@:            
           @W+      ,.::::::::::+.,.::,.::.,.:::::::::::.,    ,:@@: ,      :W@#,            +W@@+ :@@@:                     +W@@. .@@@:  , ,:@W@@@@@@@@@*, ,     .@@@.               ,+W@@@: ,          
           @W+      ,.:::::::::+,,.:+:,,:::.,.+:::::::::,      +@@.       ,:@@*,            .#@@*,:@@#.                  ,  :##@:,,#@@:     ,:*@@@@@W@#+,    ,  ,.###.,               .*###:,,          
           @W+       .:::::::::.,.::::,,::::.,.:::::::::,,   , *W#,   ,     ...         , ,  ,...,,.,,                      ,...,  ...,   ,,  ,:+***+.,   ,  ,    ...              ,   ....,            
           @W+       ,.+::::::.,.:::::,.::::+.,::::::::.,     ,#W*,   ,   ,    ,           ,  ,  ,,  ,,                   ,     ,      ,          ,,           ,  ,    ,                      ,,        
           @W+     ,  .:::::+.,:::::::,.::::::..:::::::,,   , :@W:           ,                 ,,,  ,                               ,        ,,           ,,                                            
           @W+     ,  ,:::::..::::::::,.:::::::..:::::.,      *W@.      ,                ,  , ,::,  ,  ,                ,     ,  ,     ,  ,,      ,,    ,,:.,   ,,   ,,,                   ,,  ,        
           @W+        ,,::::.:+:::::::,.::::::::..:::.,,     .@@*,        ,   ,           ,    .:,,                                  ,  ,      ,,        ,::  ,                                         
           @W+   ,     ,.::.::::::::::..:::::::::::::,,,    ,+W@:  ,, ,       ,         , ,    .+,,   ,                  ,         ,   ,    ,          , ,::, ,                        ,  ,  ,          
           @W+          ,.::::::::::::..::::::::::::,,   ,  .@@#          , ,,   , ,,,,,,  ,  ,.:,,, ,  ,,,,,  ,,  ,,, ,, ,,,,,,,, ,  ,   ,  ,,,,,, ,,,  ,::,, ,, ,,,      , ,,,,  ,,,,,,  ,   ,        
           @W+           ,.:+:::::::::..:::::::::::,,   ,  ,#@@.        ,,,,.., ..,..:::.,  ,::::...  ,,.:::::.  , ,...:., ,,.:::::, ,:,    .::::::.,,,.::::::,,.,,..      ,,.,,  ,.::::..,             
           @W+            ,.::::::::::.::::::::::.,,  ,    +@W*         ,  ,::, :::::..:::.,,:.::::.,,.:::...::.,, ,::::. ,,:::...::.::,  ,.::...:::., .::::::,,:.,::,    ,,.+,  .::....::.,            
           @W+           ,,,,:::::::::.:::::::::.,,       .@@#.            ,:.  .+:.,, ,.::, ,,.:,,,,.::,,,,,,.:.  ,:::,, ,::., , ,::::,  .::,   ,,::., ,,:.,, .:,,.:, ,  ,,::, .::,,,,,,.:.  ,         
           @W+              ,,,.::::::::::::::.,,      , ,#WW:           , ,:. ,.:.,    ,.:,   .:,,,,::,   ,, ,::, ,::.  ,.:.,     ,.::,,,::,      ,::,  ,:.,  ,:.,,:. ,  ,.+. ,::,,,,, ,,::, ,         
           @W+                 ,,..::::::::..,,, ,,     ,*W@+              ,:.  ::,  , , ,:.,  .:, ,.:.       ,,:.,,:.,  ,:.,  , ,  ,::,,.:.  , ,   ,,, ,,::, ,,:.,,::,   ,.:, .:.,,   ,,,,+.           
           @W+               ,   ,,,,,.,,,,,,         ,,*W@*,  ,           ,:.  .:,      ,:.   .:,,,.:.,,,,,,,,,::,,:. , .:.,       ,.:,,::,  ,     ,,   ,::,  ,:,,,.:.  ,,:., .:.,,,,,,,,,::,          
           @W+            ,     ,                  ,  .#W@#,              ,,:.  ::,    , ,:.   .:,,,.:::::::::::+.,,:.,  .:.  ,   ,  .:,,::,   ,   ,     ,:.,  .:,,,,:: ,,.:,, ::::::::::+:::,          
           #@* ,                           ,  ,,    ,:@@W+,                ,:., .:,      ,:., ,.:,,,.:..,........,,,:.   .:. , ,   , .:,,::, ,  ,  ,,  , ,:.,, ,:,,,,.:,,,:.,, ::.,....,,..,,,          
           #@+                              ,,,    .+@W@+.                 ,:.  ::,      ,:.   .:,,,.:,,,   ,,,,,, ,:.,,,,:. ,   ,  ,::,,.:, ,,   ,  ,   ,::   .:,,  ,:.,,:.   .:,,,   , ,,,,,          
           #W* ,                                 ,+@WW#:,                  ,:.  ::,      ,:.   .:,  ,:.    ,  ,,.,,,:.   ,::,    ,  ,::,,.:.  ,  , ,..,  ,:.   .:,,  ,.:,.:,  ,,:.,    , ,,.,           
           @W+                                ,.*#@@@*.,                   ,:.  .:,      ,:.   .:,  ,.:.      .::, ,:.    .:.,     ,:+:, ,::,      .::,  ,:.   ,:.    .:.:.    ,.:., ,   ,::,  ,        
           @@+,                          ,,.:+#@WWW#:,                  ,  ,:.  ::,      ,:.   .:, , ,::.,,,,.::,  ,:.,   ,:+:,,,,.::::,  ,::.,,,,.::,   ,::,  ,:.  , ,:::,     ,::.,,,,,::,            
           @W#****************************#@@WW@@*:,,  ,                ,  ,:.  ::,    , ,:.  ,.:, ,  ,.:::::::., ,,:.,  , ,.:::::::,.:,  ,,::::::::., , ,::  ,.:.  , ,.:.,  ,   ,::::::::.             
           #@@WWWWWWWWWWWWWW@@@@WWWWWWWWWWWW@@*+.,,,  ,                 ,,,,.,  ,.  ,,   ,.,  ,,.,     ,..::..,    ,..,  ,  ,..:::., ,., ,  ,..:::.,,, , ,,.  ,,.,  ,, ,.,        ,.::::.,  ,  ,        
           ###############################*+:.,    ,                      , ,, , ,  ,            ,  ,    ,,,,    ,, ,      , ,,,,,    ,       ,,,,  ,,  ,  ,        ,, ,, ,    ,,  ,,,,,, ,,  ,