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