.....................................................................................................................................................................................................................................
...........................:..........:..........:.................................:..........:..........:............................................:..........:..........:............................................:...........
.::::......::::::......:::::......:::::......:::::......:::::......:::::......::::::......:::::......:::::......:::::......:::::......:::::......::::::......:::::......:::::......:::::......:::::......:::::......::::::......::::.
......:::::......:::::......:::::......::::::.....::::::......:::::......:::::......:::::......:::::......::::::......:::::......:::::......:::::......:::::......:::::......::::::......:::::......:::::......:::::......:::::......
.................:..........:..........:............................................:..........:..........:............................................:..........:..........:............................................:..........
......:...:......:...:......:...:......:....:.....::...:......:...:......:...:......:...:......:...:......::...:......:...:......:...:......:...:......:...:......:...:......::...:......:...:......:...:......:...:......:...:......
....:......:...::......:...:......:...:......:...:......:...:......:...:......:...::......:...:.......................................:...:......:...::......:...:......:...:......:...:......:...:......:...:......:...::......:....
...........................:..........:..........:.................................:..................................................................:..........:..........:............................................:...........
.::::......::::::......:::::......:::::......:::::......:::::......:::::......::::::......::::..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:.::::......::::::......:::::......:::::......:::::......:::::......:::::......::::::......::::.
......:::::......:::::......:::::......::::::.....::::::......:::::......:::::......:::::.......@#####@.@*###%-%#####@.@####%=######@.......:::::......:::::......:::::......::::::......:::::......:::::......:::::......:::::......
.................:..........:..........:........................................................@@@@@@@.@@@@@@*@@@@@@@-@@@@@@%@@@@@@@..................:..........:..........:............................................:..........
......:...:......:...:......:...:......:....:.....::...:......:...:.............................@@@@@@@:@@@@@@#@@@@@@@=@@@@@@%@@@@@@@...........:......:...:......:...:......::...:......:...:......:...:......:...:......:...:......
....:......:...::......:...:......:...:......:...:......:...:......:...:.@@@@@@@@@@@@@@@#@@@@@@@.....................................*@@@@@@@....:...::......:...:......:...:......:...:......:...:......:...:......:...::......:....
...........................:..........:..........:.......................*@####@.@@@@@@@.@####@@.:::::-.-:::::.::::::-.-::::::::::::.:@#####@.........:..........:..........:............................................:...........
.::::......::::::......:::::......:::::......:::::......:::::......:::::.*@####@.@@@@@@@.@####@@.:::::-.-:::::.:::::::.::::::.::::::..@#####@....::::::......:::::......:::::......:::::......:::::......:::::......::::::......::::.
......:::::......:::::......:::::......::::::.....::::::......:::::......=@-:::*.@@@@@@@.@@@@@@@.:::::...............................+@@@@@@@..::......:::::......:::::......::::::......:::::......:::::......:::::......:::::......
.................:..........:..........:.................................@@@@@@@*=-:--:@.........:::::.#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..................:..........:..........:............................................:..........
......:...:......:...:......:...:......:....:.....::...:......:...:......@@@@@@@+*#####@.::::::.::::::..@####%-%#####@.@####%+######@.......:...:......:...:......:...:......::...:......:...:......:...:......:...:......:...:......
....:......:...::......:...:......:...:......:...:......:...:......:.....@@@@@@@**#####@.::::::.::::::.:@####%-@#####@.@####%=######@.....:......:...::......:...:......:...:......:...:......:...:......:...:......:...::......:....
...........................:..........:..........:.......................@@@@@@@@@@@@@@@.-:::::........-@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-................:..........:..........:............................................:...........
.::::......::::::......:::::......:::::......:::::......:::::......::::..:@:...+.........-:::::.@@@@@@@................................::::......::::::......:::::......:::::......:::::......:::::......:::::......::::::......::::.
......:::::......:::::......:::::......::::::.....::::::......:::::......#@####@%.:::::=.=:::.:.@@@@@@@...::::::......:::::......:::::......:::::......:::::......:::::......::::::......:::::......:::::......:::::......:::::......
.................:..........:..........:.................................#@####@#.:::::-.-::::..@@@@@@@................................................:..........:..........:............................................:..........
......:...:......:...:......:...:......:....:.....::...:......:..........#@@@@@@@.:::::.........@@@@@@@...............:...:......:...:......:...:......:...:......:...:......::...:......:...:......:...:......:...:......:...:......
....:......:...::......:...:......:...:......:...:......:...:.....@@@@@@@.........:::::.@@@@@@@@*:::::%@@@@@@@@.:...:......:...:......:...:......:...::......:...:......:...:......:...:......:...:......:...:......:...::......:....
...........................:..........:..........:................@#####@.::::::.-:::::.%@@@@@@@=######:@@@@@@@.......................................:..........:..........:............................................:...........
.::::......::::::......:::::......:::::......:::::......:::::.....@#####@.:::::-.-::::..%@@@@@@@=#####%:@@@@@@@.:::::......:::::......:::::......::::::......:::::......:::::......:::::......:::::......:::::......::::::......::::.
......:::::......:::::......:::::......::::::.....::::::......:::.@#####@.::::::........@@@@@@@@#:::::*:@@@@@@@.........:::......:::::......:::::......:::::......:::::......::::::......:::::......:::::......:::::......:::::......
.................:..........:..........:..........................@#####@.-::::-.@@@@@@@........@@@@@@@.*-::-==@@@@@@@*................................:..........:..........:............................................:..........
......:...:......:...:......:...:......:....:.....::...:......::..@#####@.::::::.@#####@........@@@@@@@.@####%.@@@@@@@....:......:...:......:...:......:...:......:...:......::...:......:...:......:...:......:...:......:...:......
....:......:...::......:...:......:...:......:...:......:...:.....@#####@.::::::.@#####@..:.....@@@@@@@.@####%.@@@@@@@.....:...:......:...:......:...::......:...:......:...:......:...:......:...:......:...:......:...::......:....
...........................:..........:..........:................@#####@.-:::::.@#####@........@@@@@@@-#:::-=.@@@@@@@................................:..........:..........:............................................:...........
....:......:...::..........:......:...:......:...:......:...:.....@#####@.-:::::.@#####@................@@@@@@@-:::::#@@@@@@@@.:......:...:......:...::..........:......:...:......:...:......:...:......:...:......:...::...........
......:::::......:::::......:::::......::::::.....::::::......:::.@#####@.::::::.@#####@.......:::::...#@@@@@@@+######-@@@@@@@...:::::......:::::......:::::......:::::......::::::......:::::......:::::......:::::......:::::......
.................:..........:..........:..........................@#####@.::::::.@#####@.......:.......#@@@@@@@=######-@@@@@@@.........................:..........:..........:............................................:..........
......:...:......:...:......:...:......:....:.....::...:......::..@#####@.-:::::.@#####@.......:...:...@@@@@@@@#:::::+-@@@@@@@..............:...:......:...:......:...:......::...:......:...:......:...:......:...:......:...:......
....:......:...::......:...:......:...:......:...:......:...:.....@#####@.::::::.@#####@..:...:......:.........@@@@@@@.+-:::-*@@@@@@@*....:......:...::......:...:......:...:......:...:......:...:......:...:......:...::......:....
...........................:..........:..........:................@#####@.::::::.@#####@......:..........:.....@@@@@@@.%####%.@@@@@@@.................:..........:..........:............................................:...........
....:......:...::..........:......:...:......:...:......:...:.....@#####@.::::::.@#####@......:......:...:.....@@@@@@@.@####%.@@@@@@@.....:......:...::..........:......:...:......:...:......:...:......:...:......:...::...........
......:::::......:::::......:::::......::::::.....::::::......:::.@%%%%%@.::::::.@%%%%%@.......:::::......:::..@@@@@@@%#::::-.@@@@@@@.........:::......:::::......:::::......::::::......:::::......:::::......:::::......:::::......
.................:..........:..........:..........................@=====@.:....:.@=====@.......:..........:............@@@@@@@......=@@@@@@@@..........:..........:..........:............................................:..........
......:...:......:...:......:...:......:....:.....::...:......::..@%%%%%@.-:::::.@%%%%%@.......:...:......::...:......%@@@@@@@=%%%%%%=@@@@@@@...:......:...:......:...:......::...:......:...:......:...:......:...:......:...:......
....:......:...::......:...:......:...:......:...:......:...:.....@#####@.::::::.@#####@..:...:......:...:......:...:.+@@@@@@@:######:@@@@@@@....:...::......:...:......:...:......:...:......:...:......:...:......:...::......:....
...........................:..........:..........:................@@@@@@@........@@@@@@@......:..........:..........:.@@@@@@@@*===-=*=@@@@@@@.........:..........:..........:............................................:...........
....:......:...::..........:......:...:......:...:......:...:.............@@@@@@#.............:......:...:......:...:.........@@@@@@@.:.....+@@@@@@@@.:..........:......:...:......:...:......:...:......:...:......:...::...........
......:::::......:::::......:::::......::::::.....::::::......:::.:......%@@@@@@@.......:......:::::......::::::..............@@@@@@@-@%%%%%+@@@@@@@-..:::::......:::::......::::::......:::::......:::::......:::::......:::::......
.................:..........:..........:.................................#@####@@...:..........:..........:...................@@@@@@@:%#####-@@@@@@@:.............:..........:............................................:..........
......:...:......:...:......:...:......:....:.....::...:......:...:......@@@@@@@@...:...:......:..........::...:......:...:...@@@@@@@@#::::-.@@@@@@@..............:..........::...:......:...:......:...:......:...:......:...:......
...........:....:......:...:......:...:......:...:......:...:......:......................:...:......:...:......:...:......:..........@@@@@@@.-::::%+@@@@@@@.....:......:...:......:...:......:...:......:..........:....:......:....
...........................:..........:..........:.................................:..........:..........:...........................-@@@@@@@.%####@.@@@@@@@.....:..........:............................................:...........
....:......:...::..........:..........:......:...:......:...:......:...:......:....:..........:..........:......:...:......:...:.....-@@@@@@@.%####@.@@@@@@@.....:..........:......:...:......:...:......:...:......:....:...........
......:...:......:...:......:...:......:....:..........:..........:......:...:......:...:......:...:......:....:..........:..........@@@@@@@@%%%%%%@-@@@@@@@..........:......:....:..........:......:...:......:...:......:...:......
.................:..........:..........:............................................:..........:..........:..................................#-::..+.......::@@@@@@:.........:............................................:..........
......:...:......:...:......:..........:....:......:...:......:...:......:...:......:...:......:..........:....:......:...:......:...........@@@@@@@+@@@@@@%@@@@@@@+.........:....:......:...:......:...:......:...:......:...:......
.............................................................................................................................................@@@@@@@.%#####=@@@@@@@..................................................................
...........:...............:..........:..........:......:..........:..........:....:..........:..........:..........:......:..........:......@@@@@@@%@%###%+@@@@@@@:........:..........:......:..........:..........:....:...........
....:......:...............:..........:......:...:......:...:......:..........:....:..........:..........:......:...:......:...:......:......-.......@:::::-.:....@.........:......:...:......:...:......:..........:....:...........
.....................................................................................................................................................@@@@@@@:@%%%%@..................................................................
.................:..........:..........:............................................:..........:..........:..........................................@@@@@@@.%####@..........:.................................:..........:..........
......:...:......:...:......:..........:...............:......:...:......:...:......:..........:..........:...............:......:...:......:...:....@@@@@@@@@@@@@@#.........:....:..........:......:...:......:...:......:..........
.....................................................................................................................................................#............:..................................................................
...........:...............:..........:..........:......:..........:..........:....:..........:..........:..........:......:..........:..........:..........................:..........:......:..........:..........:....:...........
...........:...............:..........:..........:......:...:......:..........:....:..........:..........:..........:......:...:......:..........:....:..........:..........:......:...:......:...:......:..........:....:...........
.....................................................................................................................................................................................................................................
......:...:......:..........:..........:...............:..........:......:...:......:..........:..........:...............:..........:......:...:......:..........:..........:....:..........:..........:......:..........:..........
......:...:......:...:......:..........:....:..........:..........:......:...:......:..........:..........:....:..........:..........:......:...:......:..........:..........:....:..........:......:...:......:...:......:..........
.....................................................................................................................................................................................................................................
.....................................................................................................................................................................................................................................