********************************************
*                             **************
* * **********************    *********e****
* * ***********               ********  ****
* * ****************** ****             ****
* *    *******   *     ******* ******** ****
* **** ******* *   *********** ******** ****
* **** ******* ******* ******* ******** ****
*     * ****            ****** ******** ****
* ***** ******* ************** ******** ****
*        **   * ************** ******** ****
* ******  * * * **             ******** ****
* **   **** * * ************* ********* ****
* ** *      *   ************* ********* ****
* ** **********************             ****
*   u*                ************ *********
*******************                *********
********************************************