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