********************************
*        ********            ***
* ******          ********** ***
* ***** ******************** ***
*       *                 *    *
********* *********** *** * ** *
**    *** *       *** * * * ** *
** **     * ***** ***   * * ** *
** ******** ***** ******* * ** *
** *      * *****         * ** *
** *  **  * *************** ** *
** *      *       ************ *
** *      ******* *            *
** ** *********** *********** **
** ** *                 ***** **
**    * *************** ***** **
** **** *     *********       **
*  *    * ***        ******** **
**** *  * **********       ** **
*    **** *        * ***** ** **
* **      * ** *****     * ** **
* ** ****** **       *** * ** **
* ** *****************   * *****
* ** *    *       *    ***     *
*  * *    * ***** * ****   *   *
** *    * * *   * *   *   **** *
**** *  * * * * * *******    * *
*    *    * * * *         *  * *
* ** ****** * * ************** *
* **          *              * *
* **************************s* *
********************************
