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