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