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