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