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