::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::–:::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::–:::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::.:::::::::::::-.:::::::::::::.-::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::-.-:::::::::::..:::::::::::-.-:::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::.-::::::::::..::::::::::-.:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::.-:::::::::..:::::::::-.::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::..::::::::..::::::::..:::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::–:::::::::::::::..:::::::..:::::::..:::::::::::::::–:::::::::::::::::::::
::::::::::::::::::::::::–.–::::::::::::..::::::..::::::..::::::::::::–.–::::::::::::::::::::::
::::::::::::::::::::::::::::-..-::::::::::.`-::::..::::-`.::::::::::-..–:::::::::::::::::::::::::
:::::::::::::::::::::::::::::::-…-:::::::-`-:::..:::-.-:::::::-…-:::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::-…-:::::-.-::..::-.-:::::-…-::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::–..–::-.-:..:-.-::–..–:::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::-..—.…..—..-:::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::–..““..–::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::—–.….….….….……“ “.….….….….……—–:::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::-…““…-::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::–..—.-..-.—..–::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::-…-:::-.-:..:-.-:::-…-:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::-…-:::::-.-::..::-.-:::::–..-::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::-…-::::::::..-:::..:::-..::::::::-…-::::::::::::::::::::::::::::
:::::::::::::::::::::::::::–.–::::::::::..:::::..:::::..::::::::::–.–:::::::::::::::::::::::::
::::::::::::::::::::::::–.-:::::::::::::..::::::..::::::..:::::::::::::-.–::::::::::::::::::::::
:::::::::::::::::::::::-::::::::::::::::..:::::::..:::::::.`::::::::::::::::-:::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::`-::::::::..::::::::-`:::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::`-:::::::::..:::::::::-`-:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::-.-::::::::::..::::::::::-.-::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::-.::::::::::::..::::::::::::.-:::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::-.:::::::::::::-.:::::::::::::.-::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::–:::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::–:::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::