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