porno--------------
..8888..8888888......
888888888888888888888888......
8888:::8888888888888888888888888......
8888::::::8888888888888888888888888888..
..88::::::::888:::8888888888888888888888888...
88888888::::8:::::::::::88888888888888888888..
888.8::888888::::::::::::::::::88888888888...888..
.88::::88888888::::m::::::::::88888888888....8
888888888888888888:M:::::::::::8888888888888....
88888888888888888888::::::::::::M88888888888888...
8888888888888888888888:::::::::M8888888888888888..
8888888888888888888888:::::::M888888888888888888
8888888888888888::88888::::::M88888888888888888888
88888888888888888:::88888:::::M888888888888888...8888.
88888888888888888:::88888:::::M::;o*M*o;888888888....88..
88888888888888888:::8888::::M::::::::::::88888888.......8.
88888888888888888::::88:::::M:;:::::::::::888888888........
8888888888888888888:::8::::::M::aAa::::::::M8888888888.......8
88...8888888888::88::::8::::M:::::::::::::888888888888888.8888
88..88888888888:::8:::::::::M::::::::::;::88:88888888888888888..
8..8888888888888:::::::::::M::"@@@@@"::::8w8888888888888888...
88888888888:888::::::::::M:::::"@a@":::::M8i888888888888888...
.8888888888::::88:::::::::M88:::::::::::::M88z88888888888888888...
8888888888:::::8:::::::::M88888:::::::::MM888!888888888888888888..
888888888:::::8:::::::::M8888888MAmmmAMVMM888*88888888...88888888.
888888.M:::::::::::::::M888888888:::::::MM88888888888888...8888888
8888...M::::::::::::::M88888888888::::::MM888888888888888....88888
.888...M:::::::::::::M8888888888888M:::::mM888888888888888....8888
..888..M::::::::::::M8888:888888888888::::m::Mm88888.888888...8888
...88..M::::::::::::8888:88888888888888888::::::Mm8...88888...888.
...88..M::::::::::8888M::88888::888888888888:::::::Mm88888....88..
...8...MM::::::::8888M:::8888:::::888888888888::::::::Mm8.....4...
.......8M:::::::8888M:::::888:::::::88:::8888888::::::::Mm....2...
......88MM:::::8888M:::::::88::::::::8:::::888888:::M:::::M.......
.....8888M:::::888MM::::::::8:::::::::::M::::8888::::M::::M.......
....88888M:::::88:M::::::::::8:::::::::::M:::8888::::::M::M.......
...88 888MM:::888:M:::::::::::::::::::::::M:8888:::::::::M:.......
...8 88888M:::88::M:::::::::::::::::::::::MM:88::::::::::::M......
.....88888M:::88::M::::::::::*88*::::::::::M:88::::::::::::::M....
....888888M:::88::M:::::::88@@88:::::::::M::88::::::::::::M...
....888888MM::88::M:::::::88@@88:::::::::M:::8::::::::::::::*8..
....88888..M:::8::MM:::::::::*88*::::::::::M::::::::::::::::::88@@.
....8888...MM::::::MM::::::::::::::::::::::MM::::::::::::::::::88@@.
.....888....M:::::::MM::::::::::::::::::::MM:M::::::::::::::::::*8..
.....888....MM:::::::MM::::::::::::::::::MM:::MM:::::::::::::::::M...
......88.....M::::::::MMM:::::::::::::MMM:::::MM::::::::::::MM....
.......88....MM:::::::::MMMMMMMMMMM::::::::MMM::::::MMM.....
........88....MM::::::::::::MMMMMMM::::::::::::::MMMMMM.......
.........88...8MM::::::::::::::::::::::::::::::::::MMMMMM.........
..........8...88MM::::::::::::::::::::::M:::M::::::::MM...........
..............888MM::::::::::::::::::MM::::::MM::::::MM...........
.............88888MM:::::::::::::::MMM:::::::mM:::::MM............
.............888888MM:::::::::::::MMM:::::::::MMM:::M.............
............88888888MM:::::::::::MMM:::::::::::MM:::M.............
...........88.8888888M:::::::::MMM::::::::::::::M:::M.............
...........8..888888.M:::::::MM:::::::::::::::::M:::M:............
..............888888.M::::::M:::::::::::::::::::M:::MM............
.............888888..M:::::M::::::::::::::::::::::::M:M...........
.............888888..M:::::M::::::::
:::::::::::::M::M..........
.............88888...M::::::::::::::@@:::::::::::::::M::M.........
............88888...M::::::::::::::@@@::::::::::::::::M::M........
...........88888...M:::::::::::::::@@::::::::::::::::::M::M.......
..........88888...M:::::m:::::::::
:::::::::Mm:::::::M:::M......
..........8888...M:::::M:::::::::::::::::::::::MM:::::::M:::M.....
.........8888...M:::::M:::::::::::::::::::::::MMM::::::::M:::M..
........888....M:::::Mm::::::::::::::::::::::MMM:::::::::M::::M.
......8888....MM::::Mm:::::::::::::::::::::MMM:::::::::::m::m:M
.....888......M:::::M::::::::::::::::::::MMM::::::::::::M::mm:::M.
..8888.......MM:::::::::::::::::::::::::MM:::::::::::::mM::MM:::M:
.............M:::::::::::::::::::::::::M:::::::::::::::mM::MM::::Mm
............MM::::::m:::::::::::::::::::::::::::::::::::M::MM::::MM
............M::::::::M:::::::::::::::::::::::::::::::::::M::M:::::MM
...........MM:::::::::M:::::::::::::M:::::::::::::::::::::M:M:::MM
...........M:::::::::::M88:::::::::M:::::::::::::::::::::::MM::MMM
...........M::::::::::::8888888888M::::::::::::::::::::::::MM::MM.
...........M:::::::::::::88888888M:::::::::::::::::::::::::M::MM..
...........M::::::::::::::888888M:::::::::::::::::::::::::M::MM...
...........M:::::::::::::::88888M:::::::::::::::::::::::::M:MM....
...........M:::::::::::::::::88M::::::::::::::::::::::::