$%%%%%%%%%%%++++/////////;;;;::::::======------,,,,,,..,,,,,-----========:::::;;;;;;;/;;;//////+++++
%%%%%%%%++++++//////;;;;;::::=====-----,,,,,....            ....,,,,,,------====::::::::;;;;//////+%
$%%+////;;;;;;;:::::::=::=======--------,,,,,,,,,,,.......,,,,,,,,,-----------===========::::::::;/+
$%+/;;;;;;;:::::::::==============----------------------==-==================================:::::/+
$%+;;;;;;;;;:::::::::=============--------------------------------===========================:::::/+
$%+;;;;;;;;::::::::::============-=-----------------------------------=====================::====:/+
$%+;;;;;;:::::::::==============--------------------------------------==-========================:/+
$%+;;;;;;:::::::::==============------------------------------------------=====================:=:/+
$%/;;;;;::::::::::============------------------------------------------------===================:;+
$+/;;;;;:::::::::=============-------------------------------------------------==================:;+
$+/;;;;;:::::::::============----------------------------------------------------================:;+
$+/;;;;::::::::=============-------------------------------------------------------===============;+
$+/;;;;::::::::=============---------------------------------------------------------=============;+
%+/;;;;:::::::============----------------------------------------------------------==============:/
%+;:;;:::::::==============----------------------------------------------------------=============:+
%+;:::::::::::===========-------------------------,,,,,,,-,----------------,-----------=--========:/
%/;::::::::::===========------------------------,,,-,,,,,,,,,--------------,,----------=-=========:/
%+;::::::::::===========-------------------,--,,,,,-,,,,,,,,----------------,,------------========:/
%+;:::::::::===========---------------,,------,,,,,-,,,,,,,,----,-------------------------=========/
%/::::::::==============------------------,,,,,,,,,,,,,,,,,,,,-,,--------------------------========/
%/:::::::::=============---------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------------------========/
%/:::::::::===========---------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------------========/
%/:::::::::==========----------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---,----------------======-=/
%/=:::::::::=========------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------------======-=/
%;=:::::::::=========-----------,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------------======--/
%;=:::::::===========-----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------====--/
%;=:::::::===========----------,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,--------------=====--;
%;-:::::::===========---------,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,--------------=====--;
%;-=:::::::=========-=--------,,,,,,,,,,,,,,,,,,,,...........,,,,,,,,,,,,,,,,,,---------------===-,;
%/-=::::::===========--------,,,,,,,,,,,,,,,,,,..............,,,,,,,,,,,,,,,,,,,--------------===-,;
%;-=:::::==========----------,,,,,,,,,,,,,,,,...................,,,,,,,,,,,,,,,,,--------------==,,;
%;-=:::::==========---------,,,,,,,,,,,,,,,,,......................,,,,,,,,,,,,,---------------==,,;
%;,=::::============---------,,,,,,,,,,,,,,........................,,,,,,,,,,,,,---------------==,.:
%;,=:::==========-==---------,,,,,,,,,,,,,.........................,,,,,,,,,,,,,,----------------,.:
%;,-:::============----------,,,,,,,,,,,,.............  ............,,,,,,,,,,,,,--------------=-,.:
%;.-:::=========-==---------,,,,,,,,,,,,,..........        .........,,,,,,,,,,,,,--------------=-,.:
%;.-::==========-----------,,,,,,,,,,,.,..........           ........,,,,,,,,,,,,----------------,.:
%:.-::=====:=====-----------,,,,,,,,,,.........               ........,,,,,,,,,,,,,--------------,.:
%:.,:============-----------,,,,,,,,,,.........                .......,,,,,,,,,,,,,--------------. :
%: ,::::===========---------,,,,,,,,,,..,.....                ......,,,,,,,,,,,,,-,,------------=. :
%: ,::=============---------,,,,,,,,,.........                 ......,,,,,,,,,,,,,,,-------------. =
%: ,::==============-------,,,,,,,,,,.........                  ......,,,,,,,,,,,,,--------------. =
%: .::==============-------,,,,,,,,,,,........                  ......,,,,,,,,,,,----------------. =
%: .::============----------,,,,,,,,,,........                  ......,,,,,,,,,,,,---------------  =
%: .::===========-----------,,,,,,,,,,........                  ....,.,,,,,,,,,,-----------------. =
%: .::===========-----------,,,,,,,,,,........                 .......,,,,,,,-,,,----------------. =
%: ,:=============----------,,,,,,,,,,........                 .......,,,,,,,,,,,----------------. =
%:.,:============-----------,,,,,,,,,,.........               ......,,,,,,,,,,,,,,--------------=. :
%;.,:============-----------,,,,,,,,,,..........             .......,,,,,,,,,,,,,,,-------------=. :
%;.,=============----------,,,,,,,,,,,,...........          ........,,,,,,,,,,,,,,,-------------=. :
%;.,:===========-----------,,,,,,,,,,,,...........         .........,,,,,,,,,,,,,-,-------------=,.:
%;,-::==========------------,,,,,,,,,,,.............    . .........,,.,,,,,,,,,,,,,------------=-,.:
%;,-::===========-----------,,,,,,,,,,,,,............  ............,,,,,,,,,,,,,,-,,-------------,.:
%;,-::============----------,,,,,,,,,,,,..,........................,,,,,,,,,,-,,,,,,-------------,.;
%;,-::=:==========-----------,,,,,,,,,,,,..........................,,,,,,,,,,,,,,-,--------------,.;
%/,-:::============---------,,,,,,,,,,,,,..........................,,,,,,,,,,,,,,,,--------------,,;
%/-=::::===========---------,,,,,,,,,,,,,,........................,,,,,,,,,,--,,,,-,-------------,,;
%/-=::::===========---------,,,,,,,,,,,,,,,,,,,...................,,,,,,,,,,--,,---,-------------,,;
%/-=:::::==========---------,,,,,,,,,,,,,,,,,,,,,,..............,,,,,,,,,,,,,-,,,---------------=-,;
%/-=:::::===========---------,-,,,,,,,,,,,,,,,,,,...............,,,,,,,,,,,,,,,,------------------,;
%/-=:::::============----------,,,,,,,,,,,,,,,,,,,,.,,,,,,,....,,,,,,,,,,,,,,,--,---------------=--;
%/-=::::=============----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,------------------=--;
%/-=:::===============-----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------------===--/
%/==::::::============-----------,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------==--=/
%/=:::::::============----------,,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,--,,,,,,,,,,,-----------------==--=/
%/=:::::::==============---------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,,,,,,,,,------------------=--=/
%+:::::=================---------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,,,,,,,,,,,,,----------------=--=/
%+:::::::===============----------,,,,,,,,,,,,,,,,,,,,,,,,,,,,--,,,,,,,,,,,,,,-----------------====/
%+::::::::===============-----------,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,,,,,,,,,,,----------------======/
%+::::::::============-===-----------,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,,,,,,,,,,,,-------------=======:+
%+:::::::::===============-----------,,----,,,,,,,,,,,,,,,,-,,-,,,,,,,,,,-,,-----------------=====:+
%+;::::::::==============------------------,--,,,,,,,,,,,,-,,-,,,,,,,,,,,-,,------------------====:+
%+;::::::::==============------------------,-,,,,,,,,,,,-,,,,,,,,,,,,,,,,,,----=-------------=====:+
%+;;:::::::::============--------------------,---,,,-,,-------,,,,,,,,,,,,,,--=------------=======:+
%+;;:::::::::=============------------------------,-----,-----,,,,,,,,,,,,-----------------=======;+
%%/;:::::::::==============--------------------,-------------,---,,,,,,,------=--------=-=========;+
%%/;::::::::::==============-------------------------------------,,,------------------============;+
%%/;:::::::::::==============----------------------------,,-----------------=----------==========:;+
%%/;::::::::::::::===========----------------------------,,---------------===------==============:;+
%%/;::::::::::::::============--------------------------------------------------=================:/+
%%/;::::::::::::::============---------------------------------------------------================:/+
%%+;:::::::::::::::=============------------------------------------------=-------===============:/+
%%+/:;:::::::::::::=:============-----------------------------------------=------==============:=:/+
%%+/;;::::::::::::::::============--=-----------------------------=--------=--=================:=:+%
%%+/;;;:::::::::::::::===============-------------=---------------------====================:==:=:/%
%%+/;;;;::::::::::::::================------------=-----------------------===================:::::/+
%%+/;;;;:;::::::::::::==:===============-----=----=--=-----------====-=====================::::::;/+
%%+/;;;;;;;::::::::::::===============================--==--=-=============================::::::;+%
%%%/;;;;;;;::::::::::::==================================================================::::::::;+%
$%%/;;;;;;;:::::::::::::==============================================================:::::::::::;+%
$%%/;;;;;;;;;::::::::::::============================================================::::::::::::;+%
%%%/;;;;;;;;;:::::::::::::::========================================================:::::::::::::;+%
%%%/;;;;;;;;;;::::::::::::::========================================================:::::::::::::;+%
%%%/;/;;;;;;;;;;:::::::::::::==:==================================================:::::::::::::::;+%
$$%////;;;;;;;;;;::::::::::::::::==============================================:=::::::::::::::;;;+%
$$$+////;;;;;;;;;:::::::::::::================------------------------==============:::::::::;;;;/%%
$$$%+++++++////////;;;;:::::======----,,,,,......          .......,,,,----=====:::::;;;;/////+++++%%
$$$$%%%%%%%%%++++++++///;;;;;;;;::::::=======------,,,,,,,,-----====::::::;;;;;///////+++++%%%%%%%%%