### .....# ......# .......# ........# ........# ........+ .!.....hh########### #$..<........ .......S........>### ...#.##+#.....%... # .###.##### .. .# ... .# .... # ... .