######################################################################################################################################################################################################
#/////////////////////TTTT////////////////////////////////////////////////////////////;.TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^#
#///////////////////////TT////////////////////////////////////////////////////////////;.TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT.TT^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^#
#////////////////////////////////////////////////////////////////////////////////////;.////TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT...TTTTTTTTTTTT^^^^^^^^^^^^^^^^^^^^^#
#///////////////////////////////////////////////////////////////////////////////////;.///////TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT.TTTTTTTTTTTTTTTTT^^^^^^^^^^^^^^^^^^^#
#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;///////;;./////////////////////////////////////////////////TTTT////////////TT////////.//////TTTTTTTTT///^^^^^^^^^^^^^^^^^^#
#.........................................................................;///;;;;;.///////////////////////////////////////////////////////////////////////////.//////////TTTT//////////^^^^^^^^^^^^^#
#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.;;;;;....////////////////////////////////////////////////////////////////////////////.;////////////////////////////^^^^^^^^#
#WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW/;......////////////////////////////////////////////////////////////////////////////////.;;;//////;;;;;;;;;////////;;;;;;;^^^^#
#WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW;.;/////////////////////////////////////////////////////////////////////////////////;;;.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;^^#
######################################################################WW;.;///////////////////////////////////////////////////////////////////////////////;;;;;.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;^#
######################################################################WW;.;/////////////////////////////////////////////////////////////////////////////////;;.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;^^#
###TTTT.........................................................TTTT##WW;.;/////////////////////////////////////////////////////////////////////////////////;;.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;^^#
###TTTT..........................####............####...........TTTT##WW;.;//////////////////////////////////////////////////////////////////////////////////;.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;^^^^^#
###TTTT..........................####################...........TTTT##WW;.;//////////////////////////////////////////////////////////////////////////////////;.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#^^^^^^^#
###TTTo..........................####################...........TTTT##WW;.;/////////////////////////////////////////////////////////////////////////////////;;.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;###^^^^^^#
###........................####...##################...####.........##WW;.;////////////////////////////////////;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#^^^^^^^#
###.........##l##..........###....g################f....###.........##WW;.;///////////////////////////////////;................................................................................>^^^^^#
###.........#####..........##m....##################....h##.........##WW;.;//////////////////////////////////;.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#^^^^^^^#
###.........####9..........###....##################....###.........##WW;.;/////////////////////////////////;.;///////////////////////////////////////////////;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;###^^^^^^#
###.........#####..........###...####################...###.........##WW;.;////////////////////////////////;.////////////////////////////////////////////////////;;;;;;;;;;;;;;;;;;;;;;;;;;;;#^^^^^^^#
###.........##a##..........###...########bbbb########...###.........##WW;.;////////////////////////////////;.;/////////////////////////////////////////////////////////;;;;;;;;;;;;;;;;;;;;;;;;;;^^^^#
###..............................####............####...............##WW;.;////////////////////////////////;.;////////////////////////////////////////////////////////////;;;;;;;;;;;;;;;;;;;;;;;;;;^#
###.................................................................##WW;.;////////////////////////////////;.////////////////////////////////////////////////////////////////;;;;;;;;;;;;;;;;;;;;;;;^#
###.................................................................##WW;.;////////////////////////////////;.////////////////////T//////////T//T/////////////////////////////////////////;;;;;;;;^^^^#
###.................................................................##WW;.;////////////////////////////////;.;/////////////////////TTTTTTTT//////T//////////////////////////////////////////;;;///^^^#
###.................................................................##WW;.;////////////////////////////////;.;//////////////T/TTTTTTTTTTTTTTTTTTT///////////////////////////////////////////////^^^^^#
###.................................................................##WW;.;////////////////////////////////;.;///////////T///TTTTTTTTTTTTTTTTTTTTTTT/////////////////////////////////////////^^^^^^^^#
###.......####j####.....#########.....#########.....####e####.......##WW;.;////////////////////////////////;.;//////////////TTTTTTTTTTTTTTTTTTTTTTTTTT/////////////////////////////////////^^^^^^^^^^#
###.......#########.....#########.....#########.....#########.......##WW;.;////////////////////////////////;.;////////////TTTTTTTTTTTTTTTTTTTTTTTTTTT////////////////////////////////////////^^^^^^^^#
###.......#########.....#########.....#########.....#########.......##WW;.;////////////////////////////////;.;///////////TTTTTTTTTTTTTTTTTTTTTTTTTT/////////////////////////////////////^^^^^^^^^^^^^#
###.......#########.....#########.....#########.....#########.......##WW;.;///////////////////////////////;.;//////////TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT///////////////////////////////////^^^^^^^^^^^^#
###.......####4####.....####3####.....####2####.....####1####.......##WW;.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.;/////////////TTTTTTTTTTTTTTTTTTTTTTTTTT////////////////////////////////^^^^^^^^^^^^^^^^^^#
###.................................................................P.....................................;//////////////////TTTTTTTTTTTTTTTTTTTTTTTT/////////////////////////////^^^^^^^^^^^^^^^^^^^#
###.................................................................##WW;.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.;///////////////T////TTTTTTTTTTTTTTTTTTT/////////////////////////////////^^^^^^^^^^^^^^^^^#
###.................................................................##WW;.;///////////////////////////////;.//////////////////T/////TTTTTTTTTTTTT///////////////////////////////////////^^^^^^^^^^^^^#
###.................................................................##WW;.;////////////////////////////////;.////////////////T//T//////TTTTTTTT///TTT/////////////////////////////////////^^^^^^^^^^^#
###.......####8####.....####5####.....####6####.....####7####.......##WW;.;/////////////////////////////////;.//////////////////////T////TT////////TT////////////////////////////////////.///^^^^^^^^#
###.......#########.....#########.....#########.....#########.......##WW;.;//////////////////////////////////;.///////////////T/////////////////////////////////////////////////////////.//////^^^^^^#
###.......#########.....#########.....#########.....#########.......##WW;.;///////////////////////////////////;.///////////////////////////////////////////////////////////////////////./////////^^^^#
###.......#########.....#########.....#########.....#########.......##WW;.;////////////////////////////////////;.///////////////////////////////////////////////////////////////////...////////////^^#
###.......#########.....#########.....#########.....#########.......##WW;.;//////////////////////////////////////.......//////////////////////////////////////////////////////////..////////////////^#
###.................................................................##WW;.;//////////////////////////////////////;////;/..../////////////////////////////////////////////////////.//////////////////^#
###.................................................................##WW;.;/////////////////////////////////////////////////....////////////////////////////////////////TTTTTTT..TTTTTTTTTTTTTTT///^^#
###.................................................................##WW;.;//////////////////////////////////////////////////;//./////////////////////////////////////TTTTTTTT.TTTTTTTTTTTTTTT/////^^#
###............i................##ccc##.............................##WW;.;//////////////////////////////////////////////////////.//////////////////////////////////////T.....TTTTTTTT///T///T//////^#
###...........###.............###########.............####d###......##WW;.;///////////////////////////////////////////////////////.////////////////////////////////......///TTTTTTTTT////////////////#
###.........#######........#################..........########......##WW;.;////////////////////////////////////////////////////////.//////////////////////////////.///////T////TTTT////T////////////^#
###........#########.....#####################........########......##WW;.;////////////////TTTTT////////////////////////////////////.//////////////////////////...////////////////T//////////////////#
###.........#######......#####################........########......##WW;.;/////////////TTTTTTTTT////////////////////////////////////....///////////////////...//////////////T///////////////////////#
###...........###..........#################..........####k###......##WW;.;//////////////TTTTTT//////////////////////////////////////////....////////////...////////////////////////////////////////^#
###............n.............#############..........................##WW;.;//////////////////TT//////////////////////////////////////////////.......////.//////////////////////////////////////////^^#
###.................................................................##WW;.;/////////////////////////////////////////////////////////////////////////.//.////////////////////////////////////////////^#
###.................................................................##WW;.;//////////////////////////////////////////////////////////////////////////..//////////////////////////////////////////////#
######################################################################WW;.;///////////////////////////////////////////////////////////////////////////../////////////////////////////////////////////#
######################################################################WW;.;/////////////////////////////////////////////////////////////////////////////..////////////////////////////////////////^^^#
#WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW;.;///////////////////////////////////////////////////////////////////////////////.....................////////////////^^^^^^#
#WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW/;.;////////////////////////////////////////////////////////////////////////////////////////////////////.....////////^^^^^^^^^#
#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.;/////////////////////////////////////////////////////////////////////////////////////////////////////////.....^^^^^^^^^^^^#
#.........................................................................;///////////////////////////////////////////////////////////////////////////////////////////////////////////^^^^^^^^^^^^^^^#
#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;////////////////////////////////////////////////////////////////////////////////////////////////////////^^^^^^^^^^^^^^^^^^#
#////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////^^^^^^^^^^^^^^^^^^^^#
#//////////////////////////T///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////^^^^^^^^^^^^^^^^^^#
#////////////////////////TTT//TT/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////^^^^^^^^^^^^^^^^#
#//////////////////////TTTTT/TTTT///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////^^^^^^^^^^^^^#
######################################################################################################################################################################################################

