................................................................................^^^^^^^^^^^^^^^^^^
....................................................................^^^^^^^^^^^^
...................................................^^^^^^^^^^
......................................^^^^^^^^^^
..........................^^^^^^
.................................................................................^^^^^^^^^^^^^^^^^^
..................................................................^^^^^^^^^^^^
................................................^^^^^^^^^^^^
....................................^^^^^^^^^^^
......................^^^^^^^^^^