~~~**~~~~**~~******~~~*****~~~****~~~~
~~~**~~~**~~~******~~*******~******~~~
~~~**~~**~~~~~~**~~~~~**~~*~~**~~*~~~~
~~~**~**~~~~~~~**~~~~~~**~~~~~**~~~~~~
~~~****~~~~~~~~**~~~~~~~**~~~~~**~~~~~
~~~****~~~~~~~~**~~~~*~~~**~~*~~~**~~~
~~~**~**~~~~~~~**~~~**~~~**~**~~~**~~~
~~~**~~**~~~~~~**~~~**~~***~**~~***~~~
~~~**~~~**~~~******~******~~******~~~~
~~~**~~~~**~~******~~~**~~~~~~**~~~~~~