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