# # # . # # # # # # # # # #
# + . . . + + + + + + + + +
# + . p . + + + + + + + + +
# . . f . + + + + + + + + +
# . . . . + + + + + + + + +
# . . . . + + + + + + + + +
# . . . . . + + . . . . . .
# l . . . . . + . . . G . .
# . . . . . + + . . . . . .
# + + + + + + + + + + + + +
# + + + + + + + + + + + + +
# + + + + + + + + + + + + +
# + + + + + + + + + + + + +
# # # # # # # # # # # # # #
