.....
........
........................................................ ....
..... ........................................................... ........
...................................:::::::::::::--::-----::::-----:-:::::...................................................
...............:::::::::::::::-::::::::::::...:.......................::::-----::...........................................
.......................................:::----------=---:::::...........::::::::::::::::::::::::::...........::--:::.....................::................. ...
.............................::::::::::::::---================--:..................................::::::::::........::-::......:............:::----:::........ ...........
..............................:::--------:::::---============---=-------:.......................................::::------::::::---:::--::...::....::--===-----::.....................
............................:::::---===============+====+++++++++*+++==--:............................................:::::.....:-===-----:.:--:...--=-=-======---::...................
..................::...::----===--=========++===============================-::................::::::::::....:::............::------========-::-=--::-=+++++++++======------::............
...........::::------===========++++===+++=====+++++++++++++==================-:.::...:::::::---:::::----------===========--====++++++++**+==++++++=+++++++++++++++++++========--::::::....
.................::--===----=========================+=====++++++++++++++++++===+++=========++===========+++===+++=========++++++++++++++++++++++++++++**+++********+***+++==++======+++=====-:..........
............::------=====-=============++++++++++++++++++++++++++++++++++++++++=++++++++=++++++****+***++++++++++++++*+++==++++=++++++++==++++++++====++*******###**+*****##**+++++====+++====--:............
........:::::::::::-----=+++++====+++=+=++++++++========+==+++++++++***+++++++++++++++++++++++++++=++++++++++++++++++*************++++++++++++++++++==++++++++=+++++++++++***+++++++++++++++++=====+====--::............
......::::::-:::-==--=+#*+++===+++++++====-====++++++++++++++++++++++++++++++****+++++++++++++++++++++++++++++++++++++++++++=++++===+++++==+================+++===++++++++++++====++++++++++++++=====+==----::..........
........:::::::----+=-=*#*+================++++=++++****++=++++++++++++++++++++++++++*****++++++++++++++++++++++++++++++++======+++++++++++==+==+==========+++=++++++===========++==========++*****++==+====::--::............
............:::.::-=+#%#*=--------==========+++++++++++++++++++++++++++++++++==+++++++++++++++++++=++++++++++++++++++++++=======++++==++++++===+=======++++++++++++=+++**++++==++=============+++***+++++=======--::...........
....................+++=---==---------========++++==+++++===+++++++++++++++++++++++++++++++++++++++++++=====++++++++++++++++===+=================++===+++++++++++++++++++++++++++++========+++++++++++++++++++===--:::............
...................:-----=-----::-----===========+++++===+++++++++++++++++++++++++++++++++++++=++++====++++++++++==++++++++++++++++++=============+++++++++++++++++++++===++++++++++++++++++==+***++++++++++=++===--::::..........
.......................:-=======-------=--======+======+++**#***+**###*###****+++++++++++++++++++++++++=====++++++++++++++++++++++++++++++++++++++++=+++++++++++++++++++++*++++++++++++=-==+++++++++=+++*+++++++==+=======---:............
.......................--=========----=======++++++++*****+++***###*##%#########**+++==+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++========++++++++++++++++++*+++++++====-:..::......
.........................:---===++=====---========+++*****+++++***+******+***********++=====+++++=+++++++++++++++*++++++++++++++++*+++++++++++++++++++*++++*+++++++*+++++******++****+++++***++++==++++++++++++++++++++++++++++++=-=-:.::.........
...................:::-:----=+=++============++++**++++++******+++++++++++++++++++++==+++++++++++++++++++++++++++++++++++++++++++****++++**+++****+***++++*+++++++++***+******************+++++++++++++++++==++++++++**++++++++++=-==-:..........
.......................:=----==-=====++*+===++===+**++++++***+++++++++++++++++++++++===+++++++++++++++++++++++++++++++++++++++++++++++++****++*****++*******++++*+++++++++***+***************+++++****++***++++++++++++++++++++++++++++=--===-::::::......
......:::::::::-----==++=--=====+++==+*+==+*++++++++**++**+++++++***+++*****+===++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*************++*****+++++++***+++**********************++***##****++++++++++++++++++++++++++++=-:----:::::-::........
........:::-------=====++*+=-=======++=+++==++++++++******++++=+++******++++****+======+++++++++++++++++++++++++++++++++++++++++++++++++++*++++*****************++*+++*++*************###***##*********************+**++++++++++++*++++++++++++-:----::::::::....... ...
.......::------====++++++=--===++=++++++==+*++=+++*****+++++++*******++++++++++==+++++++++++++++++++++++++++++++++++++*+++++++++++++**+++++***++*+*****************+++++**********#*****######**************************+++++++++++++*****+++++++==---:--:::-::.........
......:::-----====+++++=-==+=**+=**+++==++===++**##*+++++*****+++++++++++++=====+++++++++++++++++++++++++++++++++++++++++++++++++++++***++++**********************++++++****************#######*###*********#*************++*****+++++****+++++++++======--:::::........
.....:::--======+++++=-=++++**==*++====++==+++++++==+++++++++++++=============+++++++++++++++++++++++++++++++++++++++++++++++++++++*+***+++++++*+****************+=++**+************###****##*************************************++++++++++*++*+++++==----:::::-:......
....::---=====+++++=-=+++++++==+==+==+++==+++====++++++++++=++++====++++++++++++++++++++++++++++++++++++++++++**+++++++++++++*+++++*****+++*****++*************++++***+************#####*#####*****#**#*******************************++++++++***+++++===---:::::::.......
...:-=-:--====+++===**++++++==++++++++====+===++**++++++++====++=+++++++++++++++**+++++++++++++++++++++++++++++**+++++++++++++**********++++******************++++**********************####********##******#####*****************###***+++++++**++++++=-----::..::::......
.........:---:--==+++++-=+**+=+++++==++==+========+++++++*++++=====+++++++++++++++++++++**++++++++++++++++++++++++++++***++++++++*++******************************++**********************************************#************######************++++++**+++++++---::-::..:::.........
......:-====--=-==+++==+**+=+++*++====-=====+++=++++=++=++======+++++++++==++++++++++++*******+++++++++++++++++++++++++*****++++++*+*********************************++++++**************************************************#######*******+*******++++++++++++++=-:::--::.:::........
......:-:-=--====++=+****++**+++==++==++===++==+====++=+====+++++++++++++++++++++++++++++++***+++++++++++++++++++++++++++**+++++++++**************************************************************************##*************************************++++++++++++=--:..:::..:::.......
....::::-=-:-==++==+*+++=+++++=+++==++++++++=++===========++++++++++++++++++++++++++++++++++****++++++++++++++*++++++++++**++++++**+***********************************************************#*********#######*****############*******##***++++*++++++++++++**++=---::---:::-:..........
..... .....::::--=:--====++++++=++++==+*+++++++++++++================+++++++++++++++++++++++++****++**++++++++++++++****+++++++++++++++++*+****++*++********************************#*******+*********************#*******###*###############******************++++++*+++++=-:::::::::--:..........
..... ....:..:--=-:-=+=+*+=++++****=+*+====++=+++=============++=+==+++++++++++++++++++++++++++**+++****++++++++++++++++++++=++++++++++++*+**+++++++**+++*+++************************************************************##*#***##############******####**#******#******++++=-::::-::::--:.........
......... ..........:-=-:--==+++++*++**+++++++=++*+=+++==+++==============++++++++++++++++++++++++++++++**++++**+++++++++++++++++++=+++++++++++++++++++++++++++++***********************************+******************************########################**#########****#*****++++====--::-:.--.........
........... ..........:=-:-===++++++++**+*++++==++++==========-=+===+++===+==++++++++++++++++++++++++++++****+++++*++++**+==+++++++++++++++++++++++++++++++++++++**********************+*************++**************************#**################****************####**********++++++==----::..-:........
................ ...........:-=-===+*+++*+=+**+*++**=++++++===========++===+++++++++++++++++++++++++++*++++++++++****+++++++++**++===+++++++++++++++++**+++++++++++***************************************+++********************************###*##**####*************************************++=----:-...-:........
....:........... .........:::=====++++**+=+**++++*+=++**+===============++++++=+++++++++++++++++++++++++++++++++++++++++++++++++*+===++++++++++++++++++++++++++++****************************************++++*****************************#*************************************+++****+*******++=-:...::..:.........
.....:........ ........:-:=+===*+++**+++*+++++*+=++===============+==++==+=+++++++++++++++++++++++++++++++++++++++++++++++++++++++=+++++++++++++++++++++++++++++********+***+*****+***********++******+++************************************************************************************+++=:::::-::::..........
....:........ .......:::-=+++++++*++****++++===+*+++===========+===+======++++++++++++++++++++++++++++++++*+=+++=++++=+++++++++++=++++++++++++++++++++++++++++++****+++**++*****++***********++*********************************************************************************************++++-::::::.:::.........
......::...... ...........:::==+=++++*++**+++++++=+++==++==========+===============+++++++++******++++++++++++++*+++++==++==+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****+**++**++*************************************************+*****************************************++++=-::.::...............
.....::....... ..........::-==+++++*++**+=+*+++++++++++=--======++=========++++++++===++++++++**++*++++++++++=++++++++==++=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*********************************************+++**++++******************************+++*++=-::..::..............
......::....... ............:===+++++++***++**+=+++++=+=--================+++=====++++++=+++++++++++++++=+++==++=+++++++===+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*+*****************************************++++***++**++++****************#*****************++==-:....................
..::......... ...........-====+++++++**++*+===++======-===============+++++=====+++**++++++++**++++++++++++===++++++++++=++++++++++++++++++++++++++++++++++++++++++=++++++++++++++++++++++++++++++++*+++***+++***********************************++++++++++++++++**********************#*####%%%#*++==-:::..................
.......::.:....... ........:=+=+==++++++*+++++=+===========-===============+++++++++++++++**++***++++++++++==+======+++++++=+++++++++++++++++++++++++++++++++++++++++=====+++++++====++++++++++++++++*+++++****************************+++*******++**++++++++++++++++*++****************#########%%%##*+++=---:................
........-.::....... .. .......-++++=++++=====================--============++++++++++++++++***+++++++*++++==================++++++++++++++++++++++++++++++++++++++++==++==+==+++=============+++++++++++++++++++********************+****++++*****++++++++++++++++++++++*++*********************###########**+++=:.::.............
........ ....... .........-:.::......... .........:=++==++++++++========================+====+++++++++*+++++++++++++++++++++++++================++++++++++==+++++++++++++++++++++++++++=+++++++++++++=========++=++++++++++++++++++************+++*****++**++*++++++++++++++++++++++++++++++++++******************###***#########*++=::.::...............
.................. ........::..::......... ...................:=++==+++++**++++=============---=========++++++*****+++++++++++++++++++++=+++===========+========++=+++=+++=++++++++++++=++======++=+++++++====+================+++++++++++++++++**********++++***++++++++++++++++++++++++++++++++++++++++++++*********************############**+-::::................
...........................-:..::....... ..........................-====+++++**++++==========-==--==========++++++++++++++++++++++++++++++++===========================++=+++++++++++++++++=====+=============+====================+++++++++++=+++**********+++++++++++++++++++++++++++++++++++++++*++++++*++++++++****************##*#############*+==-::::..............
.....:....................--..:::.......................................:=====++++++++*+=========--==--========++++++++++++++++++++=++++====++=========-=======================+++==+++++++++============================================++++++++++=++*******++++++++++++++++++++++++++++++++++++++++++++++++++++***++++*****************##***#####%%####*++=-:::...............
..::..................:-:............................................-====++==++*+++============--===-====++++++++++++++++========+++++=========---=====--================+++++++++++++==============================================++++++++++++*****+++++++++++++++++++++++++++++++++++++++++++++++++++++++++*++*****************************######**++--:..................
...::......... .......:-.............................................=====+++++++++=========-----===-====+++++*++++++++++===================---=========--====================+++++=+=============================================++*+++++=++++***+++++++++++++++==+++++++++++++++++++++++++++++++++++++++++**+*********************#*******************+=-...................
.....:...:............-:.....:.......................... ......-========+++============---====-====+++**++++++++++++++=============--=====-==------===--===================================================================+++*+++===+***+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*******+*****************####*###*************+=::..................
......::.:...........:-:......:......................... ......======================----========+++++++++++++++=================-===--===-------=-----=================================================================++++++++=++****+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++********************#******###########***+=:.....:............
.....:-:...........:-.......::............. ........:==-====+===========-----=========+++++++++++++========---=====--=====----==--------==-=================================================================++++++==++****+++==+++++++++++++++++++=++=+++++++++++++++++++++=++++++++++++++++++++*************************##########%%%%##***+=:....:...........
......:-...........-:........:............. ........-=-=-==============-==-======---==+++++++++++++++====---------------==---===------------==============================================================++*++==++++++++===+++===++++=++=+++++++==+++++++++++++++++++++++++++++++++++++++++++**************************#****############****+=::.:...........
.....::.........:-:.................... .......:-=========++=====--===============+++++++++++++=====--==----------------------------------====-=====================================================++++++++++++++=====+++===+++==+++++++++++++++==+++++++++++++++++++++++++++++++++++**+++++******************************##########*****+=-:-:...........
......:-:.......:-..................... ...:-=---====+++=-===-======-======-=++++++++++++==========----------------------------------------=============-===---=--=======-==========-========++++++++=++++=========++=========++++++++++++++++==+++++++++++++++++++++++++++++++++*+++++++++++*****##************##*******########*******+==-:...........
... ..::-.......::............................ .........:--=--=====+==-==---============-=+++++++++++++=========--------------------------------------=-=======-----------=====---===--=--==============++++++++++============+==========+++++++++++++++++++++++++++++++++++++++++++++=++++++++++++++++++********##*##*******************###***********++-:...........
......:::-:::...:::...::......:::............. .............:----=======----==================++++++++++++++======----=-------------------------------------====----=------------=-----=================+++++++++========================+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*****************###************#####*********+=:.......
......:-:-:::...-::...:........::..........................::-=========---===-===============++++++++++++=======---====-----------------------------------------------------------==--==============++++++++=============================++++++++++++++++++++++++++++++++++++++++++++++++++++=====+++++++++++*************#######***********##**####*******++=:...........
......:---:::.:-::.............::........................::--========--====--================+++++++++========-------=---------------------------------==---------------------=-=-====--=======++++++++========-====================+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=++++++++++++*+***********######************#########*******+=:..........
....:---::::-::....:.........::........................:-=======--======================++++++++++========-----------------------------------------------------------------------======++++++========-----====================+=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++***********#####**###*********#####**##*******+-.......
.....::--:::--::....:........::::..................:..:-=======--===============-====--=+++=+++++===-==---------------------------------------====--------------------------=======++++++======---==-----=====================+==++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*******##*########***********########**#******+-:......
......:--:::---:....:........::.:-:...............::.:-========================--====-=++==+==++===--=-----------------------------------------===------------------===========++++=====-=====----==----=====================++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++***********########***###*****####%#####******+:...........
........:-:-----:....:........:..:-.............:....--================================+==+=======--=---------------------------------------====------------------========+=======-----=--==---====-----====================++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++***********#########*#**#*******###%%%########*=:..........
......--:--::--::.::.......:-..:--.........:::..:--========================-=======+===========-----------------------------------------====---------------============------=-----=-----====-========================++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*****************##########*****#*###############*+-::::..........
.......------::---:::.:....:-:...--:.....:-:...:::========++===-==========-===================----------------------------------------====----------=============-----------------=======-======--=====================++=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*****+++++********############**##***###%%%#######*##*++=--:..........
........:==-=-:.:---:.:....:-:....:--...:-:...:::========+==========-==========-=============-----------------------------------------==--------=====-----------------------------=========-=========================+++=++++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++***++++++++*+*********##########*#####**#**##%######**##*++=--:::..........
.........:---==-:.:-=-::..::.-......:=-::....::-=====+==+======-==-===========-============---------------------------------------=======-===----------------------------------=--================================++==+++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++***+++++++++++++++++*********########*#####***#############*##***+::::::.........
......:::-=--=::----==:::::.::...:::----::..---====+===+==+=====--==================-====----------------------------------------====------------------------------------------===================================+++++=++++++++++++++++++++++++***+++++++++++++++++++++++++++++++*++++++++++++++++++++++++**********############***##*###########******=...:..........
...........:=-=-...:---=-::...-..........:-:-:-====+=====++======-=====-=================----------------------------------------===--------------------------------------=-=-=========================================++++++++++++++++++++++***++++++++++++++++++++++++++++**+++++++++++++++++++++++++++++************##########****##############**##**+:.............
............---=::..:-----:...:-...........::-===========+===-===--===--==========--====-----------------------------------------===---------------------------------------==-===============================================+==++++++++***+++++++++++++++++++++++++++**+++++++++++++++++++++++++++++++++++**********##***#########**#################****=..............
.............----::..::-===-.::-:........:::-=====+=====+++=--===--==============--===-=----------------------------------------------------------------------------------------=============-===============================++=+++++++++++++++**++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++************##########**#################****+-.............
.......--:=::::::-=----::-:.....::::-======+====+++=---=====-=--=========-----------------------------------------------------------------------------------------------===========================================+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++***************#######**##################****=:.............
......::.--.::::-:----:-:.......:-=-=-=======++++----====-===-=========-----------------------------------------------------------------------------------------------===================================+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**+*****************##**######%###########****+:.............
.......:::------=-.:-----::::..:==----======+++==-=-==============+===--------------------------------------------------------------------------------------------=---====-=============================++==++++++=========+++++==++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*++*+***********#****###########%######***+-......
.........:::---:----::==-:::-:----:=-======+++============-====+=+====--------------------------------------------------------------------------------------------------==-===========--============================================+=++++++++++++++=+===+===++++++++=+=++++++++++++++++++++++++++++++++++*++***************####################***=......
.......::-=--.-:.::===-:----::-==--====++==-===========+=+++=+====----==--====----------------------------------------------------------------------------------------------==-=----================================================+=++=++++=++++++===+==========+++++++++++++++++++++++++++++++++++++++++***************###%%%%%%%########***+-.....
.........:-==..-:::.:==---:::-=-:-====+++============+++++++++====--=============-------------------------------------------------------------------------------------------==-==------==================================================+++++====++==============+++++++++++++++++++++++++++++++++++++++++++*************##%%%%%%%###%#####****+-....
......:-=:.::....--..::-::::-===+++====-=+======+++++++++====================------------------------------------------------------------------------------------------===-=----------====================================================+++===================++++++++++++++++++++++++++++++++++++++++***********####%%#####%##%#%%######*+-:.....
... .:.-=-:---::..-=--:.::::====+++======+====++++++++++==================--====---------------------------------------------------------------------------------------=------------======================-=====================================================+++=+++++++++++++++++++++++++++++++++++++++*********#####%%%%%%%%###########*+-:...
......::---..:-----=-:::---======+=++==+++=+++++++++++++==================-===--==--====-----------------------------------------------------------------------------------==--------======================================-=======================================+==+++++++++++++++++++++++++++++++++++++++*******####%%%#%%%%%%%#########*+=-:...
......:-.--:.:::::-=--==--======+++==+=++===+++++++++++===============--====----=====-==--------------------------------------------------------------------------------=---=-------====================-=-=====--===-========================================+======+++++++++++++++++++++++++++++++++++++++++*****######%%%%%%%%%%########*+=:....
......-:.:=-::....:-:::-=======+++=+++++=++++=++++++++===============------==============------------------------------------------------=---------------------------------=------==================----------=--===============================================++====+++++++++++++++++++++++++++++++++++++*******#######%%%%%%%%#########*+=::...
......:-...--::::..----========+++=+++++=+++=+++++++++=============-=-========-=-=======-===----------------------------------------------=-------------------=-----------=------==============-==-----=======--=============================+=====================++==++++++++++++++++++++++++++++++++++++******#########################*+=:....
.:....:--:::::-:-========+++++++++++++++++++++++============-----====--=-==============---------------------------------------------=------------=--------------------------=============-=--===============================++++++=+===+++++++++++++++=========+++++++++++++++++++++++++++++++++++++++***+***###########%############*=:.....
........:=:.::-==========++++++++++*+++++++++++============----===-=================-=====------------------------------------------=--------------------=--------=----==--=============-=========================+++++++++++++++****+++++++++++++++++++++======+++++++++++++++++++++++++++++++++++++++******#######%%###############+=-:.......
.........:-::=-===+=====+++++++++++*+++++++++++============---===---===--=============----------------------------------------------==-------------==-====-------------====-=======--======================++++++*********************+*****++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*********#####################*+++=-:....
...........::.:-===-===++++++++++++*+++++++++++================----=====-===========---==--------------------------------------==---==--------------===-==---------============-==----==============+++++++++************************+*************++++++++++++++++++++++++++++++++++++++++++++++++++++++****#######################***+==::....
.....:.--====-=+++++++++++++*++++++++++==========-====------=-===========--------------=---------------------------------======------------=========--------=-===========================+++++*******************###*********+*********++*+++++++++++++++++++++++++++++++++++++++++++++++++++++++*******######################**+==::....
......--===--==++++++++++++*+++++++++++==========-======--=--=---=-====--------==----------------------------------------======----------============-------=======================+++++++******************########********++****************+++++++++*+++++++++++++++++++++++++++++++++++++++++*******######################**+--......
.. .......-===--==++=++++++*+++*+++++++++++============------------=========--=--------------------------------------------========---------=============--------===================+++++++++*****************########**********=****************++++++++++++++++++++++++++++++++++++++++++++++++++++*******##########%%##########**+-::....
.......--==--===+==++++++++++**++++++++++============----------=====-----------=---------==------------------------------========---------=============--------================+++++++*+********#####****###########*********++*****+******++*+**++++**+++++++++++++++++++++++++++++++++++++++++++++******######################**+-::.....
....:===---===--======+++*+*+++++++++++==========---------========-----==----------------------------------------------========---------=============--------====-========+++++++++++++***##*#################*#**********+++**********+++**************++++++++++++++++++++++++++++++++++++++++******#########################*=--::...
....-==---===--=======+++++**++++++++++==========----------==--==----==-------------------------=======----------------=========--------=-===========--------=========++++++++++++*******################*#*#************++++++++++*****++*****************+++++++++++++++++++++++++++++++++++++++*******############%%%%######*=-:......
...-==---===:-========++*+**+++*+++=+++==========--------=---===------------------------------==============-===-------=========---------=============---------======++++++++********#**##################*******+++++++++++++++****************************++++++++++++++++++++++++++=+=++++++++++*****###########%%%%%%#######+=:......
..:----===-:-===--====+********+++++++++========------=-----------------------------=----========================--=---========------------============-----=========+++++*********####################******+++======++++++++++++++++++++++************+**+++++++++++++++++++++++++++++++++++++++****#*##########%%%%%###%#####*+-:.....
.....:------=-----==--=====++********++++=+==========-----==---------------------------===========================================+==--------=================---=======++++++*******##*################****++++==============+++++++++++++*************************++++++++++++++++++++++++=+++++++++********############%%#%%######*+=::...
. ....::---------:-==-====--==+********+++==============---=-----------------------==============+++++++++++========================++=---------=-=-============-========+++++**********##############*****++====================+++++++++++++++++**************+*****++++++++++++++++++=+++++=+++++++++++++****#############%#%%%######*=::....
.....::-------====-===-===-==++*******++++=============------------------------===-=======++++++++****+++++++++++==++=======+++++=+++==-------=========================+++++*+****#*****########******++++===========================+++++++*++++++++***********+***+++++++++++++++++++++++++++++++++++++*******#############%%%#######*=-:....
.....::---------------------=+********++++==============----------------=============+++++++****************++++++++++++++++++++++++++===-----===-====================+++++********#*########******+++==================+==++++++++++++**+++++***********************++++++++++++++++++++++++++++=+++++++++******############%%########+==+=:..
......::---------------------=+********+++++============------------==============++++++**************************+++++++++++++++++++++====---==========================+++********#########*****+++==============++++++++++++*******#####****************************++++++++++++++++++++++++=+=++=+++++++********#*###################*++*+-.....
......::-::-----::::---------=+**********+++============--------==========++==+++++++****************##**************+++++++++++++++++++==============================+++++******#########****+++=============++++++***************###############*********************+*++*+++++++++++=+++++++====+++++++++++*******########%#########******+-:...
.......:-:::::::::::::::-------=++**********++============------======+++=====+++++****##******#*####****##**************+++++++++++++++++==============================++++*******########****++===========++**##*++====---=====+++++++****##%%%%####**********************+++++++++++++++++++++++===+=++++++********#*################******++++:..
.......:::::::::::::::::::------=++********+++===========------========++++*++++++*********#######***##*******************++++++++++++++++================+++=+=======+++++******########****+++======+++*##%#*==------=--====+++++++*************##%%##******************+++++++++++++====+++++++===++==++++++**********##############***********+:.
.......::::::::::::::::::::::----=**********++++=========-----======++++==++++++*******#######****#########****************++++++++++++++++=================+++++=+++++++++******########****++++++=++*##%#+====-----===++++****#####**###*####*****###%%%%###*************++++++++++++++++++++++++++=++=++++++++*************#######********#####**+.
..........:::::::::::::::::::::---=+**********++++=========-==============++++++++++*******************#**#*********************+++++++++++===============++++++++++++++++*******#########*****+++++*#%%#+=-====--====+*###%%%%%%%%%%%%%%%%%%%%%%%%#########%%###*************+++++++++++++++++=+==========++=++++************###****#******#######***-
...............::::::::::::::::----+***********+++=======--=-==============++++++++*********************************************++++++++++=================+++++++++++++++*****##########******++**#%#+====-==+==+**#%%%%%%%%@@@@@%%%%@@@@%%%%%@%%%%%%%%####%%#####*******+++++++++++++++++++++==++====+==+++=++++++*************##*********########**=....
...............:::::::::::::::::-:-+***********+++========-=================+++++++++++**+*****+*********************************+++++++==================+====+++++++++++*****###########******####+=========**#%%%#**##%%%@@@@@@@%@%%%%@@%%%%%%%%%%%%%%%############*******++++++++++++++++=====++++=====+++++++++++*********##************#######**+....
..................:.....::::::::::::-:-=************++==================+++======++++++++++++++++++++++++++++*************************++++++======================++++++++++++****############***#####*++++=++**##%%%#+=+#%%%%@@@@@@@%%######%%%%%%%%@@%%%%%%%##########****+++++++++++++++++++++===+===++++==++++=+++++++++*********************#######**+....
.........................::::::::::::--=+***********++============================+===+++=++++++++++++++++++++++++********************+++++========================++++++++++*****##############*####***++*+*##%###**#%%%%%#%%@@@@@@@%%%#####%%%#%%%%%#######*****###########***********+++++++++++++=+==========+++++++++++******************+++*######**+....
..........................:::::::::::--==**********++++=============================================++++++++++*++++********************++++=======================+=+++++++++*****#################******###%%###**+**#########%%%%%######**#%%########***********#####*******++++++++++++==+========+========++=+++++++++++++****************++++######**+....
........................:::::::::::::----+**********+++=========================================+++++=++++++++++++**++++****************++++============--===========+++++++++****##############*###***##%%%%##**+++**%%%##########*###****##**********+++*++******######*#*******++++++++++==============++++==++==+++++++++++++*********+**++++=*#####**+....
........................::::::::::::::---+***********++====+=========+===================-============+++==++++++++++++**+**************+++++======--=--=============+++++++++****###############**####%%%%%##**+++++*##%##############**+++++++++++++++++*********************+*+*++++++++++=========++=++=====++==++++++++++++++*********++++++++*####**+....
........................:::::::::::::--:=+***********++============+===========--====--============++++++++++++++***+*******************+++++++=========-----===========++++++******##########**#####%%%%%##**+++++++++*########***++++++***+++++++++++*************++++++++++++++++++++++++++++===+==+=++=====+====++++++++++++++++*******+++++++++####**+....
..............................:::::::::-=+***********++====+==================----==----========+++++++++****######*#**********************++++=====-----------=========++++++*******########****#%%%%%%####*******+++**++++++++++++******++++++++*******++*****+++++++++++++++++===+========++========++==++++======++++++++++++++++*******+++++==++###**=....
.............................:.:::::::--==***********++===+=======================---======++*+++***##########**#####%%%%%##**************+++++=====----------==========+++++++********###******#%%%%##***+++++++++++**+++++++*********++++++****++++++++*********++++++++=====++=================++==+++++==++=====++++++++++++++++++*******++++===+*##**+:...
...............................:::::::---=***********++==+=====================----====++++++++*###*+++++++++++*********###########*******+++++=====------------=--======+++++**********************++++++++++++++++++++++**++++++***++++++************##****+++++++++++++++++=====+===================+=+++++++++==+++++++++++++++++++*******++++===+****+:...
..................................::::---=+**********++===+=================--=====++++===++*##*+==++*****##########*###***#########*******+++======--------------=======+++++++*****************++++++++++++++++++++++++++++++++++***************####***+++=================++++================+=======++++++++++=====+++++++++++++++****#***+++++==+***+:...
...................................:::---=+***********+==========+================+===++*#%#+++++**####%%%%%%%%%%%%%%%#####*#*******#*****+++++=====----------------======++++++*******************+++*+++++++++++++++++++++++++++++*******#######***+++++++++====================++++==================+==++++++++++++++++++++++++++++**#*******+++++=+**+-...
....................................::--==+***#*##****++=================-=====+++==+*#%#*++++*##%%%%%@@%%%%%%%%%%%%%%%%%%#####**********+++++=====---------------=-=======++++++*+*++****************++*+++*******+****************########************+++++++++++====================++++==========++++++++++++++++++++++++++++++++++***********++++==+**=:..
....................................:--==+****###*****++=================+++++==++#%%**+***##%%%%%%%#***##%%@@@@@%%%%%%%%##########*+*++++++++=====-----------------=======++++++++++++***********++*++++++++++++++++**********#####*********+*++++++++++++=================================+++====+++++++++++++++++++++++++++++++++++++***##******+++++=+++-..
... ............................:-=+++****#**#*****++=============+++++==+*#%%#+++++*#%%%%%%@@%%#%@%%@@@@@@@%%%%%%%%%###%%%%%%%##*+++++==+=====------------------========++++++++++++++++*****+++++++++++++++++++++++++++++++++++++++++++++++++++++++======================++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**##********+++==++=..
..............:-=+++******##*##**++==============+++++*#%%#+++*##%%%%%%##%%%%%%%%%%@@@@@@@%%###%%%%#####%%%%%%#*++===========------------------========+++++++++++++++++++**++++++++++++++++++++++++++++++==+++++=+=++++++++====================================++++++++++++++++**+++++++++++++++++++++++++++++++=+***##********+++=+++-.
...........-===++****######***+=============++++*####***##%%%%%%%#####%%%%%%%%%%%@@%%%%#####%%%###%%%#####**++==========-------------------=========+++++++++++++++++++++++++++++++++++++++++++++++++++=+++++++++++++++============================================++==+++++++=+++++*++++++++++++++++++++++++++***####*******+++=+=:.
.. ......:-=++++*****#####**++=============+++*++*#***#%%%%%%%###***#%%%%%#%%%%%%%%%#######%##********++++++++==========------------------========+++++++++++++++++++++++++++++++++++++++++=++++++++++++++=====================================-=-==================+===++++++++++++++++**+++++++++++++++++++++***###******++++===:.
..........:-==++++**##%#####**++=============+++**##%%%%%%%%%%####****#%%%%%%#####%########*****+**++++++=+++++=========---------------------======+++++++++++++++++++++++++++++++++==+++==+++++++++===+==============================---------==-=-=======================++++++++++++++++++*++++++++++++++++++*****###*****++++=+-.
.........::-==+++++*####%###**++===============+*####%%%%########****++*#############**++++++*****++++++++++++==========---------------------======++++++++++++++++++++=++++++++++++++++++=+++++======++===================----=====-=-----=---===============================++++++++++++++++++++++++++++++++++***+*###*****+++++==:....
........:--==+=++++*#######**++===============+****+++++********#*#******+++***++++***+*********+*+++++++++============------------------=========+++++++++++++++++++++++++====++=======================================-------========---=====++==========================++=++=++++++++++++++++++++++++++++++***++*###*****++++==-....
...........::::--===++*########*++====-=========++**+++===+++++++++++******************+***********+++**+++++++=========----------------------======+++++++++++++++++++++++========================================----------------===============+++++===========================+++++++++++++++++++++++++++++=++***++*###*****+++++=-:...
..................:-=+*######***++=====-========+**++=============+=+++++++**+++**+++***++*******+++*++++++++=======--=----------------------========+++++++++++++++++++===============================-------------------==--------------=-======+++++===========================++=++++++++++++++++++++++++++++++**+++********+++++==:...
.......... ....-+*#######**++======---=====+++===============+++++++++++++*****+++************++++++++========--------------------------========+++++++++++++++++==+===========================---------------------====----------------==================================++++++++++++++++++++++++++++++++++++**++********++++++==-...
.......... .....-+**####****++==-===----==++++==-=========+++++++++++++++++++++************+++++++++=========-------=-----------------===========+++++++++++===============================---------------------------------------------=================================++==++++++++++++++++++++++++++++++++++*++++++++++++++++===:..
.......... .:+*####*****++==--=----==++===-------===============++++++++******#**+++++++++++++++====----=-------------------------=============++++++++==============================--------------------------------------------==--==============================+=====+++++=++++++++++++++++++++++++++++*++++++++++====++===-..
........... .:=**##*****+++===---=========-----=======+++====+++++***********++++++++++++++++++====-===----------------------------===============++++===========================---------------------------------------------------====================================++===+++++++++++++++++++++++++++++++**++*+++++++===+++===:.
........... ..-+***##***+++==--=====--==------======++++++++++*********+++++===++++++++++++=====---------------------------------=================++==================================-----------------------------------------------================================+===+===+++++++++++++++++++++++++++++++**++*+++++++===+++===:.
............. ..:+********+++==-===----=------=====-========+++++++=========++++++++=+++++=======---------------------------------=-===============+====================================-===-------------------------------------=--=====================================++++++++++++==++++++++++++++++++++*****++++++++=++==+++==-..
............. ..:=******+++++=--------------==-----=====+++++++++++++++++=============+========------------------------------------======================+==++====+=++++++++==================-------------------------------------======================================++==++++++++++=+++++++++++++++++********++++++===+==+==+=-..
. ............ ...=+*****++++==-------------=------====++++++================================-------------------------------------========================+++++++++++++++++++++++++==============----------------------------==--====================================+==+++=====+++++++++=++++++++++++++++******#*+++=++++++====+==:..
.............. ...-++**++++++==-----------=-------===++++==================================---------------------------------------=========================++++++++++++++++++*+++++++===================---------------==-==---========================================+==+===+++++++++++==++++++++++++++*******#**+++++++++++==+=-:..
................. ...-+++++++++===--------------=--===+=====----====--=====================-------------------------------------------=========================+++++++++++++++++*****++++++===============--=====-------=---====-==============================+++==+=======+====+=+++++=++++===+++++++++++********#*****++++++++=+==:...
.................. ...-+=++++++====-------------=--=======-=-------------==============------------------------------------------------=======================++++++++++++++++++++*****++++++++===============----------=======================================+++++==++===++++++++++++++++++++++++++++++++*********##*******+++++====:...
.................. ...-=+++=+======-----------==----------===------------=-=-====------------------------------------------------------==========================+++++++++++++++++*******++++++++=============--=====-=================================================+===+++++=+++++++++++++=++++++++++++*******************++**===-....
.............. ...:===========--------------------------------------------------------------------------------------------------=============================+=+========+++++++*******+++++++++================================================++++++=++===++++===+++++++++++=++++++++++++===+++++++++*******************+++*#*=-:.
............... .....:-=========-------------------------------------------------------------------======------------------------============================+============++++++*********+++++++======================================++++==+++=+=+++======++++++++++++++++++++++++++++++++====++++++++****#*******+++***+++++*##=.....
................... ...:-========--------------------------------------------------------------===========---------------------=======================+++++++++============+++++++*********+++++++++==================================++++++++++++++++++++++++++++++++++++++++++++++++++++++++==++++++++***#********++++++++++++=:..
.................... ....--=======------------------------------------------------------------=====++++++==--------------------===================+++++++++++++++===++++====++++++***##******+++++++++++=========================++=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++===++++++***##********++++++++++++-...
............. ... ...:=-======------------------:--------------------------------------=======++++++==---------------------=========+++++++++++++++++++++++++++++++++=++++++++***##******++++++++++++++++++======================++++++++++++++++++++++++++++++++++++++++++++++++++++++++++====+++++**####**##****+++++++**+=....
............. ... ...:=-======--------------------------------------------------------====+++++++++==----------=--------=======+++++++++++++++++++++++++++++++++++++++++++++++**###**********+++++++++++++++==+===============+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++==+=++++**##########*****++++***+:....
............. ...:---=====-----------------------------------------------------=======+++++++++==--------=-============+++++++++++++++*************++++++++++++++++++++++**####***************+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++===+++++**=--=*#######********+-..
........... ...:----=====---------------------------------------------------=======++++++++++=-------================+++++++++++*****************************+**+++++***####*******************+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++===+++++-......:+****#***++=:....
......... ...:----=====-------------------------------------------------=======++++++++++++=-------=====+++++====++++++**************************####****************####***********************+++++++++++++++++++++++++++++++++++++++++++++++++++++++*++++++++++++++++++++++++++++===+++*=.... ................
.. ... .. ...:-----====-----------------------------------------------=======++++++++++*+++=------====++++++++++++++**********************##%%%%%%%%%%%%####******######************************++++++++++++++++++++++++++++++++++++++++**++**+++**+++++*++++++++++++++++++++++++++++==++++:.... ................
...:-----====--------------------------------------------=======++++++++++**+++++=-----=====+++++++++++**********************####%%%%%%%%%%%%###############****************************+**+++++++++++++++++++++++++++++++++++++++*+****++*+++++++++++++++++++++++++++++++++=+++-.
...:------===-------------------------------------------=======+++++++++******+++=========+++++++++++********#####*********############%%%%%#######%%######*******************************++++++++++++++++++++++++++++++++++****************++++*+++++++++++++++++++++++++++=++=..
...:------===--------------------------------------=========++++++++++*******+++++======++++**####*********#########*******#****########################****************************************++++++++++++++++++++++++************************++**+++++++++++++++++++++++++++-..
...:------=--==----------------------------------===========++++++++***********++++=+++++****###%%%%%##*******#####*************#####################***************************************************++++++*++++**********************************++++++++++++++++++++++++++-..
...:--------====-=------------------------------=========+++++++++************++++++=++*****#####%%%%%####******###***********##################****************************************************************+***************************************+++++++++++++++++++++++:..
...:---------===-----------------------------=========++++++++++*******####***+++++====+++**#####%%%########*******#*******#########*#**#***************************************************************************************************************++++++++++++++++++++++=...
...:---------====----------------====================+++++++++*********####****++++=======++***#########*****************######*****************************************************************####*****************************************************+++++++++++++++++++++=...
... ...:---------====-------------======================+++++++++********######****+++++=======++++++*****+++++*********#######*##*******************************************************************########************************************************+++++++++++++++++++++=:.. ...
... ..:----------====--===-====-================++=++++++++++++++******######*******+++++============++++++++++++++*******###***************************************+++++++*+***************************#########*******************************************+*+++++++++*++++++++++=:.. ........
..... ........ ... ..:---------======--===========================++++++++++++********#####*****+++++++++++============++==++++++++******************************************+++++++++++++++**+*************************#############**************************************+*++++++++**++++++++++=..............
................... ..:---------================================++++++++++**************##******+++++++++++++++=++==========++++++++++***********************************+++++++++++++++++++++++++++*************************############**********************+*******+*****++++++++*++++++++++++=:.............
....................... .. .:----------===============================+++++++++++************#*##*****++++++++++++++++++++======+=+++++++++++*******************************++++++++++++++++++++++++++++++++++++++*******************##############******************++*+*****+*****+++++++++++++++++++++=..............
............................ .:---------==============================++++++++++++***************##*****++++++++======================+++++++++***++****+++++++++******++++++++++++++++++++++++++++++++++++++++++++++***************#********########*******************+++++**++*****+++++++++++++++++++++-... ..........
........................... ...----------=====================++++++++++++++++++*************####*****++++++++++=======================+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****************************######*******************++++++++******+++++++++**++++++++++-... .......
......................... ...-=++=-----================++=+++++++++++++++++++*************#####*****++++++++===========================++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*****************************###*********+**********+++++++++*****++++++++++++++++++++=.... ......
................... ....=++-------=============+=++++++++++++++++++++***************#####*****++++++++=============================++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++******************************##**+++++*+*++*+****++++++++++++***+++++++++++++++++++++=.... ....
.................. ....----------==============+++++++++++++++++++++***********#*######*******+++++++++============================+++=====+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*********************************++++++++++++++++*+++++++++++***++++++++++++++++++++++=....
.................. ....:---------======+==++++++++++++++++++++++*************##########********++++++++====================================++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****************######*************++++++++++++++++++++++++++++++**++++++++++++++++++++++-....
................ . .:--------======++++=++++++++++++++*+****************###########********+++++++++==================================++++++++++++++++++++++++++++++++++++++++++++++++++++*****************#############*************++++===++++++*+++++++++++++++++++**+++++++++++++++++++++-....
........ .....:-==--========++++++++++++++++++*******************##########********++++++++++===============================+++++++++++++++++++++*+++++***********++++*+*****************##**#####%%%%%%%%######***********+++++++====+++++++++++++++++++++++++*++++++++++++++++++++++-....
....:====+++===+++++++++++++++**+*****************#############********+++++++++===========================++++++++++++++++++****************************************#*#########%%%%%%#####**#####************++++++=======+=+++++++++++++++++++++++++++++++++++++++++++++:
.......:--=++==++++++++++++++++****************########%%#####********+++++++++++======================++++++++++++++++++++*************************************#***#######%%%%%%###***********************+*+++++==========+++++++++++++++++++++++++++++++++++++++++++++=:
..........:===+++++++++++*******************########%%%######********+++++++++++====================++++************+++***********************************###################***************************+++++++============+++++++++++++++++++++++++++++++++++++++++++++=:
..........:==++++++++**+++****************########%%%#######*******+++++++++++++===============+++++++*************+++************************#################*************++++++++**+**********+++++++++++++=============++++++++++++++++++++++++++++++++++++++++++++=.
...-=++++*++*************#***############%%%######*********++++++++++++============++++++*******+++*+++*++++***********************##########****+++++++*****+*++*++*++++++++++++******+++++++++++++++===========++++++++++++++++++++++++++++++++++++++++++++++=.
.....:=++++++++**++*********##*############%%######***********+*++++++++++=++====++++++++*****+++++++++*********************#########***++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++++++++========++++++++++++++++++++++++++++++++++++++++++++++=-.
...::=++++++*++***+***********############%%######***********+++++++++++++++++++++++****+++++**+**++++*****+*********########***++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++====++=+++++++++++++++++++++++++++++++++++++++++++++++=:.
.....-====++++++**+***********##*#########%######**********+++++++++++++++++******************+****************#######**++++=+====+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*++++++++++++++==++++++++++++++++++++++++++++++++++++++++++++++++++=..
.. ...-=++==++++****************#################********++++++++++********************************##*********++++===============+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*+++++++++++++++++=+++++++++++++++++++++++++++++++++++++++++++++++++=..
...... ....-=+==+++++***+**********##*******##******#****************#####%%%%%%%%##************+++++++===========================+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*****++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-..
...... ....:-=+==+++++**++*********#**********++++*****************########***######*+++++++++========----==--==================+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-...
...... .....:==++++++++*+++**++*******++++***++++++++*********************++++++++++++++++===============================+====++++++++++++++++++++==+++++++++++++++++++++++++++++++++++++++++***+++++++++++++++++++++++++++++++++++++++++++++++++*++++++++++++++++-....
.... ..:==++++++++*+++**+++***+++++++*++++++++++*******************+++++++++++++++++=======+============++===++=++++==+++++++++++++++==++++++++++++++++++++++++++++++++++++++++++++++++*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-..
... ...-==+++++++*++++*++++**+++++++++=======++++**++++++++******+++++++++++++++++===================++=====+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-...
... ...:===++++++++++++++++++++++++++==========+++++++++++++***+++++++++++++++++++++==================+=++=++=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*+++++++++++++++++++++++=:...
.... .....-=+++++++++++++++++++++++===============+++++++++++++++++++++++++++++++++++=====================++=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*****+***++***+++++++++++++++++=:....
.... ..-=++++++++++++++++++++=================+++++++++++++++++========++++++++====================+==+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=++++++++++++++++++++*************+********+*+++++++++=-.
....... ...-=+++++++++++++++=====++==============++++++++++++++++=============+++++================+++++++++++++++++++++++++++++++++++++++++++*++++++++++++++++++++++++++++++++++++++++++++++====+++++++++++++++++*********************++**+++++++++++=..
....... ....-++++++++++++++++=+==================+=++++++++++++++==============+======================++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=====+++++++++++++++++*************************+++++++++++:..
.......... ....:=++++++++++===++===================+++++++++++++++++===============================++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=======+++++++++++++++************************+***+++++++++-...
.......... ..:=+++++++++++++++===================+++++++++++++++++===========================+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+===++++++++++++++++***********************++*++++++++++....
................ ...:=+++++++++++++=+=======+==========++++++++++=++======+++====================+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++====+++++++++++++++++*************************++++++++++:....
................ ....:=++++++++++=+===============+++++=+++++++++++========+++================+==+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++==+++++++++++++++++++++********************+*+*++++++:.
................ ......-++++++++++++====+++===+++++++++++++++++++++==++=========================++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++==++++++++++++++++++++++++++****************+++++++++=:..
................ ...-++++++++++++++++++++++++++++++++++++++++++++++++=======================+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=++++++++++++++++++++++++++****+*************++++++=:...
............... ... .. ....:+++++++++++++++++++++++++++++++++++++++++++++++++=====================+++++++++++++++++++++++++++++++++++=============++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**********+++++++=:....
...................... .:+++++++++++++++++++++++++++++++++++++++++++++==+=================++====+++++++++++++++++++++++++=======================+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++************+++-...
................. ..:=++++++++++++++++++++++++++++++++++++++++++=======================++++++==++++++++++++===================================++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*****++**++=:....
................. ...:=+++++++++++++++++++++++++++++++++++++++++==============================+++++++++===================================+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*****+*++=:.
................. .....-++*+++++++++++++++***++*+*+++++++++++===========================++++++++++++====================================++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*+***++=...
.................. ....-+***+++++****+++*********++++++++++===========================+++++++++=====================================++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*****+++=....
.................... .....:=**********************+++++++++++==========================+=+====++++================================+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*********++=:.....
.......................... ...-+************************++++++++=====================================+===================+=====+++===++++++++++=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++***********+-...
........................ ....:=+**********************++++++========================================================++====++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**********+=:....
............... .. ..-+*********************++++++++=================================================+++++==++==++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++***********+-...
................. ...:=+********************+++++++++======================================================+==++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+++++++++++++++++++++++++++++*****+**********+=:....
............ ....:=******************+++++++============================================================+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****************=:..
.......... .. .....:=****************++++++=======+===========================-==========================+==++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*******************+:....
....:+************+++++++++==++=================================--====================+++++++++++++++++++++++++++++++++++++++++++++++++++++++==+=++++++++++++++++++++++******************=...
.....-+*********++++++++++++++=====================================================++=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++********************+:....
....-+******++++++++++++++++===============================================+===++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++******************+-..
.....:=+***+++++++++++++++=++==================================================+++++++++++++==+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*****************+:....
...:=+***+++++++++++++++++==============================================+=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*****************=-..
......-+***++++++++++++++++=================================================+++===+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*********#***+-:.....
....-+**+++++++++++++++++++========================================++++=========+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++***************+:.....
......-+****++++++++++++++++++=====================================+++++======+=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****************=:.......
.....-+*****+++++++++++++++++====================================++++========++++++++++++++++++++++++++++++++++++++++++++++++++++++++++***************=:..
....... .......:-++****++++++++++++++++====================+++++=++=++===========++++++++++++++++++++++++++++++++++++++*++++++++++*+********+**************=:.....
....... ......:-+********+++++++++++++================+++++++++++++++========+++++++++++++++++++++++++++++++++++************************************+-.....
............ .. .........:=+**********+++++++++++==++==========+++++++++++=+======+++++++++++++++++++++++++++++++++**************************************+-:.......
............... .....:=+***********+++++++++++++++++++++++++++++++++++++++++++++++++++++******++++++****+************************************+=-....
............... .........:-==+********+++++++++++++++++++++++++++++++++++++++***+**+******************************************************+-........
.............. .......-+*******+++++++++++++++++++++++++++++++***************************************************************+=:....
.................. .........:-+**********++++++***++++++++++****************************************************************+=-:........
................ ......:-+********************************************************##*#*******************#*****+-:......
.............. ... ......:-+**********************************************########*#*##**#******##*#*#**+=-:..........
.............. ...:=+*******************##**#*#####**##################**##*#***######*++-:.....
.. ............. . ........:-=++***###############################*#######**#####**++==-:...........
......... ........::--=+**#####################*****###***+==-::........
.............. ..................:=+*******#########***++==-:.................
.............. .......::::------:::..........
............... .. ............................
..............
...... .. ...
.:.
.......
.......
..........
........
........