************ *** ******** ******* ******* ** *********** **** ********** ** ******* ** ******** ****************
** ***** *** ****** *********
* ******** * ** ******* ******* *** *************
* ****** * ** *********** ** ****** ** ****** ** ********* *********
* ******** * ** ******* ****** ** ********* **** *** ******** *****
* **** ** *********** ********** ******* ***** **** ** ********* *****
* *********** ******** ********* *** ******** ********** ** *********** *********
* *** * *** ******* ******** **** ******** *****
* ******* * ********** ** ******* ************ **** ******** *** *****
* *** * *** ******* ******* **** ** *******
* ************* * ******* **** ***** ******* ***** ********** ***********