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