++++++ ....## +....+ #...... +....+ ....... +.<..+ ..^.. # +....+ .... #.++'+++# ..# #......####..###.. #........$.g...... ##..........##.... ..............# . ..##..........# .. #.......#..# . .............. .##.#........#.. ..#......#.... .# #......###