::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.......................:::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.......::::::::................::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.....:::::::::::::::::::::::::::::...::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...:::::::::::::::::::::::::::::::::::.::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..:::::::...:::::::::::::::::::::::::::::::::::::::..::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::......::::..:::::::::::::::::::::::::::::::::::::::::::..:::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.......:::...:::::::::::::::::::::::::::::::::::::::::::::.:::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..:....::::..::::::::::::::::::::::::::::::::::::::::::::::::.::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..::...:::::..::::::::::::::::::::::::::::::::::::::::::::::::::.:::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..::. .::::..:::::::::::::::::::::::::::::::::::::::::::::::::::::.::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..::....::::..::::::::::::::::::::::::::::::::::::::::::::::::::::::..:::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..::....::::.:::::::::::::::::::::::::::::::::::::::::::::::::::::::::..::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...... ..::..:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...:.:....:..::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..:::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...:.....:: .::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.:::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...::....::..:::::::::::::::::::::::::::::::::::::::::::::::..............::..::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.:.:....::..:::::::::::::::::::::::::::::::::::::::::::::::..::...........:::.::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.:...:...::.:::::::::::::::::::::::::::::::::::::::::::::::..::.......::::::::.::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.:......::.:::::::::::::::::::::::::::::::::::::::::::::::..::.::..:::::::::::..:::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.::..:...:..:::::::::::::::::::::::::::::::::::::::::::::::.::.::.::::::::::::::.:::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: .:..::.:::::::::::::::::::::::::::::::::::::::::::::::..::.:.::::::::........:::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :...:..:::::::::::::::::::::::::::::::::::::::::::::::.::.:..:::::::.:::::::..::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..:..::.::::::::::::::::::::::::::::::::::::::::::::::::.::.:..::::::.::::::::..::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.....::.::::::::::::::::::::::::::::::::::::::::::::::::.::.:.:::::::.:::::::::.::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.....::.:::::::::::::::::::::::::::.....::::::::::::::::.:..:.::::::..:::::::::..:::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::....:::.::::::::::::::::::::::::....::::::::::::::::::::.:.::.:::::::::::::::::..:::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..::::::::::::::....::.:::::::::::::::::::::::..::::::::::::::::::::::::.:.::.::::::::::::::::..:.::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...::::::::::::::.::.::.::::::::::::::::::::::..:::::::..::::::::::::::::.:.::.::::::::::::::::.::..:::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.....:::::::::::::.::.::.:::::::::::::::::::::..:::............:::::::::::...::..::::::::::::::.::::..::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.......::::::::::::.::.::.:::::::::::::::::::::.:::.....::::::::.:::::::::::..:::.::::::::::::..::::::..:::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::....:.....::::::::::.::.::.::::::::::::::::::::::::....::::.......:::::::::::..::::.............::::::::..::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.....:::.....:::::::::.:::::.::::::::::::::::::::::::..::::..::::::..:::::::::::::::::::.......:::::::::::::....::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::......::::::.....:::::::.:::::.:::::::::::::::::::::::..::::..::::::::.::::::::::::::::::::::::::::::::::::::::...::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::......:::::::::.....::::::..::::.:::::::::::::::::::::::..:::..:::::::::.::::::::::::::::::::::::::::::::::::::::::..:::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.......:::::::::::::....:::::..::::.:::::::::::::::::::::::.::::.::::::::::.::::::::::::::::::::::::::::::::::::::::::::.::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.......::::::::::::::::....::::.:::::.:::::::::::::::::::::::.::::.::::::::::.:::::::::::::::::::::::::::::::::::::::::::::.:::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........:::::::::::::::::::....:::..::::.:::::::::::::::::::::::.::::.::::::::::.::::::::::::::::::::::::::::::::::::::::::::::.::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.......:::::::::::::::::::::::....::::::::.:::::::::::::::::::::::.::::.::::::::::.::::::::::::::::::::::::::::::::::.::::::::::::.:::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.......::::::::::::::::::::::::::....:::::::.:::::::::::::::::::::::.::::.::::::::::.::::::::::::::::::::::::::::::::::.::::::::::::.:::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::.......::::::::::::::::::::::::::::::....::::::.:::::::::::::::::::::::.::::.::::::::::.::::::::::::::::::::::::::::::::::::::::::::::::.::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::.......:::::::::::::::::::::::::::::::::....:::::.::::::::::::.::::::::::.::::.::::::::::.::::::::::::::::::::::::::::::::::::::::::::::::.::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::........::::::::::::::::::::::::::::::::::::.....:::::::::::::::.:::::::::::.::::.::::::..:..::::::::::::::::::::...:::::::::::::::::::::::::.::::::::
::::::::::::::::::::::::::::::::::::::::::::::.........::::::::::::::::::::::::::::::::::::::::.....:::::::::::::.::::::::::::..:::.:::::::..:.:::::::::::::::::::..:::::::::::::::::::::::::::.::::::::
::::::::::::::::::::::::::::::::::::::::::..........:::::::::::::::::::::::::::::::::::::::::::::....:::::::::::.:::::::::::::..:::.::::::::::.:::::::::::::::::::.::::::::::::::::::::::::::::.::::::::
::::::::::::::::::::::::::::::::::::::...........:::::::::::::::::::::::::::::::::::::::::::::::::.....:::::::::.:::::::::::::..:::.::::::::::.:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::...........:::::::::::::::::::::::::::::::::::::::::::::::::::::.....:::::::.:::::::::::::::.::::.::::::::.::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::.........::::::::::::::::::::::::::::::::::::::::::::::::::::::::::....:::::..:::::::::::::::.::::.........::::::::::::::::::::::::::::::::::::::::::::::::::.::::::::
:::::::::::::::::::::::::::::::::::....::..:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::....::::.::::::::::::::::.::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.:::::::::
::::::::::::::::::::::::::::::::::::...::...:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::....:::.:::::::::::::::::.::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..:::::::::
::::::::::::::::::::::::::::::::::::...::...::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...:::.:::::.:::::::::::.::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.::::::::::
:::::::::::::::::::::::::::::::::::::...:...:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...::.::::.::::::::::::.:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.:::::::::::
:::::::::::::::::::::::::::::::::::::...:..:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...:::::..:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.::::::::::::
::::::::::::::::::::::::::::::::::::::.....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::....::::.:::::.::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..:::::::::::::
::::::::::::::::::::::::::::::::::::::.....::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::....:::.:::::.::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........:::::::::::::
:::::::::::::::::::::::::::::::::::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::....::::::::.:::::::::::::::::::::::::::::::::::::::::::::::::::::::::..:::...::::::::::::::
:::::::::::::::::::::::::::::::::::::::....::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.....:::::.::::::::::::::::::::::::::::::::::::::::::::::::::::::::..::::...:::::::::::::::
::::::::::::::::::::::::::::::::::::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::....::::.:::::::::::::::::::::::::::::::::::::::::::::::::::::::..:::...:::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::....::..::::::::::::::::::::::::::::::::::::::::::::::::::::::..:::..:::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::.....::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...::.::.:::::::::::::::::::::::::::::::::::::::::::::::::::..::...::::::.:::::::::::::
::::::::::::::::::::::::::::::::::::::::......::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.....:..::::::::::::::::::::::::::::::::::::::::::::::::::::::...........:::::::::::::
::::::::::::::::::::::::::::::::::::::::...:...::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.. ::.:::::.:::::::::::::::::::::::::::::::::::::::::::::::......::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::...:.....::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.  ...::::.::::.::::::::::::::::::::::::::::::::::::::::::....:::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::...:::....::::.::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::. ...::::..:::.::::::::::::::::::::::::::::::::::::::::::...:::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::...::::....::...:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.:.. ::::.::::.:::::::::::::::::::::::::::::::::::::::::...::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::...:::::........:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ..::.::::.:::::::::::::::::::::::::::::::::::::::::...:::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::...::::::......:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::......::::.::::::::::::::::::::::::::::::::::::::::..:::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::...:::::.......::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.:... .:::.:::::::::::::::::::::::::::::::::::::::::..:::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::...:::..........::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..::.. .:::.:::::::::::::::::::::::::::::::::::::::::.::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::...:::....:::....::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.:...::.::..:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::...:::...:::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.....::.::.:::::::::::::.::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::...::::::::::::....::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.....:..::.:::::::::::::.::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::...::::::::::.......:::::::::::::::::::::::::::::::::::::::::::::::::::::::::......::.:::.::.::::::::::.::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::...::::::::...........::::::::::::::::::::::::::::::::::::::::::::::::::::::......:::.:::.::.::::::::::.::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::...::::::......::::....::::::::::::::::::::::::::::::::::::::::::::::::::::......:::..::.:::.::::::::::.::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::..::::......::::::.....:::::::::::::::::::::::::::::::::::::::::::::::::......:::::.:::.:::.::::::::::.::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::..........:::::::.......::::::::::::::::::::::::::::::::::::::::::::::........:::::.:::.:::.::::::::::.::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::........:::::::...........:::::::::::::::::::::::::::::::::::::::::.......:...:::::.:::.:::.::::::::::.::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::......::::::::.....:::.....::::::::::::::::::::::::::::::::::::.........:::...:::::.:::.:::.::::::::::.::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::...:::::::::.....:::::::....::::::::::::::::::::::::::::::::..........:::::...:::::::::.::..::::::::::.::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::-------:...:::::::......:::::::::.....:::::..::::::::::::::::::::.........:::::::::...:::::::::.....::::::::::.::.:::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::----------:...::::.......::::::::::::.....::::...:::::::::::::............::::::::::::...:::::::::.::...:::::::::..:.:::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::------------::::...::.......:::::::::::..:::...::::...:::..................::::::::::::::::...:::::::::.::..:..:::::::..:.:::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::-----------::::::::.........::::::::::.....::::..::::.....................:::::::::::::::::::...:::::::::.::..::..::::::..:.:::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::--------:-----::::---.......::::::::::.......:::::::::...............::::::::::::::::::::::::::...:::::::::.:::.:::.::::::..:.:::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::-----::::-----:::::---....:::::::::::.......::::::::::......::::::::::::::::::::::::::::::::::::...:::::::::::::.:::.::::::..:.:::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::-----::::-----::::::---:...::::::::::......:::::::::::.......:::::::::::::::::::::::::::::::::::::...:::.:::::::::.:::.::::::..:.:::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::----::::-----:::::::---::...::::::::......::::::::::..........:::::::::::::::::::::::::::::::::::::...::......:::::.:::.::::::..:.:::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::----:::-----::::::::---:::...::::::......::::::::::.......:::..:::::::::::::::::::::::::::::::::::::...:..::::.:::::.::::::::::..:.:::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::----:::-----:::::::----::::.:--:::......::::::::::.......::::...:::::::::::::::::::::::::::::::::::::......::::::..::.::::::::::..:.::::::::::::::::::.::::::::::::::::::::::::::::::::::
::::::::::::::----::-----::::::::----::::::---.......::::::::::......::::::::..:::::::::::::::::::::::::::::::::::::.. .:.::::..::::..:::::::::..:.::::::::::::::::::.:::::::::::..:::::::::::::::::::::
:::::::::::::----::----:::::::::----:::::----......::::::::::......:::::::::...:::::::::::::::::::::::::::::::::::::...::.:::..::.:::.:::::::::..:.::::::.:::::::::::.::::.::::::..:::::::::::::::::::::
::::::::::::----:-----::::::::-----:::::---:....:::::::::::......:::::::::.....:::::::::::::::::::::::::::::::::::::...::.:..::..::::.:::::::::..:..:::::.::::.::::::.::::.:::::::::::::::::::::::::::::
::::::::::::--------:::::::::----:::::----:...:::::::::::......::::::::::......:::::::::::::::::::::::::::::::::::::...::...::..:::::..::::::::..::.:::::.::::.::::::.::::.:::::::::::::::::::::::::::::
:::::::::::---:----::::::::-----:::::----:...::::::::::......::::::::::........:::::::::::::::::::::::::::::::::::::.......:..::::::::.::::::::..::.:::::.::::.::::::.::::.:::::::::::::::::::::::::::::
:::::::::::--:::-:::::::::----::::::----::...::::::::......::::::::::......::..:::::::::::::::::::::::::::::::::::::...:::. .::::::::::..:::::::.::.:::::..:::.::::::.::::..::::::::::::::::::::::::::::
::::::::::---:::::::::::-----:::::-----:::...::::::......:::::::::::.....:::...:::::::::::::::::::::::::::::::::::::...::... .::::::::::::::::::.::.::::::.:::.::::::..::::..:::::::::::::::::::::::::::
::::::::::---::::::::::----::::::----:::::...::::......:::::::::::.....::::::..:::::::::::::::::::::::::::::::::::::...:.::............:::::::::.::..:::::.:::..::::::.:::::::::::::::::::::::::::::::::
::::::::::--:::::::::-----::::::----:::::::...:......:::::::::::......::::::...:::::::::::::::::::::::::::::::::::::....:..:::..::::.::.::::::::..::.:::::.::::.::::::.:::::::::::::::::::::::::::::::::
::::::::::--::::::::----::::::-----::::::::........::::::::::::.....::::::::...:::::::::::::::::::::::::::::::::::::...:..::..:::::..::.::::::::..::.:::::..:::.::::::::::::::::::::::::::::::::::::::::
::::::::::--::::::-----::::::----:::::::---:.....::::::::::::......:::::::::...:::::::::::::::::::::::::::::::::::::....:::..::::..:::::.::::::::.::.::::::.:::.::::::::::::::::::::::::::::::::::::::::
::::::::::--::::::----:::::-----:::::::----:....::::::::::::.....::::::::::....:::::::::::::::::::::::::::::::::::::. .::..:::::..::::::..:::::::.:::.:::::.::::.:::::::::::::::::::::::::::::::::::::::
::::::::::--::::::--::::::----::::::::----:::.....::::::::.....::::::::::......:::::::::::::::::::::::::::::::::::::......::::..:::::::::.:.:::::.:::.::::::.:::.:::::::::::::::::::::::::::::::::::::::
::::::::::--:::::::::::::----::::::::----::::::....:::::......::::::::::.......:::::::::::::::::::::::::::::::::::::....:::::..::::..::::..:::::::.:::.:::::..::..::::::::::::::::::::::::::::::::::::::
::::::::::--:::::::::::----:::::::::----::::::::....::......::::::::::.....:...:::::::::::::::::::::::::::::::::::::...:::::.:::::..::::..:..::::..:::..:::::::::.:::::::::::::::::::::..:.....:::::::::
::::::::::--::::::::::----:::::::::----::::::::::.........:::::::::::.....::...:::::::::::::::::::::::::::::::::::::...:::..::::..:::::..::..:::.:..:::..:::::::::::::::::::::::::::::....:::::.::::::::
::::::::::---::::::::----:::::::::----::::::::::::.......::::::::::.....::::...:::::::::::::::::::::::::::::::::::::...::..::::..::::..::..:....::..::::::::::::::::::::::::::::::::....::::::::::::::::
::::::::::---::::::-----:::::::::----:::::::---:::......::::::::::....::::::..::::::::::::::::::::::::::::::::::::::...:.::::..:::::..::..:::..::.:..:::::::::::::::::::::::::::::....:........:::::::::
::::::::::---:::::----::::::::::----:::::::----::::::....:::::::.....::::::...::::::::::::::::::::::::::::::::::::::....::::..:::::.::..::::.:...:::.:::..::::::::::::::::::::::. ..::::::::::::::::::::
::::::::::---:::::---:::::::::----::::::::----::::::::.....:::......:::::::...::::::::::::::::::::::::::::::::::::::. .::::.:::::..::..:::..::...:::::...:::::::::::::::::::::. .:::::::::::::::::::::::
::::::::::---::::::-:::::::::----::::::::----::::::::::...........:::::::::...::::::::::::::::::::::::::::::::::::::...::..:::::..::..:::..::.:::......:::::::::::::::::::::. ..::::::::::::::::::::::::
:::::::::::--:::::::::::::::----::::::::----:::::::::::-:.......:::::::::::...::::::::::::::::::::::::::::::::::::::...:..::::..::..::::.::..::::::.....................::....::::::::::::::::::::::::::
:::::::::::---:::::::::::::----::::::::----:::::::::::---......::::::::::.....::::::::::::::::::::::::::::::::::::::.....:::...::..:::..:..:::::::.::::::::...:::::::::...:.::::::::::::::::::::::::::::
:::::::::::---:::::::::::----::::::::-----:::::::::::----......:::::::::......::::::::::::::::::::::::::::::::::::::...::::..:::.::::..:..::::::..:::::::...::::::::::..::..::::::::::::::::::::::::::::
::::::::::::--::::::::::----::::::::----::::::::::::----::::....::::::........::::::::::::::::::::::::::::::::::::::..:::..:::..:::..::.:::::::..::::::...:::::::::...::::.:::::::::::::::::::::::::::::
::::::::::::---::::::::----::::::::----:::::::::::----:::::::.....::......:..::::::::::::::::::::::::::::::::::::::...::..::..::::..:..::::::..:::::::..:::::::::...::::::.:::::::::::::::::::::::::::::
:::::::::::::---:::::----:::::::::----:::::::::::----:::::::::..........:::..:::::::::::::::::::::::::::::::::::::......:::..:::..::..:::::..:::::::..:::::::::..:::::::::::::::::::::::::::::::::::::::
:::::::::::::---::::----:::::::::----:::::::::::----::::::::::--:......:::...:::::::::::::::::::::::::::::::::........:::..:::..::..::::::..::::::..::::...::..:::::::::::::::::::::::::::::::::::::::::
::::::::::::::---::----::::::::----:::::::::::-----:::::::::::---....:::::...::::::::::::::::::::::::::::::..........:::..:::..:..::::::..::::::...::::..::..:::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::------:::::::::----::::::::::-----::::::::::::---::....::::...:::::::::::::::::::::::::::...........::::.:::..:..::::::..:::::::..::::..::..:::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::-----:::::::::----::::::::::-----::::::::::::---::::....:::...::::::::::::::::::::::::.........:::::::..::..:...::::::..::::::..::::..::..:::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::---:::::::::----:::::::::-----:::::::::::::---::::::....::...::::::::::::::::::::::........:::::::::..:..:...::::::..::::::..::::..:::..::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::----:::::::----:::::::::----:::::::::::::----::::::::....:...:::::::::::::::::::........:::::::::::....::..::::::..:::::::..:::..:::..::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::---:::::----:::::::::-----:::::::::::::----:::::::::-:......:::::::::::::::::.......:::::::::::::....:..::::::..:::::::..:::...::..::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::---::::---::::::::-----::::::::::::::----:::::::::---......:::::::::::::::.......::::::::::::::. .::.:::::::..::::::..::::..:::..:::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::---::::::::::::::----:::::::::::::::----::::::::::---:::..::::::::::::::......::::::::::::::::..::..::::::..:::::::..:::..::::..::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::---:::::::::::-----::::::::::::::----:::::::::::---::::..::::::::::::......:::::::::::::::::::::.::::::..:::::::..:::...:::..::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::--::::::::::::--:::::::::::::::----:::::::::::----:::...::::::::::......:::::::::::::::::::::..::::::..::::::...:::..::::...::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::---::::::::::::::::::::::::::-----:::::::::::----:::::..::::::::......::::::::::::::::::::::..:::::..:::::::..:::..::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::---::::::::::::::::::::::::----::::::::::::----::::::..::::::......::::::::::::::::::::::::::::::..::::::..:::..:::::..:.::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::---::::::::::::::::::::::-----:::::::::::-----::::::...:::::.....:::::::::::::::::::::::::::::::.::::::..::::..::::..::..:..:::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::---::::::::::::::::::::----::::::::::::----::::::::...:::......:::::::::::::::::::::::::::::::.::::::..:::..:::::..:::...:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::---:::::::::::::::::-----::::::::::::----:::::::::::---.....::::::::::::::::::::::::::::::::.::::::..:::.:::::..::::..:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::---::::::::::::::::----::::::::::::-----::::::::-------...:::::::::::::::::::::::::::::::::.::::::::::..:::::..::::..::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::---::::::::::::::----::::::::::::----:::::::-------:::.:::::::::::::::::::::::::::..:::::::::::::::..::::::.:::::..::.::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::---:::::::::::-----:::::::::::-----::::::-------::::::::::::::::::::::::::::::::...::::::::::::::..:::::..::::..:.:..::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::----:::::::::----:::::::::::::----::::-------::::::::::::::::::::::::::::::::::::...::...:::::::..::::..:::::..::..:::.::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::---:::::::-----::::::::::::::--:::-------:::::::::::::::::::::::::::::::::::::::........::::::::::::..::::..:::..:::..:::::::::::::::::::::.::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::---:::::----:::::::::::::::::::-------::::::::::::::::::::::::::::::::::::::::........::::::::::::.:::::..:::..::::.:::::::::::::::::::::::..::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::---:::----:::::::::::::::::-------::::::::::::::::::::::::::::::::::::::::...........::::::::::..::::..:::..:.:::.::::::::::::::::::::::::::..::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::----::---:::::::::::::::--------::::::::::::::::::::::::::::::::::::::..........::....::::::::..:::::.:::..::.::..::::::::::::::::::::::::::::..::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::---:::::::::::::::::--------::::::::::::::::::::::::::::::::::::::..........::::::....::::::::::::::::..::::.::.:::::::::::::::::::::::::::::::..::::::::::::::::::::::::::
::::::::::::::::::::::::::::::---::::::::::::::-------::::::::::::::::::::::::::::::::::::::.........:::::::::::....:::::::::::::...:..::.:.::::::::::::::::::::::::::::::::::..::::::::::::::::::::::::
:::::::::::::::::::::::::::::::---:::::::::::------::::::::::::::::::::::::::::::::::::::........::::::::::::::::....:::::::::::..::..:::.:.::::::::::::::::::::::::::::::::::::..::::::::::::::::::::::
:::::::::::::::::::::::::::::::----:::::::-------:::::::::::::::::::::::::::::::::::::........::::::::::::::::::::....:::::::::.::..:::::..::::::::::::::::::::::::::::::::::::::..:::::::::::::::::::::
::::::::::::::::::::::::::::::::----:::--------::::::::::::::::::::::::::::::::::::........::::::::::::::::::::::::....::::::::::..::::::..::::::.::::::::::::::::::::::::::::::::..::::::::::::::::::::
:::::::::::::::::::::::::::::::::-----------:::::::::::::::::::::::::::::::::::::........:::::::::::::::::::::::::::....::::::::.::::::::.:::::::.::::::::::::::::::::::::::::::::::..::::::::::::::::::
::::::::::::::::::::::::::::::::::-------:::::::::::::::::::::::::::::::::::::........:::::::::::::::::::::::::::::::...::::::..::::::::..::::::..:::::::::::::::::::::::::::::::::::..:::::::::::::::::
::::::::::::::::::::::::::::::::::::---:::::::::::::::::::::::::::::::::::::.......:::::::::::::::::::::::::::::::::::...::::..:::::::::..::::::.::::::::::::::::::::::::::::.::::::::..::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........:::::::::::::::::::::::::::::::::::::....:::::::::::::. .:::::..::::::::::::::::::::::::::::.......::::..::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........::::::::::::::::::::::::::::::::::::::::....:::::::::::....:::::..::::::::::::::::::::::::::::::::::...:::..:::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........::::::::::::::::::::::::::::::::::::::::::::....::::::::..::...::::..::::::::::::::::::::::::::::::::::::...:::..:::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........::::::::::::::::::::::::::::::::::::::::::::::::....::::::..::: .:::::..:::::::::::::::::::::::::::::::::::::::.:::..::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.............:::::::::::::::::::::::::::::::::::::::::::::::::::....:::::::::...:::::..:.:::::::::::::::::::::::::::::::::::::::::::..::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........:::::::::::::::::::::::::::::::::::::::::::::::::::::::....:::::::....:::::..:.::::::::::::::::::::::::::::::::::::::::::::.::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::.......::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::....::::::::..:::::..:.:::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::...:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::....:::::::..:::::..:.:::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::....::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::....::::::..:::::....::::::::::::::::::::::::::::::::.::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::....:::::..:::::...::::::::::::::::::::::::::::::::.:::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::....::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::....:::::.:::::...::...::::::::::::::::::::::::::.::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::....::::.:::::...::...:::::::::::::::::::::::::.:::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::...::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::....:::..::::...::...::::::::::::::::::::::::.::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.....:::.::::.:.::..:::::.::::::::::::::::::..:::..:::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::.....::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.....:::..:::.:.::..:::.:.:::::::::::::::::..::..:::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::......:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...::::::.:::::.::..:::.:.::::::::::::::::..::..::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::........:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...::::::...:::.::..::..:..::::::::::::::..::.::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::...:.......::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::....::::::...::::.::..::.::..:::.:::::::::..:..:::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::...:::......::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.....:::::..:.:::::.:..::.::.::::.:::::::::.:..::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::...:::......::::::::::::::::::::::::::::::::::::::::::::::::::::::::.......:::::::::.::::::..::.::.::::.::::::::.:.::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::.............::::::::::::::::::::::::::::::::::::::::::::::::::::::........:::::::::.::::::..::.::.::::.:::::::...:::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::...:......:.....::::::::::::::::::::::::::::::::::::::::::::::::::......:...::::::::::.:::::..::.::.:::..::::::...::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::...:...:::::.....:::::::::::::::::::::::::::::::::::::::::::::::......:::...::::::::::..::::::::.::.:::..:::.::..:::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::...::::::::::.....::::::::::::::::::::::::::::::::::::::::::::......:::::..::::::::::...:::::::::::.:::.::::.:: .:::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::...:::::::.........:::::::::::::::::::::::::::::::::::::::::......::::::...::::::::..::..::::::::::.:::.::::.:..:::::.::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::--::...::::........:.....:::::::::::::::::::::::::::::::::::::......::::::::...:::::::..::....:::::::::.:::.:::..:..:::::.::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::--------------------:............::::.....::::::::::::::::::::::::::::::::::......::::::::::...::::::::::..::..::::::::.:::..::.:...:::::.::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::----------------------.........::::::::.......:::::::::::::::::::::::::::::......::::::::::::...::::::::..::::..::::::::.:::..::.:.:.::::..:::.::::::::::::::::::::::
::::::::::::::::::::::::::::::::::-----:::::-------:::--:..:::::::::::::.........::::::::::::::::::::::::::.......::::::::::::::..::::::::..:::..::.:::::::.:::..::...:.::::..:::.::::::::::::::::::::::
:::::::::::::::::::::::::::::::::----::::::------:::::::..:::::::::::............:::::::::::::::::::::::........:::::::::::::::...::::::..:::..::::..::::::..:::.::...:.::::..:::.::::::::::::::::::::::
::::::::::::::::::::::::::::::::----::::-------:::::::::..:::::::::........:::....::::::::::::::::::::.......::::::::::::::::::...::::..:::..::::.::..::::::.::::::...:.::::..:::..:::::::::::::::::::::
:::::::::::::::::::::::::::::::----:::------::::::::::::..:::::::.......:::::::....::::::::::::::::........::::::::::::::::::::...:::..::..:::::..:::.:::::::::::::...:.::::.::::..:::::::::::::::::::::
::::::::::::::::::::::::::::::----::------:::::::::::::...::::.......:::::::::......:..:::::::::........:::::::::::::::::::::::...:::::...::::..::::::..:::::::::::...::.:::.::::...::::::::::::::::::::
:::::::::::::::::::::::::::::----:------::::::::::---::...:........:::::::::...........:::::::........:::::::::::::::::::::::::..:::::..:::::..::::::::.:::::::::::...::::::.::::....:::::::::::::::::::
::::::::::::::::::::::::::::---------:::::::::::-----::.........::::::::::.............::::........:::::::::::::::::::::::::::...:::..:::::..::::::..:::.::::::::::.:.::::::.::::....:::::::::::::::::::
:::::::::::::::::::::::::::--------:::::::::::------:::......:::::::::::......:::::....::.......::::::::::::::::::::::::::::::...::..:::::..::::::..::::..:::::::::.:.::::::..:::...::::::::::::::::::::
::::::::::::::::::::::::::--------::::::::::------:::::.:-..::::::::::......::::::::..........::::::::::::::::::::::::::::::::.....:::::..::::::..:::::::..::::::::.:.:::::::.:::...::::::::::::::::::::
:::::::::::::::::::::::::-------::::::::::------::::::::---:::::::::......::::::::::.......:::::::::::::::::::::::::::::::::::....:::::..:::::..::::..::::.::::::::.:.:::::::::::...::.:::::::::::::::::
::::::::::::::::::::::::------::::::::::------:::::::::---::::::::......:::::::::::.......::::::::::::::::::::::::::::::::::::...::::..:::::...:::..:::::::.::::::..:.:::::::::::...::.:::::::::::::::::
::::::::::::::::::::::::----::::::::::------::::::::::---:::::::......::::::::::::.......:::::::::::::::::::::::::::::::::::::..::::..:::::..::::..:::::..:.::::::..:.:::::::::::...::.:::::::::::::::::
:::::::::::::::::::::::---:::::::::::-----::::::::::----:.:::.......::::::::::::.......::::::::::::::::::::::::::::::::::::::...::...::::..::::..:::::...:::.:::::....:::::::::::...::...:::::::::::::::
::::::::::::::::::::::---::::::::::-----::::::::::-----:..:.......:::::::::::..........::::::::::::::::::::::::::::::::::::::...:..::::..::::..::::::..:::::...:::.:..::::::::::::..::..::::::::::::::::
:::::::::::::::::::::---::::::::::----::::::::::------:...:.....:::::::::::.......::...::::::::::::::::::::::::::::::::::::::.....:::...::::..:::::..::::::...::::.::.::::::::::::..::..::::::::::::::::
::::::::::::::::::::----::::::::-----::::::::::-----:::...::.:::::::::::........::::...::::::::::::::::::::::::::::::::::::::.. .:::..::::..:::::...:::::..::..::..::..::::::::::::.::..::::::::::::::::
::::::::::::::::::::---::::::::----::::::::::-----:::::...::::::::::::.......:::::::...::::::::::::::::::::::::::::::::::::::..:::..:::::..:::::..:::::..::..:.::.::::..:::::::::::.::..::::::::::::::::
:::::::::::::::::::---:::::::----::::::::::-----:::::::...::::::::::.......:::::::::...:::::::::::::::::::::::::::::::::::::...:..:::::..:::::..::::::..::..:::..::::....::::::::::.::..::::::::::::::::
::::::::::::::::::---:::::::----:::::::::-----:::::::::...:::::::.......::::::::::::...:::::::::::::::::::::::::::::::::::::.....:::::..:::::..:::::..::..:::::..::...::..:::::::::.::..:.::::::::::::::
::::::::::::::::::---:::::-----:::::::::-----:::::::....:::::::.......::::::::::::::...:::::::::::::::::::::::::::::::::::::...::::::.:::::..:::::..:::..:::::::::. .::::..::::::::.:...:.::::::::::::::
:::::::::::::::::---::::::---:::::::::-----:::::::::...:--::.......:::::::::::::::.:...:::::::::::::::::::::::::::::::::::::...::::::::::..::::::..::..::::::::....:::::::..:::::::.:...:.::::::::::::::
:::::::::::::::::---::::::--::::::::-----::::::::::::..---.......:::::::::::::::.......:::::::::::::::::::::::::::::::::::::...::::::::..::::::..:::..::::::::..::::::::::::..:::::.:..::.::::::::::::::
:::::::::::::::::---::::::::::::::-----:::::::::::::::---:....:::::::::::::::..........:::::::::::::::::::::::::::::::::::::..:::::::...:::::..:::..::::::::..:::::::::::::::...::::::.::.::::::::::::::
:::::::::::::::::---:::::::::::::-----::::::::::::::----:...:::::::::::::::.......::...:::::::::::::::::::::::::::::::::::::..::::::..:::::...:::..:::::::..::::::::::..::::....::::::.::.::::::::::::::
:::::::::::::::::---:::::::::::-----::::::::::::::-----:...::::-::::::::.......:::::...:::::::::::::::::::::::::::::::::::::..:::::::::::...::::..::::::..:::::::::::..:::..:::..:::::..:.::::::::::::::
:::::::::::::::::---::::::::::----::::::::::::::------::....:----::::........:::::::...:::::::::::::::::::::::::::::::::::::..::::::::::..::::..::::::...:::::::::::.:::..::::::..:::::.:.::::::::::::::
:::::::::::::::::---::::::::-----::::::::::::::-----:::::...----:.........::::::::::...::::::::::::::::::::::::::::::::::::...:::::::::::::::..::::::..:::::::..::::::...::::::::.:::::::..:::::::::::::
:::::::::::::::::---:::::::----::::::::::::::-----:::::::::----.........::::::::::::...::::::::::::::::::::::::::::::::::::...:::::::::::::..::::::..:::::::..::::::::.:::::::::::.:::::::.:::::::::::::
:::::::::::::::::----::::-----:::::::::::::-----:::::::::----:.......:::::::::::::::...::::::::::::::::::::::::::::::::::::...:::::::::::::.::::::..::::::..:::::::::..:::::::::::..::::::.:::::::::::::
::::::::::::::::::---::::---:::::::::::::-----:::::::::-----...::::::::::::::::::.::...::::::::::::::::::::::::::::::::..::...:::::::::::::::::::..:::::...::::::::...::::::.::::::..:::::::::::::::::::
:::::::::::::::::::---::::::::::::::::::-----:::::::::----:::...:::::::::::::::....:...:::::::::::::::::::::::::::::::....:...:::::::::::::::::::.::::::.:::::::::..::::::..::::::::.:::::::::::::::::::
::::::::::::::::::::---:::::::::::::::-----:::::::::-----::::..:::::::::::::.......:...:::::::::::::::::::::::::::::.....::...::::::::::::::::::::::::::::::.:::..:::::::..::::::::::.::::::::..::::::::
:::::::::::::::::::::---::::::::::::-----:::::::::-----:::::::--=::::::::........:::...:::::::::::::::::::::::::::......:::...:::::::::::::::::::::::::::::.....:::::::..:::::::::::...:::::...:::::::::
:::::::::::::::::::::----:::::::::::=--:::::::::-----:::::::-----..:::.........:::::...:::::::::::::::::::::::::......::::::..:::::::::::::::::::::::::::::...:::::::..::::::::::::..:..:::..:::::::::::
::::::::::::::::::::::---:::::::::::--::::::::------:::::::-----:...:..............:...:::::::::::::::::::::::......:::::::::::::::::::::::::::::::::::::::...:::::...:::::::..::..::.:....:::::::::::::
:::::::::::::::::::::::---::::::::::::::::::------:::::::-----:::........::............:::::::::::::::::::::......:::::::::::::::::::::::::::::::::::::::::....:::..::::::::..::..::..:. :::::::::::::::
::::::::::::::::::::::::---::::::::::::::::-----::::::::----::::::--...::::::..........:::::::::::::::::::......::::::::::::::::::::::::::::::::::::::::::::....::::::::::..::..::..::....::::::::::::::
:::::::::::::::::::::::::---:::::::::::::-----::::::::-----:::::::--:...::::::::::::...:::::::::::::::::......:::::::::::::::::::::::::::::::::::::::::::::......:::::::...::..::..:..:::.::::::::::::::
::::::::::::::::::::::::::---::::::::::-----::::::::-----::::::::---:....:::::::::::...::::::::::::::.......:::::::::::::::::::::::::::::::::::::::::::::........::::::..::..:::..:..:::...:::::::::::::
::::::::::::::::::::::::::----:::::::-----::::::::------::::::::---:::.....:::::::::...::::::::::::.......::::::::::::::::::::::::::::::::::::::::::::::.....::...::::.:::..::..::..:::.::..:::.::::::::
:::::::::::::::::::::::::::----:::::----::::::::------::::::::----:::::.....::::::::...:::::::::.......:::::::::::::::::::::::::::::::::::::::::::::::.....::::....::::::::::..:..:::..:..:.::.:::::::::
::::::::::::::::::::::::::::---:::-----:::::::------:::::::::----:::::::.....:::::::..::::::::.......::::::::::::::::::::::::::::::::::::::::::::::::.....::::::...::::::::...:..:::..:..:::..::::::::::
:::::::::::::::::::::::::::::---:----:::::::------:::::::::-----::::::::::....:::::----::::........::::::::::::::::::::::::::::::::::::::::::::::::.....:::::::::...::::::..::.::::..:..::::.:::::::::::
::::::::::::::::::::::::::::::------:::::::-----:::::::::-----:::::::::::::...:--------:........::::::::::::::::::::::::::::::::::::::::::::::::::.....::::::::::....:::::::..::::.::..::::..:::::::::::
:::::::::::::::::::::::::::::::---:::::::-----:::::::::------::::::::::::::::--------::.......::::::::::::::::::::::::::::::::::::::::::::::::::.....:::::::::::::...::::::..::::.::..::::.::::.::::::::
:::::::::::::::::::::::::::::::---:::::-----::::::::::-----:::::::::::::--------:::........:::::::::::::::::::::::::::::::::::::::::::::::::::......:::::::::::::::...::::::::::.::..::::.::::..::::::::
::::::::::::::::::::::::::::::::---::::----:::::::::::---::::::::::::---------:...::::::::::::::::::::::::::::::::::::::::::::::::::::::::::......::::::::::::::::::...:::::::..::..::::.:::::..::::::::
:::::::::::::::::::::::::::::::::---:::--:::::::::::::::::::::::::::-=-----::::...::::::::::::::::::::::::::::::::::::::::::::::::::::::::......::::::::::::::::::::...::::::.:::.:::::.:::::...::::::::
:::::::::::::::::::::::::::::::::---:::::::::::::::::::::::::::::::::--::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.......:::::::::::::::::::::::...:::::::..:::::.:::::. .:::::::::
::::::::::::::::::::::::::::::::::---:::::::::::::::::::::::.::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.......::::::::::::::::::::::::::...:::::..:::::.:::::...:.::::::::
:::::::::::::::::::::::::::::::::::---:::::::::::::::::::::...::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::......::::::::::::::::::::::::::::....:::..:::::.::::....:..::::::::
:::::::::::::::::::::::::::::::::::----::::::::::::::::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.....::::::::::::::::::::::::::::::::...:::::::::.::::....:...::::::::
::::::::::::::::::::::::::::::::::::---:::::::::::::::::........:::::::::::::::::::::::::::::::::::::::::::::::::::::::..:::::::......::::::::::::::::::::::::::::::::::...:::::::.::::....:...:::::::::
:::::::::::::::::::::::::::::::::::::---:::::::::::..............:::::::::::::::::::::::::::::::::::::::::::::::::::::....::::......::::::::::::::::::::::::::::::::::::....::::. ::::.. .:.:..:::::::::
::::::::::::::::::::::::::::::::::::::---:::::::............::....::::::::::::::::::::::::::::::::::::::::::::::::::::...:::......:::::::::::::::::::::::::::::::::::::::....::..::::....:....::::::::::
:::::::::::::::::::::::::::::::::::::::---:::..........::::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::...:......::::::::::::::::::::::::::::::::::::::::::....:.::::....:......:::::::::
:::::::::::::::::::::::::::::::::::::::--::........:::::::::::::....::::::::::::::::::::::::::::::::::::::::::::::::::........:::::::::::::::::::::::::::::::::::::::::::::....::::.:....:.:...:::::::::
:::::::::::::::::::::::::::::::::::::::::.......:::::::::::::::::....:::::::::::::::::::::::::::::::::::::::::::::::::.......:::::::::::::::::::::::::::::::::::::::::::::::...:::::::..:::...::::::::::
::::::::::::::::::::::::::::::::::::::.......:::::::::::::::::::::...:::::::::::::::::::::::::::::::::::::::::::::::::......:::::::::::::::::::::::::::::::::::::::::::::::::...::::..::::....::::::::::
::::::::::::::::::::::::::::::::::::.......::::::::::::::::::::::::...::::::::::::::::::::::::::::::::::::::::::::::::......::::::::::::::::::::::::::::::::::::::::::::::::::...::::::::....:::::::::::
:::::::::::::::::::::::::::::::::........::::::::::::::::::::::::::....:::::::::::::::::::::::::::::::::::::::::::::::...:...:::::::::::::::::::::::::::::::::::::::::::::::::....::::::.:..::::::::::::
:::::::::::::::::::::::::::::::.......::::::::::::::::::::::::::::::...:::::::::::::::::::::::::::::::::::::::::::::::...:......:::::::::::::::::::::::::::::::::::::::::::::::...:::::.::::::::::::::::
:::::::::::::::::::::::::::::.......:::::::::::::::::::::::::::::::::...::::::::::::::::::::::::::::::::::::::::::::::...::.....:::::::::::::::::::::::::::::::::::::::::::::::...::::.:::::::::::::::::
:::::::::::::::::::::::::::.......:::::::::::::::::::::::::::::::::::....:::::::::::::::::::::::::::::::::::::::::::::...:.....::::::::::::::::::::::::::::::::::::::::::::::::....:::::::::::::::::::::
:::::::::::::::::::::..::......:::::::::::::::::::::::::::::::::::::::....::::::::::::::::::::::::::::::::::::::::::::.........::::::::::::::::::::::::::::::::::::::::::::::::....:::::::::::::::::::::
::::::::::::::::::::.........::::::::::::::::::::::::::::::::::::::::::...::::::::::::::::::::::::::::::::::::::::::::..........:::::::::::::::::::::::::::::::::::::::::::::::....:::::::::::::::::::::
::::::::::::::::::::.......:::::::::::::::::::::::::::::::::::::::::::::...:::::::::::::::::::::::::::::::::::::::::::...::::...::...::::::::::::::::::::::::::::::::::::::::::.....::::::::::::::::::::
::::::::::::::::::::......:::::::::::::::::::::::::::::::::::::::::::::::...::::::::::::::::::::::::::::::::::::::::::...:::::.......::::::::::::::::::::::::::::::::::::::::::.....::::::::::::::::::::
::::::::::::::::::::....:::::::::::::::::::::::::::::::::::::::::::::::::....:::::::::::::::::::::::::::::::::::::::::...:::::......:::::::::::::::::::::::::::::::::::::::::::.....::::::::::::::::::::
::::::::::::::::::::....::::::::::::::::::::::::::::::::::::::::::::::::::....::::::::::::::::::::::::::::::::::::::::...::::......:::::::::::::::::::::::::::::::::::::::::::......::::::::::::::::::::
::::::::::::::::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::....:::::::::::::::::::::::::::::::::::::::...:::.......:::....:::::::::::::::::::::::::::::::::::.....::::::::::::::::::::::
::::::::::::::::::::.....:::::::::::::::::::::::::::::::::::::::::::::::::::....::::::::::::::::::::::::::::::::::::::...::....:....:.....:::::::::::::::::::::::::::::::::.......::::::::::::::::::::::
::::::::::::::::::::.....::::::::::::::::::::::::::::::::::::::::::::::::::::....::::::::::::::::::::::::::::::-------..:---..:::........:::::::::::::::::::::::::::::::::........::::::::::::::::::::::
::::::::::::::::::::......::::::::::::::::::::::::::::::::::::::::::::::::::::...:::::::::::::::::::::::::::----------------:::::......:::::::::::::::::::::::::::::::::.....::...::::::::::::::::::::::
::::::::::::::::::::.......::::::::::::::::::::::::::::::::::::::::::::::::::::...::::::::::::::::::::::------------------::::::.......:::::::::::::::::::::::::::::::......:::...::::::::::::::::::::::
::::::::::::::::::::...:......:::::::::::::::::::::::::::::::::::::::::::::::::....:::::::::::::::::::---------:::-----:.:::::.....:....:::::::::::::::::::::::::::::.....:::::...::::::::::::::::::::::
::::::::::::::::::::...::.....::::::::::::::::::::::::::::::::::::::::::::::::::....::::::::::::::::-------::::-------:..::::.....:::....::::::::::::::::::::::::::.....:::::::...::::::::::::::::::::::
::::::::::::::::::::..........:::::::::::::::::::::::::::::::::::::::::::::::::::...::::::::::::::------:::::------::::..:::....::::......:::::::::::::::::::::::......::::::::...::::::::::::::::::::::
::::::::::::::::::::..........::::::::::::::::::::::::::::::::::::::::::::::::::::...::::::::::::----::::::------::::::..::....:::.........::::::::::::::::::::......::::::::::...::::::::::::::::::::::
::::::::::::::::::::......:....:::::::::::::::::::::::::::::::::::::::::::::::::::....::::::::::----:::::------:::::::::---...::......::....:::::::::::::::::......::::::::::::...::::::::::::::::::::::
::::::::::::::::::::...:::::...::::::::::::::::::::::::::::::::::::::::::::::::::::...::::::::::---:::------::::::::::-----..::.....:::::....:::::::::::::::......:::::::::::::...::::::::::::::::::::::
::::::::::::::::::::...::::::...:::::::::::::::::::::::::::::::::::::::::::::::::::....:::::::::--::------::::::::::-----::::.....::::::::...:::::::::::::.....::::::::::::::::...::::::::::::::::::::::
::::::::::::::::::::...::::::....::::::::::::::::::::::::::::::::::::::::::::::::::....:::::::::--------::::::::::-----:..::.....:::::::::....:::::::::::.....:::::::::::::::::...::::::::::::::::::::::
::::::::::::::::::::...::::.......:::::::::::::::::::::::::::::::::::::::::::::::::....::::::::-------:::::::::------:::.......:::::::::.......::::::::.....:::::::::::::::::::...::::::::::::::::::::::
:::::::::::::::::::::..:::....:....:::::::::::::::::::::::::::::::::::::::::::::::....:::::::::-----:::::::::------::--:......::::::::..........::::::.....::::::::::::::::::::...::::::::::::::::::::::
:::::::::::::::::::::..::....:::....:::::::::::::::::::::::::::::::::::::::::::::.....:::::::::--::::::::::------::::--:....::::::::......:::....:::.....::::::::::::::::::::::...::::::::::::::::::::::
:::::::::::::::::::::.......:::::....:::::::::::::::::::::::::::::::::::::::::::......::::::::---::::::::------::::::--:...::::::::.....::::::...::.....:::::::::::::::::::::::...::::::::::::::::::::::
:::::::::::::::::::::.....::::::::....:::::::::::::::::::::::::::::::::::::::::.......::::::::---::::::------:::::-----:...::::::......::::::::.......:::::::::::::::::::::::::...::::::::::::::::::::::
:::::::::::::::::::::....::::::::......::::::::::::::::::::::::::::::::::::::.....:...::::::::--:::::------::::::-----.....:::.......:::::....:......::::::::::::::::::::::::::...::::::::::::::::::::::
:::::::::::::::::::::...:::::::.........:::::::::::::::::::::::::::::::::::......:::..::::::::--:::------:::::------:......:.......:::::......::.....::::::::::::::::::::::::::...::::::::::::::::::::::
::::::::::::::::::::....:::::......::...::::::::::::::::::::::::::::::::::.....:::::..::::::::--:::----:::::------::::...........::::::......::::....::::::::::::::::::::::::::...::::::::::::::::::::::
::::::::::::::::::::....:::......:::::...::::::::::::::::::::::::::::::::.....::::::..::::::::--::::::::::------::::::........:::::::.....::::::::...::::::::::::::::::::::::::...::::::::::::::::::::::
::::::::::::::::::::....::.....:::::::....:::::::::::::::::::::::::::::.....::::::::...:::::::--::::::::------:::::::::.....::::::::.....:::::::::....:::::::::::::::::::::::::...::::::::::::::::::::::
::::::::::::::::::::.........::::::::::....:::::::::::::::::::::::::::.....:::::::::..::::::::--::::::------::::::::::::...::::::::....::::::::::::....::::::::::::::::::::::::...::::::::::::::::::::::
:::::::::::::::::::::::::----:::::::.......::::::::::::::::::::::::::....:::::::::::..::::::::--:::::-----:::::::::::---:..:::::::....::::::::::::.....::::::::::::::::::::::::...::::::::::::::::::::::
:::::::::::------------------:::::......:...:::::::::::::::::::::::.....::::::::::::..::::::::--:::::---:::::::::::-----:..::::::....::::::::::::::....::::::::::::::::::::::::...::::::::::::::::::::::
:::::::::::------------------::::......::....::::::::::::::::::::......:::::::::::::..::::::::--:::::::::::::::::------::...:::.....:::::::...:::::..::::::::::::::::::::::::::...::::::::::::::::::::::
:::::::::::----::::::...:::::::.....::::::...:::::::::::::::::::.....:::::::::::::::..::::::::--:::::::::::::::------::::...:.....::::::::....:::::..::::::::::::::::::::::::::...::::::::::::::::::::::
::::::::::::::::-:::.....::::......::::::::...::::::::::::::::.....:::::::::::::::::..:::::::---:::::::::::::------:::::::.......:::::::.....::::::..::::::::::::::::::::::::::...::::::::::::::::::::::
::::::::::::::----::.....:.......:::::::::.....::::::::::::.......::::::::::::::::::...::::::---:::::::::::-----::::::::::::-:::::::::......:::::::...:::::::::::::::::::::::::...::::::::::::::::::::::
:::::::::::::-----::...........:::::::::.......:::..::::........::::::::::::::::::::..::::::::--::::::::------::::::::::::----.:::::......:::::::::...:::::::::::::::::::::::::...::::::::::::::::::::::
:::::::::::-----::::.........::::::::::.........:...:::.......::::::::::::::::::::::..::::::::---:::::------::::::::::::-----...::......:::::::::::...:::::::::::::::::::::::::...::::::::::::::::::::::
:::::::::-----::::::.......::::::::::......::.......::::....::::::::::::::::::::::::..::::::::---:::------:::::::::::::----::...:.....:::::::::::::...:::::::::::::::::::::::::...::::::::::::::::::::::
::::::::----::::::::...:.::::::::::......:::::......::::::::::::::::::::::::::::::::..:::::::::---------::::::::::::::----::::......:::::::::::::::...:::::::::::::::::::::::::...::::::::::::::::::::::
::::::-----:::::::::...:::::::::::.....:::::::......::::::::::::::::::::::::::::::::..::::::::::------::::::::::::::----:::::::--.:::::::::::::::::...::::::::::::::::::::::::::::::::::::::::::::::::::
::::::---:::::::::::...::--:::::.....::::::::.......::::::::::::::::::::::::::::::::..::::::::::----::::::::::::::-----::::::----.:::::::::::::::::...::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::-::::::::::::..:-----::......:::::::.........::::::::::::::::::::::::::::::::..:::::::::::----:::::::::::------::::::----:..:::::::::...::::...::::::::::::::::::::::...:::::::::::::::::::::::::
:::::::::::::::::::::-----::......:::::::......::...::::::::::::::::::::::::::::::::..::::::::::::----::::::::------::::::-----::...:::::::....::::...::::::::::::::::::::::...:::::::::::::::::::::::::
::::::::::::::::::------:.......:::::::......::::...::::::::::::::::::::::::::::::::..:::::::::::::----::::::-----::::::-----::::..:.::::.....:::::...::::::::::::::::::::.....:::::::::::::::::::::::::
:::::::::::::::-------:........::::::......::::::...::::::::::::::::::::::::::::::::...:::::::::::::---:::::----::::::-----::::::---:.::.....::::::...:::::::::::::::::::.....::::::::::::::::::::::::::
:::::::::::::-------:..:....:::::::.......::::::....::::::::::::::::::::::::::::::::...::::::::::::::---:::::-::::::-----::::::-----:......:::::::....::::::::::::::::::.....:::::::::::::::::::::::::::
:::::::::::------:::...::::::---:......:::::::......::::::::::::::::::::::::::::::::..::::::::::::::::---:::::::::------:::::------:.....::::::.......:::::::::::::::::....:::::::::::::::::::::::::::::
:::::::::------::::::...:::-----.....:::::::........::::::::::::::::::::::::::::::::..:::::::::::::::::---:::::-------::::-------:::....::::::........::::::::::::::::....::::::::::::::::::::::::::::::
::::::::----:::::::::...:------....:::::::......::..::::::::::::::::::::::::::::::::...::::::::::::::::---::::-----::::::-----::::::.....:::::....:...:::::::::::::::....:::::::::::::::::::::::::::::::
::::::::---:::::::::::.-----:....:::::::......::::..::::::::::::::::::::::::::::::::...:::::::::::::::::---:::---::::::::---::::::::.....::::::.:::...::::::::::::::....::::::::::::::::::::::::::::::::
::::::::--:::::::::::-----:....::::::::.....::::::..::::::::::::::::::::::::::::::::..:::::::::::::::::::---:::::::::::::::::::::::::::......::::::..:::::::::::::::...:::::::::::::::::::::::::::::::::
:::::::::::::::::::-----:...:::::::::.....::::::::...:::::::::::::::::::::::::::::::..:::::::::::::::::::---:::::::::::::::::::::::::::......::::::::::::::::::::::...::::::::::::::::::::::::::::::::::
:::::::::::::::::-----::....:::::--:.....:::::::::...::::::::::::::::::::::::::::..:::::::::::::::::::::::---:::::::::::::::::::::::::::....::::::::::::::::::::::....::::::::::::::::::::::::::::::::::
::::::::::::::-------::::....::---=:...:::::::::::...:::::::::::::::::::::::::::...::::::::::::::::::::::::---::::::::::::::::::::::::::....::::::::::::::::::::.....:::::::::::::::::::::::::::::::::::
:::::::::::::-----::::::::..:-----:..::::::::::::....:::::::::::::::::::::::::::...::::::::::::::::::::::::---:::::::::::::::::::::::::::...:::::::::::::::::::....:::::::::::::::::::::::::::::::::::::
:::::::::::-----::::::::::------:.::::::::::::.......::::::::::::::::::::::::::....:::::::::::::::::::::::::---:::::::::::::::::::::::::::...:::::::::::::::::....::::::::::::::::::::::::::::::::::::::
::::::::::----:::::::::-------::::::::::::::.........:::::::::::::::::::::::::....:::::::::::::::::::::::::::---::::::::::::::::::::::::::....::::::::::::::.....:::::::::::::::::::::::::::::::::::::::
::::::::-----::::::::-------:...:::::::::........:...:::::::::::::::::::::::.....::::::::::::::::::::::::::::---:::::::::::-------------------------:::::::.....::::::::::::::::::::::::::::::::::::::::
:::::::----::::::::------:::::...::::::.......::::...:::::::::::::::::::::......::::::::::::::::::::::::::::::--------------------------------------::::::....::::::::::::::::::::::::::::::::::::::::::
::::::----::::::-------:::::::....::........::::::...:::::::::::::::::::......:::::::::::::::::::::::::::::::::-----------------------------::-----:::::.....:::::::::::::::::::::::::::::::::::::::::::
::::::--::::::------:::::::::::...::....:--:::::::...:::::::::::::::::......::::::::::::::::::::::::::::::::::::------:::::::::::::::::::::::...::::::.....:::::::::::::::::::::::::::::::::::::::::::::
::::::::::::------::::::::::::::...::::----:::::::...::::::::::::::::.....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.............::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::-----::::::::::::::::...:-------:::::::...::::::::::::::.....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...........::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::----:::::::::::::::::::::-----:::::::......::::::::::::......:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::----::::::::::::::::::::-----::::::..........:::::::::::.....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::----:::::::::::::::::::-----:...:::...........:::::::::.....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::---:::::::::::::::::-------::....:::....:::...::::::::.....::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::-:::::::::::::::::-----::::::....:::::::::...::::::.....::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::------:::::::::....::::::::...:::::.....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::------::::::::::::....:::::::...::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::------:::::::::::::::....::::::...::.....::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::------::::::::::::::::::....:::::.........:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::------:::::::::::::::::::::...:------:....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::------::::::::::::::::::::::-:----------...::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::-----:::::::::::::::::::::----------:::::.::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::-----::::::::::::::::::-----------::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::----:::::::::::::::::----------::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::----::::::::::::::----------::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::-=--:::::::::::----------::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::--::::::::::---------:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::---------:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::-=-----::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::---:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Download 6s Download 27s