:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.......................:::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.....:::::::::::::::::::::::..:::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::....:::::::::::::::::::::::::::::..:::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.::::::...::::::::::::::::::::::::::::::::::..::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::....:::::..:::::::::::::::::::::::::::::::::::::..:::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.....::::..::::::::::::::::::::::::::::::::::::::::..::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.......:::..:::::::::::::::::::::::::::::::::::::::::::.::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..:...::::..:::::::::::::::::::::::::::::::::::::::::::::.:::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..::. .::::.::::::::::::::::::::::::::::::::::::::::::::::::.::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.::....:::..::::::::::::::::::::::::::::::::::::::::::::::::::.:::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........:::..:::::::::::::::::::::::::::::::::::::::::::::::::::..::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.........::.::::::::::::::::::::::::::::::::::::::::::::::::::::::.::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...:....::..::::::::::::::::::::::::::::::::::::::::::::::::::::::::.:::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..::....::.:::::::::::::::::::::::::::::::::::::::::::............::.:::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.:.:....::.:::::::::::::::::::::::::::::::::::::::::::.:::.........:::.::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.:..:..::.:::::::::::::::::::::::::::::::::::::::::::.::.......:::::::.::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.::.....:..::::::::::::::::::::::::::::::::::::::::::.::..:..::::::::::.::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.:..:..::.:::::::::::::::::::::::::::::::::::::::::::.:..:.::::::::::::.::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.....:..::::::::::::::::::::::::::::::::::::::::::.::.:.:::::::........:::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::....::.:::::::::::::::::::::::::::::::::::::::::::.:..:.::::::.:::::::.:::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::....::.:::::::::::::::::::::::::::::::::::::::::::.:.:..:::::.::::::::.:::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::....:.::::::::::::::::::::::::::::::::::::::::::::.:.:..:::::.::::::::..::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...::.::::::::::::::::::::::........::::::::::::::.:.:..:::::.::::::::..::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.:::::::::::::....::.:::::::::::::::::::::..:::::::::::::::::::::.:.:..::::::::::::::.:.:::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...::::::::::::..:.::.:::::::::::::::::::..:::::::::::::::::::::::...::.:::::::::::::..::.::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.....:::::::::::..:.::.:::::::::::::::::::.:::...........::::::::::..:::.::::::::::::..:::..:::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.......::::::::::..:.::.::::::::::::::::::.:::....::::.....:::::::::..:::..::::::::::..:::::..::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::....:....:::::::::..:.::.::::::::::::::::::::::..::::....:..::::::::::.::::...........:::::::::..::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.....:::.....:::::::..::::.:::::::::::::::::::::..:::..::::::..:::::::::::::::::::::::::::::::::::....:::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.....:::::::....::::::..::::.:::::::::::::::::::::.:::..:::::::..:::::::::::::::::::::::::::::::::::::..:::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.......:::::::::.....::::..::::.::::::::::::::::::::..:::.:::::::::.:::::::::::::::::::::::::::::::::::::::.::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::......::::::::::::::...::::..::::.::::::::::::::::::::..:::.:::::::::.::::::::::::::::::::::::::::::::::::::::.:::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::.......:::::::::::::::::....:::.::::.::::::::::::::::::::..:::.:::::::::.:::::::::::::::::::::::::::::::::::::::::.::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::.......::::::::::::::::::::....:::::::.::::::::::::::::::::..:::.:::::::::.::::::::::::::::::::::::::::::.::::::::::..:::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::......::::::::::::::::::::::::....::::::.::::::::::::::::::::..:::.:::::::::.::::::::::::::::::::::::::::::::::::::::::.:::::::: :::::::::::::::::::::::::::::::::::::::::::::::::.......:::::::::::::::::::::::::::....:::::.::::::::::::::::::::..:::.:::::::::.:::::::::::::::::::::::::::::::::::::::::::.::::::: :::::::::::::::::::::::::::::::::::::::::::::::......:::::::::::::::::::::::::::::::....::::.::::::::::.:::::::::..:::.:::::::::.::::::::::::::::::.::::::::::::::::::::::::.::::::: :::::::::::::::::::::::::::::::::::::::::::........::::::::::::::::::::::::::::::::::....:::::::::::::.::::::::::..:::.::::::....:::::::::::::::::...:::::::::::::::::::::::.::::::: ::::::::::::::::::::::::::::::::::::::::........::::::::::::::::::::::::::::::::::::::.....::::::::::..:::::::::::.:::.:::::::::.:::::::::::::::::.:::::::::::::::::::::::::.::::::: ::::::::::::::::::::::::::::::::::::..........::::::::::::::::::::::::::::::::::::::::::....:::::::::.::::::::::::.:::.:::::::::.::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::..........:::::::::::::::::::::::::::::::::::::::::::::::....:::::::.:::::::::::::.::::.:::::::.:::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::........:::::::::::::::::::::::::::::::::::::::::::::::::::....:::::..:::::::::::::..:::........:::::::::::::::::::::::::::::::::::::::::::::.::::::: :::::::::::::::::::::::::::::::....::..:::::::::::::::::::::::::::::::::::::::::::::::::::::...::::.::::::::::::::..:::::::::::::::::::::::::::::::::::::::::::::::::::::::.:::::::: :::::::::::::::::::::::::::::::::..::..::::::::::::::::::::::::::::::::::::::::::::::::::::::...:::.:::::::::::::::.::::::::::::::::::::::::::::::::::::::::::::::::::::::..:::::::: :::::::::::::::::::::::::::::::::..::..:::::::::::::::::::::::::::::::::::::::::::::::::::::::...::.::::.::::::::::.:::::::::::::::::::::::::::::::::::::::::::::::::::::..::::::::: :::::::::::::::::::::::::::::::::...:..:::::::::::::::::::::::::::::::::::::::::::::::::::::::....:::::..::::::::::.:::::::::::::::::::::::::::::::::::::::::::::::::::::.:::::::::: :::::::::::::::::::::::::::::::::......::::::::::::::::::::::::::::::::::::::::::::::::::::::::....::::.::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.::::::::::: ::::::::::::::::::::::::::::::::::.....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::....:::.::::.:::::::::::::::::::::::::::::::::::::::::::::::::::::......:::::::::::: :::::::::::::::::::::::::::::::::::....::::::::::::::::::::::::::::::::::::::::::::::::::::::::::....:.:::::.:::::::::::::::::::::::::::::::::::::::::::::::::::...::...:::::::::::: :::::::::::::::::::::::::::::::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::....:::::.:::::::::::::::::::::::::::::::::::::::::::::::::::..:::...::::::::::::: ::::::::::::::::::::::::::::::::::::...::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::....::::.::::::::::::::::::::::::::::::::::::::::::::::::::..::...::::::::::::::: ::::::::::::::::::::::::::::::::::::....::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::....:::.:::::::::::::::::::::::::::::::::::::::::::::::::.:::..::::::::::::::::: ::::::::::::::::::::::::::::::::::::.....::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::....:.::.::::::::::::::::::::::::::::::::::::::::::::::.::...::::..:::::::::::: ::::::::::::::::::::::::::::::::::::......::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.....:.:::::::::::::::::::::::::::::::::::::::::::::::::.........::::::::::::: ::::::::::::::::::::::::::::::::::::.......::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.. ::.::::.:::::::::::::::::::::::::::::::::::::::::::....::::::::::::::::::: ::::::::::::::::::::::::::::::::::::...:....::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::. ..::::..:::.:::::::::::::::::::::::::::::::::::::. ..::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::...:::...:::..::::::::::::::::::::::::::::::::::::::::::::::::::::::....::::.:::.:::::::::::::::::::::::::::::::::::::...::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::...::::.......:::::::::::::::::::::::::::::::::::::::::::::::::::::.::...::.::::.::::::::::::::::::::::::::::::::::::...:::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::...:::::......::::::::::::::::::::::::::::::::::::::::::::::::::::::::......:::.:::::::::::::::::::::::::::::::::::::..::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::...:::::.....::::::::::::::::::::::::::::::::::::::::::::::::::::::::..... ::::.::::::::::::::::::::::::::::::::::::..:::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::...::.........:::::::::::::::::::::::::::::::::::::::::::::::::::::::.::. ..::.:::::::::::::::::::::::::::::::::::::.::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::...::....::....::::::::::::::::::::::::::::::::::::::::::::::::::::::::.:...::.:..:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::...:::.::::::....::::::::::::::::::::::::::::::::::::::::::::::::::::::.....:.::.::::::::::::.:::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::...::::::::::.....:::::::::::::::::::::::::::::::::::::::::::::::::::::....::.::.::::::::::::.:::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::...::::::::........::::::::::::::::::::::::::::::::::::::::::::::::::.....::..::.::.:::::::::.:::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::...::::::.....::....::::::::::::::::::::::::::::::::::::::::::::::::.....:::.:::.::.:::::::::.:::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::...::::.....:::::....:::::::::::::::::::::::::::::::::::::::::::::......::::.::.:::.:::::::::.:::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::.........:::::::......:::::::::::::::::::::::::::::::::::::::::.......:::::.::.::..:::::::::.:::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::.......:::::::.........:::::::::::::::::::::::::::::::::::::..........:::::.::.::.::::::::::.:::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::.....:::::::.....:::....:::::::::::::::::::::::::::::::::........::...:::::.::.::.::::::::::.:::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::...:::::::......:::::.....:::::::::::::::::::::::::::.........:::::...::::::::.::.::::::::::.:::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::-------:...:::::......:::::::::....::::..:::::::::::::::::.........::::::::...::::::::.....:::::::::.::.::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::----------:...:::......::::::::::::....:::...:::::::::.............:::::::::::...::::::::.::...::::::::..:.::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::---------::::::...:......:::::::::...:::...:::.....................:::::::::::::::...::::::::.::.::..::::::..:.::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::-----------:::::-:.......:::::::::......::::::::................::::::::::::::::::::...::::::::.::.:::.::::::..:.::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::-----:::-----::::-=:.....:::::::::.......::::::::........:::::::::::::::::::::::::::::...:::::::::::.::::.:::::..:.::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::----::::----:::::---:..::::::::::......:::::::::......:::::::::::::::::::::::::::::::::...:::::::::::..:::.:::::..:.::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::---::::----::::::---::..::::::::......:::::::::........:::::::::::::::::::::::::::::::::...::.....:::::.:::.:::::....::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::----:::-----::::::---:::..::::::......:::::::::......::..:::::::::::::::::::::::::::::::::...:..:::.:::::.:::::::::..:.::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::----:::----:::::::---::::.:-:::......::::::::.......::::..:::::::::::::::::::::::::::::::::......:::::..::.:::::::::..:.:::::::::::::::.::::::::::::::::::::::::::::::: :::::::::::::---::----:::::::----:::::---:......:::::::::.....:::::::..:::::::::::::::::::::::::::::::::.. .:.:::..::::.:::::::::..:.:::::::::::::::.:::::::::::.::::::::::::::::::: ::::::::::::---:-----:::::::----:::::---:....::::::::::.....:::::::::..:::::::::::::::::::::::::::::::::...::.::..::.::..::::::::..:.:::::.:::.:::::.::::.::::::.::::::::::::::::::: :::::::::::---:----::::::::----::::----....::::::::::.....::::::::.....:::::::::::::::::::::::::::::::::...::.:.::..::::.::::::::..:.:::::.:::.:::::.::::.:::::::::::::::::::::::::: ::::::::::--------:::::::----:::::---:...::::::::::.....::::::::.......:::::::::::::::::::::::::::::::::.......:..::::::..:::::::..:.:::::.:::.:::::.::::.:::::::::::::::::::::::::: ::::::::::--::--::::::::----::::----::..:::::::::.....:::::::::.....:..:::::::::::::::::::::::::::::::::...:::...::::::::...:::::..:.:::::.:::.::::::.:::.:::::::::::::::::::::::::: :::::::::---::::::::::----:::::----:::..::::::......:::::::::.....:::..:::::::::::::::::::::::::::::::::...::....:::::::::.::::::..:.:::::.:::.::::::.::::.::::::::::::::::::::::::: :::::::::--::::::::::----:::::----::::...:::......::::::::::....:::::..:::::::::::::::::::::::::::::::::...:..:...........::::::::.::.::::..::..:::::.:::::::::::::::::::::::::::::: :::::::::--::::::::----::::::---::::::...:......::::::::::.....::::::..:::::::::::::::::::::::::::::::::....:..::...:::.:.::::::::.::.:::::.:::.:::::::::::::::::::::::::::::::::::: :::::::::--:::::::----:::::----::::::::.......:::::::::::....::::::::..:::::::::::::::::::::::::::::::::...:.:::..::::.:::.:::::::..:.:::::.:::.:::::::::::::::::::::::::::::::::::: :::::::::--:::::----::::::----::::::---.....:::::::::::.....::::::::...:::::::::::::::::::::::::::::::::....::..::::..::::.:::::::.:::.::::.:::.:::::::::::::::::::::::::::::::::::: :::::::::--:::::---:::::----:::::::---:.....:::::::::.....:::::::::....:::::::::::::::::::::::::::::::::. .::..::::..::::::.::::::..::.:::::.:::.::::::::::::::::::::::::::::::::::: :::::::::--:::::--:::::----:::::::---::::....:::::::.....::::::::......:::::::::::::::::::::::::::::::::.....::::..::::.::::..:::::.::.:::::.:::.::::::::::::::::::::::::::::::::::: :::::::::--:::::::::::---::::::::---::::::....::::.....:::::::::.......:::::::::::::::::::::::::::::::::...:::::..:::..::::...:::::.:::.:::::.:::.:::::::::::::::::::::::..::::::::: :::::::::--:::::::::----::::::::---:::::::::.........:::::::::.....:...:::::::::::::::::::::::::::::::::...:::..::::.:::::.::..:::...:::.:::::::::::::::::::::::::::......:..::::::: :::::::::--::::::::----::::::::---::::::::::.......::::::::::....:::...:::::::::::::::::::::::::::::::::...::..:::..::::..::...:..::.:::::::::::::::::::::::::::::....:::::::::::::: :::::::::---::::::---:::::::::---:::::::--:::.....:::::::::.....::::...:::::::::::::::::::::::::::::::::...:.::::..::::..:..:::..:....:::::::::::::::::::::::::::...........:::::::: :::::::::---::::----:::::::::---:::::::---::::::....::::::....::::::..::::::::::::::::::::::::::::::::::....:::..:::::.::..:::.....::.:::..:::::::::::::::::::....:::::::::::::::::: :::::::::---::::---::::::::----:::::::---::::::::....:::.....:::::::..::::::::::::::::::::::::::::::::::. .:::..::::..::.:::..::..:::::..:::::::::::::::::::....:::::::::::::::::::: :::::::::---::::::::::::::----:::::::---::::::::::.........:::::::::..::::::::::::::::::::::::::::::::::...::..::::..:..:::..:..::......::::::::::::::::::....:::::::::::::::::::::: ::::::::::--:::::::::::::---::::::::---::::::::::--......:::::::::::..::::::::::::::::::::::::::::::::::...:.::::..::..:::.::.::::::...................:....:::::::::::::::::::::::: ::::::::::--:::::::::::----:::::::----::::::::::---.....:::::::::.....::::::::::::::::::::::::::::::::::...::::..:::.:::..:..:::::..:::::::..:::::::::..:..::::::::::::::::::::::::: ::::::::::---:::::::::----:::::::----::::::::::----::....:::::::......::::::::::::::::::::::::::::::::::...:::..::..:::..:..:::::..::::::..:::::::::..:::.:::::::::::::::::::::::::: :::::::::::--::::::::----:::::::----::::::::::---::::::....:::........::::::::::::::::::::::::::::::::::..::..::..:::..:..:::::..::::::...:::::::...:::::.:::::::::::::::::::::::::: :::::::::::---::::::---::::::::---::::::::::----::::::::....:....::...:::::::::::::::::::::::::::::::::......::..:::..:..:::::..:::::..::::::::...:::::::::::::::::::::::::::::::::: ::::::::::::---:::----::::::::---::::::::::----:::::::::-:......:::...:::::::::::::::::::::::::::::.......:::..:::..:..:::::..::::::..:::..::...:::::::::::::::::::::::::::::::::::: ::::::::::::---::----:::::::----:::::::::-----:::::::::---:...:::::..:::::::::::::::::::::::::::.........:::..::.....:::::..::::::..:::...:..::::::::::::::::::::::::::::::::::::::: :::::::::::::------::::::::----:::::::::----:::::::::::---::...::::..:::::::::::::::::::::::::.........::::.::..:..:::::...:::::..::::..::..:::::::::::::::::::::::::::::::::::::::: ::::::::::::::----::::::::---:::::::::-----:::::::::::---:::....:::..::::::::::::::::::::::.......:::::::..::..:..:::::..::::::..:::..::..:::::::::::::::::::::::::::::::::::::::::: ::::::::::::::---::::::::---:::::::::----::::::::::::---:::::....::..:::::::::::::::::::.......::::::::::.:.....:::::..::::::..:::..::..:::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::---:::::----::::::::----::::::::::::----::::::::......:::::::::::::::::.......::::::::::....:..:::::...:::::..:::..::..:::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::--:::::---:::::::-----::::::::::::----::::::::--.....:::::::::::::::......::::::::::::. .:..::::::..::::::..:::.:::..::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::---::::--:::::::----:::::::::::::----::::::::---:....:::::::::::::......:::::::::::::...:..:::::..::::::..:::..:::..:::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::---::::::::::----:::::::::::::----::::::::::--:::...:::::::::::.....::::::::::::::::.:..:::::..::::::..:::..:::..:::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::--::::::::::---:::::::::::::----::::::::::---:::...:::::::::.....:::::::::::::::::::..:::::..::::::..::..::::..::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::---:::::::::::::::::::::::----:::::::::::---::::...:::::::.....::::::::::::::::::::.::::::.::::::..:::..:::....::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::--::::::::::::::::::::::----::::::::::----:::::...:::::.....:::::::::::::::::::::::::::..:::::..:::..::::..:.:::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::---:::::::::::::::::::----:::::::::::----::::::...:::......:::::::::::::::::::::::::::.::::::..::..::::..::.:..:::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::---:::::::::::::::::----:::::::::::---::::::::..::......::::::::::::::::::::::::::::..::::..:::..::::..:::..:::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::--::::::::::::::::---:::::::::::----::::::::-----....:::::::::::::::::::::::::::::.::::::.::..:::::.::::..::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::---:::::::::::::----:::::::::::----::::::-------:..::::::::::::::::::::::::::::::::::::::::.:::::..::::..:::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::---:::::::::::----::::::::::----::::::------:::::::::::::::::::::::::::::..:::::::::::::..:::::.::::...:..:::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::---::::::::----:::::::::::----::::-------:::::::::::::::::::::::::::::::...::..:::::::..::::..::::.::...::.:::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::---:::::::----::::::::::::---:::------:::::::::::::::::::::::::::::::::::.......:::::.:::::.::::..::..:::..::::::::::::::::::.::::::::::::::::::::::::::::::: ::::::::::::::::::::::::---:::::---:::::::::::::::::-------:::::::::::::::::::::::::::::::::::........::::::::::..:::..:::...:::.::::::::::::::::::::..::::::::::::::::::::::::::::: :::::::::::::::::::::::::---::----:::::::::::::::-------:::::::::::::::::::::::::::::::::::...........:::::::::..:::..:::.:.:::.:::::::::::::::::::::::..::::::::::::::::::::::::::: ::::::::::::::::::::::::::---:---:::::::::::::-------::::::::::::::::::::::::::::::::::..........::....:::::::.::::::::..::.::.::::::::::::::::::::::::::...:::::::::::::::::::::::: ::::::::::::::::::::::::::---:::::::::::::::------::::::::::::::::::::::::::::::::::..........::::::....::::::::::::::..:::.::.::::::::::::::::::::::::::::..::::::::::::::::::::::: :::::::::::::::::::::::::::---::::::::::::-----::::::::::::::::::::::::::::::::::.........:::::::::::....:::::::::::..::.::.:.:::::::::::::::::::::::::::::::..::::::::::::::::::::: ::::::::::::::::::::::::::::---::::::::------::::::::::::::::::::::::::::::::::........:::::::::::::::....:::::::::.::..:::...:::::::::::::::::::::::::::::::::..::::::::::::::::::: :::::::::::::::::::::::::::::---::::-------:::::::::::::::::::::::::::::::::.......::::::::::::::::::::....::::::::::.:::::..:::::::::::::::::::::::::::::::::::..:::::::::::::::::: ::::::::::::::::::::::::::::::----------:::::::::::::::::::::::::::::::::........:::::::::::::::::::::::...::::::::..::::::..:::::.::::::::::::::::::::::::::::::..::::::::::::::::: :::::::::::::::::::::::::::::::-------:::::::::::::::::::::::::::::::::.......:::::::::::::::::::::::::::...::::::.::::::::.::::::.::::::::::::::::::::::::::::::::.:::::::::::::::: ::::::::::::::::::::::::::::::::---:::::::::::::::::::::::::::::::::.......:::::::::::::::::::::::::::::::...:::..:::::::::.::::::.:::::::::::::::::::::::::.:::::::..:::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.......::::::::::::::::::::::::::::::::::...::::::::::::..:::::..:::::::::::::::::::::::::......::::.::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.......:::::::::::::::::::::::::::::::::::::....:::::::::....:.:::..::::::::::::::::::::::::::::::...:::..::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........::::::::::::::::::::::::::::::::::::::::....::::::...:...::::..:::::::::::::::::::::::::::::::::..::..:::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::........::::::::::::::::::::::::::::::::::::::::::::....:::::::::..:::::.::::::::::::::::::::::::::::::::::::::::..:::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::..........::::::::::::::::::::::::::::::::::::::::::::::::....:::::::...:::::.:.:::::::::::::::::::::::::::::::::::::::..::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::.......:::::::::::::::::::::::::::::::::::::::::::::::::::::...:::::::..:::::.:.:::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::....::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...::::::..:::::.:.:::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::...::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...:::::..:::::.:.:::::::::::::::::::::::::::::.:::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::...::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::....:::::.:::::.:.::::::::::::::::::::::::::::.::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::...:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::....::::.:::::...::..:::::::::::::::::::::::.:::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::...::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::....:::..::::..::...::::::::::::::::::::::..:::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::...:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::....:::.::::..::...:::::::::::::::::::::..::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::...::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.....::.::::..::..:::::.:::::::::::::::..::...::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.....:::.:::...:..::.:..::::::::::::::..::..::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::.......:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..::::::...:::.:..::.:..:::::::::::::..::.::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::...:....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::...::::::..::::.:..::.:..::::::::::::..:..:::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::...::......::::::::::::::::::::::::::::::::::::::::::::::::::::.....::::..:.::::.:..::.:..:::.::::::::.:..::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::...:::.....:::::::::::::::::::::::::::::::::::::::::::::::::::......::::.::..:::::..::.:..:::.:::::::.:.::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::............::::::::::::::::::::::::::::::::::::::::::::::::........::::::::.:::::..::.:..:::.::::::...:::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::..:.....:.....::::::::::::::::::::::::::::::::::::::::::::......:..::::::::::.::::..::.:..::..::::::..::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::..::.::::::....:::::::::::::::::::::::::::::::::::::::::......:::..::::::::::..:::::::.:..::.:::..:..:::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::..::::::::......::::::::::::::::::::::::::::::::::::::......:::::..::::::::..:.:::::::::..::.:::.:: .:::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::..:::::...........:::::::::::::::::::::::::::::::::::.....::::::...::::::..:::..::::::::..::.:::.:...:::.:::::::::::::::::::::::: :::::::::::::::::::::::::::::::::-----------------:............:::....:::::::::::::::::::::::::::::::......::::::::...::::::.::..:..:::::::..::.:::.:...:::.:::::::::::::::::::::::: :::::::::::::::::::::::::::::::--------------------:........:::::::......::::::::::::::::::::::::::......::::::::::...:::::::..::::.:::::::..::..::...:.:::.:::.:::::::::::::::::::: :::::::::::::::::::::::::::::::-----::::------::---..:...::::::::........::::::::::::::::::::::::......::::::::::::..:::::::..:::..:.:::::::.::..::...:.:::.:::.:::::::::::::::::::: ::::::::::::::::::::::::::::::---::::::-----::::::...:::::::::...........:::::::::::::::::::::.......::::::::::::::..:::::..:::..:::..::::::.:::.::...:.:::.:::.:::::::::::::::::::: ::::::::::::::::::::::::::::----::::------::::::::...:::::::.......:::....::::::::::::::::::......::::::::::::::::...::::..::..::::::..:::::.::::::..::.:::.:::..::::::::::::::::::: ::::::::::::::::::::::::::::---:::------::::::::::..::::::......:::::::....:::::::::::::........::::::::::::::::::...:::.::..::::..:::..:::::::::::..::.:::.:::..::::::::::::::::::: :::::::::::::::::::::::::::---::-----:::::::::::::..::........::::::::........::::::::.......:::::::::::::::::::::...::::..:::::.::::::..:::::::::: .::.:::.:::...:::::::::::::::::: ::::::::::::::::::::::::::---------::::::::::---::.........:::::::::..........:::::........:::::::::::::::::::::::..::::..::::..::::::::.::::::::::..::::::.:::....::::::::::::::::: :::::::::::::::::::::::::--------::::::::::----:::.......:::::::::......::....:::......:::::::::::::::::::::::::::..::..:::::..:::::..:::.:::::::::..::::::.:::...:::::::::::::::::: ::::::::::::::::::::::::-------::::::::::-----::::.:..::::::::::.....::::::..........::::::::::::::::::::::::::::...:..::::..:::::..::::::.::::::::..::::::..::...:::::::::::::::::: :::::::::::::::::::::::------::::::::::-----::::::-=-:::::::::.....::::::::........::::::::::::::::::::::::::::::....:::::..::::..::::.:::..:::::::..::::::::::...::.::::::::::::::: ::::::::::::::::::::::-----::::::::::-----::::::::--::::::::.....::::::::::......::::::::::::::::::::::::::::::::...::::..:::::..:::..:::::.::::::...::::::::::...::.::::::::::::::: :::::::::::::::::::::----::::::::::-----::::::::---:::::::.....:::::::::::......:::::::::::::::::::::::::::::::::...:::..::::..:::..:::::..:.:::::...::::::::::...::.::::::::::::::: ::::::::::::::::::::----:::::::::-----:::::::::---:.:::......:::::::::::......:::::::::::::::::::::::::::::::::::..::..::::..::::.:::::..:::..::::...::::::::::...::..:::::::::::::: ::::::::::::::::::::---::::::::-----:::::::::----:..:......::::::::::.........:::::::::::::::::::::::::::::::::::..:..:::..::::..:::::..::::...:::.:.:::::::::::..::..:::::::::::::: :::::::::::::::::::---::::::::----:::::::::-----::..:....::::::::::......:::..::::::::::::::::::::::::::::::::::....:::...:::..:::::..:::::....::..:..::::::::::..::..:::::::::::::: ::::::::::::::::::---:::::::----:::::::::-----::::..::::::::::::.......:::::..::::::::::::::::::::::::::::::::::...:::..::::..::::..:::::..::..::.::...::::::::::.:...:::::::::::::: :::::::::::::::::---:::::::----:::::::::----::::::..::::::::::.......:::::::..::::::::::::::::::::::::::::::::::...:..::::..::::..:::::..::..::.:.:::..::::::::::.:..::::::::::::::: :::::::::::::::::---::::::---:::::::::----::::::::..:::::::.......::::::::::..::::::::::::::::::::::::::::::::::....:::::..::::..:::::..::.::::..:::..:.:::::::::.:..::.:::::::::::: ::::::::::::::::---:::::----::::::::-----::::::..:.::::::......:::::::::::::..::::::::::::::::::::::::::::::::::. .:::::.::::..:::::..::..::::::::...:::.::::::::.:..::.:::::::::::: ::::::::::::::::--:::::-=--:::::::-----::::::::...---:.......:::::::::::::::..::::::::::::::::::::::::::::::::::..::::::::::..::::..:::.::::::::...::::::..::::::.:..::.:::::::::::: :::::::::::::::---::::::-::::::::----::::::::::..:--:.....::::::::::::::......:::::::::::::::::::::::::::::::::...::::::::..:::::..::..:::::::..:::::::::::.:::::.:..::.:::::::::::: :::::::::::::::---:::::::::::::----:::::::::::::---:....:::::::::::::.........:::::::::::::::::::::::::::::::::...::::::..:::::..:::.:::::::..::::::::::::::..:::::..:..:::::::::::: :::::::::::::::---:::::::::::-----:::::::::::::---:...:::::::::::::.......::..:::::::::::::::::::::::::::::::::...:::::.:::::..:::..::::::..::::::::::.:::.....:::::.::.:::::::::::: :::::::::::::::---::::::::::----:::::::::::::----:....::--::::::.......:::::..:::::::::::::::::::::::::::::::::...:::::::::...:::..::::::..:::::::::..::...:::..::::.::.:::::::::::: :::::::::::::::---::::::::----:::::::::::::-----:::...:---:::.......::::::::..:::::::::::::::::::::::::::::::::...:::::::::.:::..::::::..::::::.:::::::..::::::.:::::::.:::::::::::: :::::::::::::::---:::::::----::::::::::::-----::::::.:---:........::::::::::..:::::::::::::::::::::::::::::::::...::::::::::::..:::::..::::::..::::::..:::::::::.::::::..::::::::::: :::::::::::::::---:::::----::::::::::::-----::::::::---:.......:::::::::::::..:::::::::::::::::::::::::::::::::...:::::::::::.::::::..:::::..::::::::.::::::::::..:::::..::::::::::: ::::::::::::::::---:::-=--:::::::::::-----::::::::----:....:::::::::::::::::..::::::::::::::::::::::::::::::.::...:::::::::::::::::.::::::..:::::::...:::::::::::.:::::::::::::::::: :::::::::::::::::---:::-::::::::::::----::::::::-----:....:::::::::::::....:..::::::::::::::::::::::::::::...::...::::::::::::::::.::::::.::::::::..:::::..:::::::.::::::::::::::::: ::::::::::::::::::---:::::::::::::-----::::::::----::::..::::::::::::......:..:::::::::::::::::::::::::::....::...::::::::::::::::::::::::::::::..::::::..:::::::::.:::::::..::::::: :::::::::::::::::::---::::::::::-----::::::::----:::::::---::::::........:::..::::::::::::::::::::::::......:::...::::::::::::::::::::::::::....::::::..::::::::::...::::...:::::::: :::::::::::::::::::---::::::::::---::::::::-----::::::----:..::........:::::..::::::::::::::::::::::......:::::..:::::::::::::::::::::::::::..::::::...::::::::::..:..::..:::::::::: ::::::::::::::::::::---::::::::::::::::::-----:::::::----:....................::::::::::::::::::::......::::::::::::::::::::::::::::::::::::..:::::..:::::::.::..::.:...:::::::::::: :::::::::::::::::::::---:::::::::::::::-----:::::::----::::.:....:::..........::::::::::::::::::......::::::::::::::::::::::::::::::::::::::...:::::::::::..:..::..:...::::::::::::: ::::::::::::::::::::::---::::::::::::-----:::::::-----:::::--:..::::::........::::::::::::::::......::::::::::::::::::::::::::::::::::::::::....::::::::..::..::..:.::..:::::::::::: :::::::::::::::::::::::---:::::::::-----::::::::----:::::::--:....:::::::::...::::::::::::::......::::::::::::::::::::::::::::::::::::::::.......::::::..:..:::.::.:::..:::::::::::: ::::::::::::::::::::::::---:::::::-----::::::------:::::::---::....::::::::...::::::::::::......:::::::::::::::::::::::::::::::::::::::::.........::::.::..::..:..:::.::.:::.::::::: ::::::::::::::::::::::::---:::::-----::::::------:::::::----::::....:::::::...:::::::::.......::::::::::::::::::::::::::::::::::::::::::....:::...::::::::::..:..::..:.:.::.:::::::: :::::::::::::::::::::::::---:::----::::::------::::::::----::::::....::::::...:::::::......:::::::::::::::::::::::::::::::::::::::::::.....:::::...:::::::..::.:::..:..::..::::::::: ::::::::::::::::::::::::::-------:::::::-----::::::::----:::::::::....::::----::::.......:::::::::::::::::::::::::::::::::::::::::::.....::::::::...:::::..:..:::..:..:::.:::::::::: :::::::::::::::::::::::::::-----::::::-----::::::::-----:::::::::::...:-------:........::::::::::::::::::::::::::::::::::::::::::::.....:::::::::...:::::::.::::.::..:::..::.::::::: ::::::::::::::::::::::::::::---:::::-----::::::::-----::::::::::::::-------::.......:::::::::::::::::::::::::::::::::::::::::::::.....::::::::::::...::::..::::.::.::::.:::..::::::: ::::::::::::::::::::::::::::---::::----:::::::::-=--:::::::::::--------::::......::::::::::::::::::::::::::::::::::::::::::::::.....:::::::::::::::...:::::::..::.::::.::::.:::::::: :::::::::::::::::::::::::::::---:::--::::::::::::-:::::::::::--------:....:::::::::::::::::::::::::::::::::::::::::::::::::::......::::::::::::::::...::::::..::.::::.::::...::::::: ::::::::::::::::::::::::::::::---::::::::::::::::::::::::::::-----::::::.:::::::::::::::::::::::::::::::::::::::::::::::::.......:::::::::::::::::::...::::.::..::::.:::::..:::::::: ::::::::::::::::::::::::::::::---:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::......:::::::::::::::::::::::...:::::..::::.::::...::::::::: :::::::::::::::::::::::::::::::---:::::::::::::::::::...:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.....:::::::::::::::::::::::::....:::.:::::.::::...:..::::::: ::::::::::::::::::::::::::::::::---::::::::::::::::::....::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.....::::::::::::::::::::::::::::...::::::::.::::...:..:::::::: :::::::::::::::::::::::::::::::::--:::::::::::::::........:::::::::::::::::::::::::::::::::::::::::::::::::..::::::.....:::::::::::::::::::::::::::::::...::::::.::::...:...:::::::: :::::::::::::::::::::::::::::::::---::::::::::.............::::::::::::::::::::::::::::::::::::::::::::::::..::::.....::::::::::::::::::::::::::::::::::...:::...:::...:...::::::::: ::::::::::::::::::::::::::::::::::---::::::..........:::....::::::::::::::::::::::::::::::::::::::::::::::...::......::::::::::::::::::::::::::::::::::::...:..::::...:....::::::::: :::::::::::::::::::::::::::::::::::-=-::........:::::::::....:::::::::::::::::::::::::::::::::::::::::::::.........::::::::::::::::::::::::::::::::::::::.....::::...:...:..:::::::: ::::::::::::::::::::::::::::::::::::-:.......:::::::::::::....::::::::::::::::::::::::::::::::::::::::::::.......:::::::::::::::::::::::::::::::::::::::::....::::::..:::...:::::::: :::::::::::::::::::::::::::::::::::.......:::::::::::::::::...::::::::::::::::::::::::::::::::::::::::::::......:::::::::::::::::::::::::::::::::::::::::::...::::..::::...::::::::: :::::::::::::::::::::::::::::::::......:::::::::::::::::::::...:::::::::::::::::::::::::::::::::::::::::::......::::::::::::::::::::::::::::::::::::::::::::...::::::::.:.:::::::::: ::::::::::::::::::::::::::::::.......::::::::::::::::::::::::...::::::::::::::::::::::::::::::::::::::::::......:::::::::::::::::::::::::::::::::::::::::::::...::::::.:.::::::::::: ::::::::::::::::::::::::::::......:::::::::::::::::::::::::::...::::::::::::::::::::::::::::::::::::::::::...:.....::::::::::::::::::::::::::::::::::::::::::...::::..:::::::::::::: ::::::::::::::::::::::::::......::::::::::::::::::::::::::::::...:::::::::::::::::::::::::::::::::::::::::...:.....::::::::::::::::::::::::::::::::::::::::::....::::::::::::::::::: ::::::::::::::::::::::::......:::::::::::::::::::::::::::::::::...::::::::::::::::::::::::::::::::::::::::........:::::::::::::::::::::::::::::::::::::::::::....::::::::::::::::::: ::::::::::::::::::...:......:::::::::::::::::::::::::::::::::::....:::::::::::::::::::::::::::::::::::::::........:::::::::::::::::::::::::::::::::::::::::::....::::::::::::::::::: ::::::::::::::::::........::::::::::::::::::::::::::::::::::::::...:::::::::::::::::::::::::::::::::::::::.....:...::::::::::::::::::::::::::::::::::::::::::.....:::::::::::::::::: ::::::::::::::::::......:::::::::::::::::::::::::::::::::::::::::...::::::::::::::::::::::::::::::::::::::...::::...:...:::::::::::::::::::::::::::::::::::::.....:::::::::::::::::: ::::::::::::::::::....::::::::::::::::::::::::::::::::::::::::::::...:::::::::::::::::::::::::::::::::::::...::::......::::::::::::::::::::::::::::::::::::::.....:::::::::::::::::: ::::::::::::::::::....:::::::::::::::::::::::::::::::::::::::::::::...::::::::::::::::::::::::::::::::::::...::::.....:::::::::::::::::::::::::::::::::::::::.....:::::::::::::::::: ::::::::::::::::::....::::::::::::::::::::::::::::::::::::::::::::::...:::::::::::::::::::::::::::::::::::...::.......:::...::::::::::::::::::::::::::::::::....:::::::::::::::::::: ::::::::::::::::::....:::::::::::::::::::::::::::::::::::::::::::::::...::::::::::::::::::::::::::::::::::...::........:....::::::::::::::::::::::::::::::......:::::::::::::::::::: ::::::::::::::::::.....::::::::::::::::::::::::::::::::::::::::::::::....:::::::::::::::::::::::::::------:.----.:::.......::::::::::::::::::::::::::::::.......:::::::::::::::::::: ::::::::::::::::::.....:::::::::::::::::::::::::::::::::::::::::::::::...::::::::::::::::::::::::---------------::::.....::::::::::::::::::::::::::::::.....:...:::::::::::::::::::: ::::::::::::::::::......:::::::::::::::::::::::::::::::::::::::::::::::...:::::::::::::::::::--------::-----:::::::......::::::::::::::::::::::::::::.....:::...:::::::::::::::::::: ::::::::::::::::::...:.....:::::::::::::::::::::::::::::::::::::::::::::...::::::::::::::::--------:::-----..::::.....:....:::::::::::::::::::::::::....::::::..:::::::::::::::::::: ::::::::::::::::::...:.....::::::::::::::::::::::::::::::::::::::::::::::...:::::::::::::-----:::::------::..:::....:::.....::::::::::::::::::::::.....:::::::..:::::::::::::::::::: ::::::::::::::::::........:::::::::::::::::::::::::::::::::::::::::::::::...:::::::::::-----:::::------::::..::....::........:::::::::::::::::::.....:::::::::..:::::::::::::::::::: ::::::::::::::::::.........:::::::::::::::::::::::::::::::::::::::::::::::...::::::::::---:::::-----:::::::.:-:..:::.....:...:::::::::::::::::.....:::::::::::..:::::::::::::::::::: ::::::::::::::::::...::::...::::::::::::::::::::::::::::::::::::::::::::::....::::::::---:::------::::::::-----.::.....::::...:::::::::::::::.....::::::::::::..:::::::::::::::::::: ::::::::::::::::::...:::::...:::::::::::::::::::::::::::::::::::::::::::::....::::::::---:------::::::::-----::::....:::::::...::::::::::::.....::::::::::::::..:::::::::::::::::::: ::::::::::::::::::...:::::....::::::::::::::::::::::::::::::::::::::::::::....::::::::-------:::::::::-----:..:.....:::::::::...:::::::::.....::::::::::::::::..:::::::::::::::::::: ::::::::::::::::::...:::.......:::::::::::::::::::::::::::::::::::::::::::....::::::::------::::::::-----:::......::::::::.......:::::::.....:::::::::::::::::..:::::::::::::::::::: ::::::::::::::::::...::....::...::::::::::::::::::::::::::::::::::::::::::...::::::::---::::::::::-----::--:.....:::::::.....:....::::.....:::::::::::::::::::..:::::::::::::::::::: ::::::::::::::::::........::::...::::::::::::::::::::::::::::::::::::::::....::::::::--:::::::::-----::::-=-...::::::::.....:::...:::.....::::::::::::::::::::..:::::::::::::::::::: :::::::::::::::::::.....::::::....:::::::::::::::::::::::::::::::::::::......::::::::--:::::::-----:::::---:...::::::.....::::::........::::::::::::::::::::::..:::::::::::::::::::: :::::::::::::::::::....:::::::.....:::::::::::::::::::::::::::::::::::....:...::::::---:::::-----:::::----:....:::......:::::...:......:::::::::::::::::::::::..:::::::::::::::::::: :::::::::::::::::::...::::::.......:::::::::::::::::::::::::::::::::.....::...::::::---::------:::::-----:.....:......:::::.....::....::::::::::::::::::::::::..:::::::::::::::::::: ::::::::::::::::::...::::::.....:...:::::::::::::::::::::::::::::::....::::...::::::---::----::::------:::..........::::::.....:::....::::::::::::::::::::::::..:::::::::::::::::::: ::::::::::::::::::....:::.....::::...::::::::::::::::::::::::::::.....:::::...::::::---::::::::------:::::........::::::....:::::::...::::::::::::::::::::::::..:::::::::::::::::::: ::::::::::::::::::....:.....:::::::...::::::::::::::::::::::::::....:::::::...::::::---::::::------::::::::.....:::::::....:::::::::...:::::::::::::::::::::::..:::::::::::::::::::: ::::::::::::::::::........:::::::::....::::::::::::::::::::::::....::::::::...::::::---::::------:::::::::::..::::::::....::::::::::....::::::::::::::::::::::..:::::::::::::::::::: ::::::::::::::::--:-------::::::.......::::::::::::::::::::::.....:::::::::...::::::---:::-----::::::::::--=:..::::::...::::::::::::....::::::::::::::::::::::..:::::::::::::::::::: ::::::::::----------------::::......:...::::::::::::::::::::....:::::::::::...::::::---::::--::::::::::-----:..::::....:::::::..::::...:::::::::::::::::::::::..:::::::::::::::::::: ::::::::::--------::::::::::......::::...:::::::::::::::::.....::::::::::::...::::::---::::::::::::::-----:::...:.....::::::....::::...:::::::::::::::::::::::..:::::::::::::::::::: ::::::::::::::::::....::::......::::::...:::::::::::::::.....::::::::::::::...::::::---::::::::::::-----:::::........::::::.....::::...:::::::::::::::::::::::..:::::::::::::::::::: :::::::::::::---::....::......:::::::::...::::::::::::......:::::::::::::::...::::::---::::::::::-----::::::::.::..::::::.....::::::...:::::::::::::::::::::::..:::::::::::::::::::: ::::::::::::----::..........::::::::.......::..::::.......:::::::::::::::::...::::::---:::::::------::::::::::---::::::.....::::::::...:::::::::::::::::::::::..:::::::::::::::::::: ::::::::::----::::........:::::::::........:...:::......:::::::::::::::::::...::::::---:::::------::::::::::----:..::......:::::::::...:::::::::::::::::::::::..:::::::::::::::::::: ::::::::-----:::::......:::::::::.....:::......:::....:::::::::::::::::::::...:::::::---::-----::::::::::::----:...:.....:::::::::::...:::::::::::::::::::::::..:::::::::::::::::::: :::::::----:::::::...:.:::::::::....:::::......::::::::::::::::::::::::::::...:::::::--------:::::::::::::---::::......:::::::::::::...:::::::::::::::::::::::..:::::::::::::::::::: :::::----:::::::::...:::::::::.....::::::......::::::::::::::::::::::::::::...::::::::-----:::::::::::::----::::::--.:::::::::::::::...::::::::::::::::::::::::::::::::::::::::::::: :::::---::::::::::...----:::.....:::::::.......::::::::::::::::::::::::::::...:::::::::---::::::::::::-----:::::----..:::::::::.::::...:::::::::::::::::::::.::::::::::::::::::::::: ::::::::::::::::::.:-----::....:::::::.........::::::::::::::::::::::::::::...::::::::::---:::::::::-----:::::-----:...::::::....:::...::::::::::::::::::::...:::::::::::::::::::::: :::::::::::::::::-----:.......::::::.....:::...::::::::::::::::::::::::::::...:::::::::::---::::::-----:::::-----:::...:::::....::::...:::::::::::::::::::...::::::::::::::::::::::: :::::::::::::::-----:.......::::::.....:::::...::::::::::::::::::::::::::::...::::::::::::---::::-=--::::::----::::::--.::.....:::::...::::::::::::::::::....::::::::::::::::::::::: ::::::::::::------:..:....::::::......::::::...::::::::::::::::::::::::::::...:::::::::::::---::::-::::::----::::::----.......::::::...::::::::::::::::.....:::::::::::::::::::::::: ::::::::::------::...::::::-::.....::::::......::::::::::::::::::::::::::::...::::::::::::::--::::::::------::::------:.....:::::......::::::::::::::::...:::::::::::::::::::::::::: ::::::::-----::::::..:::---=:....::::::........::::::::::::::::::::::::::::...::::::::::::::---:::::------::::------:::....:::::.......:::::::::::::::...::::::::::::::::::::::::::: :::::::----::::::::...-----:...:::::::.....::..::::::::::::::::::::::::::::...:::::::::::::::---:::-=--::::::-=--:::::.....:::::...:...::::::::::::::...:::::::::::::::::::::::::::: :::::::---:::::::::::----....:::::::.....::::..::::::::::::::::::::::::::::...::::::::::::::::---:::-:::::::::-::::::::.....:..:::::...:::::::::::::...::::::::::::::::::::::::::::: :::::::-::::::::::-----....:::::::.....::::::..::::::::::::::::::::::::::::...::::::::::::::::---::::::::::::::::::::::::......::::::.:::::::::::::...:::::::::::::::::::::::::::::: ::::::::::::::::-----:...:::::::.....::::::::..::::::::::::::::::::::::::::::::::::::::::::::::---::::::::::::::::::::::::.....:::::::::::::::::::...::::::::::::::::::::::::::::::: ::::::::::::::-----:::....:::---....:::::::::..:::::::::::::::::::::::::...:::::::::::::::::::::--::::::::::::::::::::::::....:::::::::::::::::::...:::::::::::::::::::::::::::::::: ::::::::::::-----::::::...:----:..::::::::::...:::::::::::::::::::::::::...:::::::::::::::::::::---::::::::::::::::::::::::...:::::::::::::::::....::::::::::::::::::::::::::::::::: ::::::::::-----:::::::::-----:.:::::::::::......:::::::::::::::::::::::....::::::::::::::::::::::---::::::::::::::::::::::::...:::::::::::::::....:::::::::::::::::::::::::::::::::: :::::::::----::::::::------:::::::::::::........::::::::::::::::::::::....::::::::::::::::::::::::---::::::::::::::::::::::::..::::::::::::::....::::::::::::::::::::::::::::::::::: :::::::----::::::::------:...::::::::.......:...::::::::::::::::::::.....:::::::::::::::::::::::::---::::::::::----------------------::::::.....:::::::::::::::::::::::::::::::::::: ::::::----:::::::-----:::::...::::........:::...::::::::::::::::::......:::::::::::::::::::::::::::----------------------------------:::::....:::::::::::::::::::::::::::::::::::::: :::::---::::::------:::::::....::......::::::...::::::::::::::::......::::::::::::::::::::::::::::::----------------::::::::::::::--::::.....::::::::::::::::::::::::::::::::::::::: :::::--:::::------::::::::::...::..::--::::::...:::::::::::::::.....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..:::::.....::::::::::::::::::::::::::::::::::::::::: ::::::::::-----::::::::::::::...:------::::::...:::::::::::::.....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...........:::::::::::::::::::::::::::::::::::::::::: :::::::::----:::::::::::::::::.:-----:::::::....:::::::::::.....::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........:::::::::::::::::::::::::::::::::::::::::::: ::::::::---::::::::::::::::::------::::.........::::::::::.....::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::---:::::::::::::::::-----:.::::..........::::::::.....::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::-=-::::::::::::::::-----::....::....:::...:::::::....::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::-:::::::::::::::-----:::::....::::::::...:::::.....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::-----::::::::....:::::::...::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::------:::::::::::....::::::...:::....::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::------::::::::::::::....:::::...:....::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::-----:::::::::::::::::....:::-::.....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::-----::::::::::::::::::::::--------...::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::-----:::::::::::::::::::------------:.::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::----::::::::::::::::-----------::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::----:::::::::::::::---------:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::----::::::::::::---------:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::--:::::::::::--------:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::-:::::::::--------::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::-------::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::----:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::