******************************************************************************************~
******************************************************************************************~
******************************************************************************************~
******************************************************************************************~
******************************************************************************************~
******************************************************************************************~
**************************^^^^^^^^^^^^^^^^^^**********************************************~
**************************f*******{*******************************************************~
******************************************************************************************~
******************************************************************************************~
******************************************************************************************~
******************************************************************************************~
******************************************************************************************~
******************************************************************************************~
*****s****+++*************B*****B*****B*****B************#********************************~
*****a********************************************k*********************c*****************~
***********************************************************m*m***********************>****~
6*****9********9**********************************9********9********9********9********4***~
************************C*****C*****C*****C*****C*****************************************~
******************************************************************************************~
******************************************************************************************~
******************************************************************************************~