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