### # .. .# ....# .#..# ....##. #.###....... #..M<....... #..##!##.### #. .# # .# .# .. ##