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