###+#+###### ........... ........o###### .......<....... ......{.>.##### ..........# ..........# ..........# ..........# ..........# .^.........