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