************************************
...@@@@.....@.........@...@...@...@.....@@@@
...@......@....@.........@...@.....@@......@......@
...@@@@.....@.........@...@......@........@@@@
...@.............@.........@...@.....@@......@......@
...@.............@@@...@@@....@...@.....@......@
************************************