@@@@@@@@@@@ @@@@@@@ @@@@@@@@ @@@@@@@ @@ @@@@@@@@@@@ @@ @@@@@@@@@@@@@@@ @@ @ @@@X@@@@@X@@@@@@XXSXXSSXXXXXXXX@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@X@XXXXXXXSXXXXXXXSSXXSXSSXXXSSXXXX
@@@@@@@@@@@@@@@@@@@@@@ @ @@@@@@@ @@@@@ @@@@ @@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@XXX@@XXXX@@XXXXSXSXXXXXXXSXXXXXX@@@@@@ @ @ @@@@@@@@@@@@@@@@@XXXXXXXXXXXXSXXXXXXXXXSSSSSXSSSXSXXXXXXX
 @@@@@@@@@@@@@@@  @@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@ @ @@@@@XXSXXXXXXXXXXXXSXXXXXXXXXXXXXSXXXX@@@ @@@@@@@@@@@@@@@@XX@@XXXXXXXXXXXXXXXXXXXXXXXSSSXXXXXSSXSSSSSXXXX
@@@@@@@@@@ @@@@@@ @@@@@@@   @@@@ @ @@@@@@@@@@ @@ @@@@@@@@@@@@@@ @@@@@ @@@@@X@@XXSXXXXXSSX@XXSSXXXXXXXXXXXXXXXSX@@ @@@@@ @XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXSXXXSSXSXXSXSXSSSSSXXSXSXX
@@@@@ @@@@@@@@@@@@@   @@@ @@@@ @@ @@@  @ @@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@XXXXXXXXXXX@@@XSSXXXXXXSXSXXXXXXSX@@@@@@@@@@XXXXXXXXXXXXXXSSXXXXXXSXSXXXXXXSXXXXXXXSXSSSSSSSSSSXXXXXSX
@@@@ @@ @@@@@@@@@@ @@@@ @@@@@@@@@ @@@@@@ @@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XXXXX@@XXXX@XXXXXSXSXXXSXSXXXXSSX@@@@@@@@@XXXXXXXXXXSXXXXXXSSXSSSXSSXXSXXXXSSSSXSSSSSSSSSSSSSXXSSXXXSX
@@@@@@@@ @@@@@@@@ @ @@@@@@@@@@@@ @@@ @ @ @  @@@@@@@@ @@@ @ @@@@@@@@@@@@@@@@@@@@@@@@@ @@@ @@@XXXXXSSSXXXXXXXXSX@@@@@@@@@XXXSXSSXXXSSXXXXXXSSSXXXSSXXXSXSSSSSSXSSSSSSSSSSSXSSSXXXXXXX
@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@  @@@@@@@@ @@@@@@@@@@@@@@@ @@@@@@@@@@@@@    @@@@@@XXXXX@@XXXXSSSXXXXXXSSXSX@@@@@@@@@XXXXXSXXSSSSXXXXXSSSSSSSXSSSSSSSSSSSSSSSXSSSSSSSSXSS8SXXXXXX
  @@ @  @@ @ @ @@@@@@@ @@@@@ @@ @@@@@ @@@@@@@@@ @ @@@@ @@@@@@@@@@@@@ @@@@@@ @@@XXXXXXXXSSXXSXSSSXSXSXXXXXSXXSX@@@@@@@@@XXXSSXXXSSSSXX8SSSSSSSSSSSSSSSSSSSSSSSSSSSSSXSSSSSSSXXSXXXXX
@@@@@ @@@@@@@@@@@ @ @@@@@@   @@@@@@@@ @@@@@@ @@@@@@@ @@@@ @@@@@@@@@@@@@@ @@@@@XXXXSSXXXXXSO*SSSSSXXXSSXXSXXXXX@@@@@@@@XSSSSXSSSSSSSSSSXSSSSSSSSSXSSSSSSSSSSSS8SSSSSSSSSXSSXXXXXXXXX
XX@@@ @@@@@@@@@@@@@ @@@@  @@@@@@ @@@@@@@@@@@@@ @@@@@@ @@@@@@@@@ @@ @@@@@@@@@@@XXSXXXXXXXXSSSSXXXSSXSXSXXSXXSXXX@@X@@@@@SS8SXSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSXSSXSSSXSSSSSSXSXSSXSSXXX
@XXX@@@@@ @ @@@@ @@@@@@@@@@@@  @@@@  @@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@X@XXXXXXXXXXX@@XSXXXSXXXXSSSSX&*8XSSSS@XXSSSSSSSSSSSS8SSSSSSSSSSSSSSSSXS88SSSSSSSSSSXSSSSSSSSSSXSSXXX
@@XX@@@@ @@@@ @@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@XXXXXXXXXSSSSXS;:OO&&&O8SSSSSSSS8SSSSS8SSSSSSSSSSSSXSSSSSSSSSSSSSSSSSSSXXSSSXXXXXXXXXX
@@@X@@@@@@  @@ @@@@@@@@@@ @@@@@@@@ @@@@@@@ @@@@@ @@@@@  @@@@@@@@@@@@@@@ @@@ @@@@@ @@   @  @@XXXXXXXXXXSSSSSS888&*&&O*OXSSSSSSSSSSSS8SSSSSSSSSSSSSSSSSSSSSSSSXXSSSSXXXXXSXXXXSXXSXSX
@@@@@X@@@@ @@@@@@ @@@@@@ @@@@@@@@@@@@@  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@   @@@@@@@XXXSSSXXX@XSXSSXXXX@@XO888SO8SXSSSSSSSSSSSSSSSXSSSSSSSSSSSSSSSSSXXSS8SSXSSXSXXXXXXXXXXXXXX
@X@@@@@@@@@@ @@ @ @@@@ @@@ @ @@@@@@@@@@  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ @@@@@XXXXXSS8XSS@XXXXXXSXXXXX@@@@@XXXSXSSSSSSSSSSSSSSSS8XSSS88SSSSSSSSSXSXSSSXSXSSXSXXXXXSSXXXXXXXXX
XX@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@ @@@@@@@@@@@@@ @@@@@@@@@@@@@@ @@@@@@@@@@@@  @XXXXXXXXXXXXXX@@@@@@@@XXXXXXXX@@@@ @@@XXXSSSXSSSSXSSSSSSSSSSSSSSSSSSSSSXXSSSXSSSSSXSXXSXXXXXXXXXXXXXX
@@@@@@@@@@@@@@@@ @@@@@@@@@ @@@@@@@@@@@@@@@ @@@@@@ @ @@@@@@@@ @@@@@@@@@@@@@@ @@XXXXX@X@@@@ @@@@ @@@@@@@@@@@@@@@@@@@@ XSSSSXXSXSSSSSSSSXSSSSSSSSSSSSSSXSSSSSSXXSXXXXXXXXXXXXXXXXXX@X@
@@X@@@@@@@@@ @@ @@@@ @@ @ @@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@ @@@@@@@ @@@@@@@@ @@@X@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XSXXXXXXXSSSXSSSXS8SSSSSSXSXXSSSSSXXXXXXXXXXXXXXXXXX@@@@@@@X@@@
@@X@@@@@@@@@@@@ @@@@ @@@@@@@ @@  @@@@ @@@@@@@@@@@@@  @@ @@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XXSXXSXXXSXXXSSSXSXXXSSXXSSSSXXXXXXXXXXXXXXXX@XXX@@@X@@@@@@@@@@
@@@@@@@@@@@@ @@@@@@ @@@@@@@@@@@@@@@@@@@ @@@   @@@@@@ @@@@@@@@ @@ @@@@@@@@@X@@@@@@@@@@@@@ @@@ @@@@@@@@@@@@@@@@@@@@@@@@XXXXXXXXSXXSXXXXXXSXXSXXXXSXXXXXXXX@XXXX@@@@@@@@@@@X@@@@@@@@@@
@@XX@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@ @@@@@@@@@@@@@@X@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@XXXXXXXXXXXXXSXXSXSXXXXXSXXXXXXXXXXXXXX@@XXXX@@XXXX@@@@@@@@@XX
@@@@@@@@@@ @@ @@ @@@@@@@ @ @@@@ @@ @@@@@ @@@@@@@@@@@ @@@@@@  @@ @@@@@X@@@@@@@@@@@@@@@@@@@@ @@@@ @@@@@@@@@@@@@@@ @@@@ @@@@@XXXXXXXXXXXXSSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX@@@@@@@@XXXXX
X@@@@@@@@@@@@ @@@ @@@ @@@@ @@  @@@@@@@@ @ @ @@@@@@@@@@@@@@@@ @@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@ @@ @@@@@@@@@@@XXXXXXXSXXXSSXSXXXXXXXXXXXXXXX@X@@@@@@@@@@@@XXXX@@X
X@@X@@@@@@@@  @@@ @@@@ @@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@  @@@@@@@@@@@@ @@@@@@@@@@@@ @@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@X@XXXXXXXXXXXXXXXXXX@X@@@@@@@@@@@@@@@XXXXXXXXXXX
X@@@@@@@@@@@@@ @@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@X@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@XXXXX@@XX@X@@@@@@X@@@@  @XXXXXXXXXXXXXX
X@X@@@@@@@@@@@ @@@@@ @@@@@ @@@@@@@ @@@@@  @@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@ @@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@X@@X@@@@ @@XXXXX@@XXXXX@@
@@@@@@@@@@@@X@@@ @@@@@@@ @ @  @@@ @ @@@@@@@@@@@@@@@@@@@@@@@@XX@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@ @@@@@@@@@@@ @@@@@  @@@ @ @X@ @@XX@@X@@@@ @@X@XXXXXXXXXXX@
@@@@@@@@@@@@@@@  @@@@ @@@@@@ @@ @@@@@@@@@@@   @@@@@@@@@@ @@@X@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@ @S@@@@X@@@X@@@ @@@XXXXXXXXXXXXXX
@@@@@@@@@@@@@@@ @@@@  @@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@X@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@  @@ @XX@@@@@@@X@X@@ @@@XXXXXXXSXXX@XX
X@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@XX@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@XX@@ @@XXX@@@@@  @XXXXXXXXXXXX@X
X@@X@@@@@@@@X@@@@ @@@ @@@@ @  @@@@@@@@@ @@@@@@@@@@@@@@@@@XX@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XX@@@@@X@@XX@@@ @XXXXXXXXXXXXX@X
X@@@@@@@@@@@@X@ @ @ @@@@ @@@@@@ @@ @@@@ @@@@ @@@@  @@@@@@@@X@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XX@@@@@@@X@@@ @@@@XXXXXXXXXX@X@X
X@@@@@@@@@X@@X@@   @@@@@ @@@@@@@ @@@@@@@@@@ @@ @ @  @X@@@@@@@@@@X@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @SX @@@@X@@@@@@@@ @XXXXXXXXXXXXXX
@@X@@@@@@@X@@@@@@@ @@ @@@@@@@@ @@@    @@@@ @@@@@@@ @@@@X@@@@@@@X@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XX@@@@@X@@@@@@@@@@XXXXXXXXXXXXXX
@@@@@@@@@@@@@@@@@ @@@ @@@@@@@@@@@ @@@@@@@@@@@@@@@@@XXXXX@X@@@X@@@@@@@@X@@@@@@@@@@@@@@@@@@@@@@@@@@@X@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S@@@@@@@@@@ @@@@@@XXXX@XXXXXXXXX
@@@@@@@@@@@XX@@@  @@ @@@@@ @@@  @ @@@@ @ @@@@@@@ @@@XXXXXX@@XXX@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XX@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@ @XS@@@@@@@@@  @@@ @@XXXX@XXX@@XXXX
@@@@@@@@@@@XX@@@@@@ @@ @@ @@@@@ @@@@@@@@@@@@@@@   XXSX@XX@@@X@X@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@X@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@XS@@@@@@X@@ @@ @@@@XXXXXXXXXX@@XX
@@@@@@@@@@@X@@@@  @@@@@@@ @@@@@@@@@@@@@@   @@@@@@@XSXXXXX@XXXX@X@@@@@@@@@@@@@@@@@@@@@@@@@@@@XXXX@@X@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@XS@@@@@@@@@@@@@@ @ XXXXXXXXXXXXXX
@@@@@@@@@@@@@@@@@ @@@ @@@@@ @@@ @@@@@@@@@@@@@ @ @SXSSXXXXX@XXX@X@@@X@@@@@@@@@@@@@@@@@@@@@@@@XXXX@@X@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XS@@@@@@@@@@@@@@ @@XXXX@XXX@@@@@@
@@@@@@@@@@@@@@@@@ @  @@@  @ @ @@@@@@ @@@@@@ @@@@XSXSXXXXXX@XX@X@X@X@@@@@@@@@@@@@@@@@@@@@@@@XXXXX@@@XX@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@ @@@@@@@@@@@SS@@@@@@@@@@@@@@@@@@XXXXXXXX@@X@X
X@@@@@@@@@@@@@@@@@ @@@@@ @@@@@@@@@@ @@@@@@@@ @@@XXXS@XSX@XXXX@@XX@@@@@@@@@@@@@@@@@@@@@@@@@XXX@XX@X@@@@@@X@@@@X@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@8S@ @@@@@@@@@ @ @@@@XXXXXXXXXXXXX
@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@ @@@ @XXXSSXSX@XSXXXXX@X@@@@@ @@@@@@@@@@@@@@@@@@@SX@@X@XXX@@@@XX@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8X@@@@@@@@@@@@ @@@@@@XXXXXXXXXXXX
@@@@@@@@@@@@@@@@@@@@@@ @ @@@ @ @@@ @@@@@@@ @ @@XXXSSSS@XSSXXXXX@@@@@@@@@@@@@@@@@@@@@ @@@@SSX@XSXX@XX@XXXX@@X@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@X8X@@@@@@ @@@@X @@@@@@XXXX@XXXXX@X
@@@@@@@@@@@@@@@X@@@@   @ @ @@@@ @@@@@@@@@@@ @@XSSSSSSXXSSXXSXXX@@@@@@@@@@@@@@@@@@@@@@X@@X8X@SSSSSSSXXXXXXX@@@@@@@@@@@@@@@@@@@@@@@XX@@@@ @@@@@@@@@XS@@@@@@@@@@@XX@@@@@@@@XXXXXXXXX@X
X@@@@@@@@@@@@@@@@@  @@@  @ @@@@ @@@@@@@   @@@@XSSSS88SSSXXSX@X@@@@@@@@@@@@@@@@@@@@X@@@@XOSXX88SS8OSXSXXXXXX@X@X@@@@@@@@@@@@@@@@@XX@@@@@@@@@@@@@@@XS@@@@@@@@@@@X@@XXXX@@@@XXXXXXXXXX
X@@@@@@@@@@@@@@@@ @@@@ @@@@@@ @@ @@@@@@ @@ @@XSSSSX8SSS8S8SXXX@XX@@@@@@@@@@@@@@@@XX@@@X8SX888SSOO888SXXXXXX@XXX@X@@@@@@@@@@@@@XX@@@@@@@@@@@@@@@@@SX@@@@@@@@ @@@@XXSX@@@ @@XXX@@XXXX
@@@@@@@@@@@@@@@@@@@@@ @@@@@@@   @@@ @@ @@@@@XSSSSXS8S88SSOSXS@@XX@@@@@@@@@@@@@@@@@@@@@SSXSSSSX8OOO88XXXXXXX@XX@@@@@@@@@@@@@@@XSX@@@@@@@@@@@@@@@@@XX@@@@@@@@@ @XXXSXX@@@@@@XXXXXXXXX
@@@@@@@@@@@@@@@@@@@@@@@@ @ @@@@@ @@@@@@ @@ @X88S8SS8S8SSOOXXX@XX@@X@@@X@@@@@@@XX@@@@@X8SXXS8XX8OO8SXXSSXXXXXXX@XX@@@@X@@@@@@XSX@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@XXXSXXXX@@@@XXXXXXXXX
@@@@@@@@@@@@@@@ @@ @ @@@@  @@@@@@@@@ @@@@@ @SSS888SS88S8OS@X@XX@X@@@@@X@@@@@@@@@XX@@@SSXX8S@X88S888888SXSSXXXXXX@@XXX@@@@XXXX@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@X@XSO8XSXX@@@XXXX@X@XX
@@@@@@@@@@@@@@@  @@@@   @@@ @@@@@@@@@ @@@@@X8SX88SS8SSS88XXX@XXX@@@@@@@@@@@@@@XXXXX@X8XXSX@@SSS8O&&O&88SS8SXXXXXXSXXX@@@@XSSX@@@@@@@X@@@@@@@@@@@@@@@@@@@@@@@@X@XSOSXX@@@@@@XXX@@@XX
@@@@@@@@@@@@@  @@@@@@@@@@@@@ @@ @@@@ @@@@ @SSXX8SS88XXS8SXXXXXXX@@@@@@@@@X@@@XXXX@@XSX@X@@@XXX8&&*&&&O8888SSXXSSSSX@@@@@@XXX@@@@@@@@@@@@@@@@@X@@@@@@@@@@@@@@@XXX8OSSXX@@@@@@XXXXXXX
@@@@@@@@@@@@@@ @ @@ @@@@@@@  @@@@ @@@@ @ @@SXXSSXS8SXXSSSXXXXXXX@@@@@X@X@@@@@XXXXXXXXX@@ @X@@8O&OO&OOOOO&O8S8OO8SXXXXXX@XX@@X@XXXXX@@@@@@@@XXX@@@@@@@@@@@@@@@@XXX8SX@@@@@@@@@@XXXXX
@@@@@@@@@@@@@@@@@@@  @@@@@ @ @ @@@ @@ @  @XSXSSSSS8XXS88XXXXXXX@@@@@@@XXXXXXXXXXXXXSXX@@@@@@SO88SOOO8OO&&O8OO&OSXXSSSXXXXXX@XXXXXX@@@@@@XX88SX@@@@@@@@@@@@@@@@@@@X@@@@@@@@ @@XX@@XX
@@@@@@@@@@@@ @  @@@@@@  @@@ @@@ @ @@@ @@@@XXXSSSXSSXXS8SXXXSXX@@@@@X@@X@@XXXXXXXXXXX@@@@@@XXXS@XS88SSOOOOO8O&&8SSS888SSSXXXXXXXXXXXXXXXXSOO88SX@@@@@@@@@@@@@@@@ @@@@@@ @@@@@@@XXX@X
@@@@@@@@@@@ @@ @@@@@@@@@@@@@@ @@@ @@  @@@X@XSXXXXSXXXS8SXXXSSX@@X@@X@XX@@@X@XXSXXXX@@@@@@@XX@X@XXSSXS8SSSSS888SX88OO8SXSXXXXXSSXSSSS8OSOO&O88SX@@@@@@@@@@@@@@@@@@@@@ @@@@@ @@@XXX@X
@@@@@@@@@@ @@@@@@@@ @ @@@  @ @@@@@@ @@@@@XXSXX@@XX@XXSOSXXXSXXX@@XXX@XX@XXSXXXXXSX@@@@@@@XX@@@X@@XXXXXXXXXXSSXSSOO88XXXSSSSSSSS88OO&&&OO&OOOO8SX@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@XXXXX
@@@@@@@@@@@   @ @@@@@@ @@@ @ @@@@@ @@@@@@XXXX@XXXXXXX88XXSXXXXX@@XXXXXXXXSXXXSSSS@@@@@@@@@@@@@@@@XXXXX@@XXSSXXS8O88XXS888888O8O&********&&&&OO8X@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@XX@@X
@@ @X@@@@@ @  @ @@  @@ @@@@@@@ @@@@@@@@@@@XXX@@XX@XXX8SXXSXXXX@XXXXXXXXXXXXXXSS88@@@@@@@@@@@@@@@@X@@X@@XXSSS888OOSS88OOOOO&****;;;;;;;;;**&&&&OS@@@@@@@@@@@@@@@@@@@@  @@@@@  @XXXXX
@@@@@@@  @  @@@@@@@@@@ @@@@ @@@@ @ @@ @@@@XXX@@XXX@XX88XXSXXX@XXXXXXXXXXXXXX888OS@@@@@@@@@@@@@@@@XXX@@@XXSS88OOOO8SOO&&&*;:;;;;;;:;;;;*;***&OOOSX@@@@@@@@@@@@@@@ @@@@@@@@@@@ @@XXXX
@@@@@@@ @@  @@  @ @@ @@@@@@ @@@ @@ @ @@@@XX@@@X@XXXX88SXSSXX@XXSXX@XXXXSXXX8O8OO@@@@@@@@@@@@@@@@XXX@@@XXXSS88OO88O&&;;;;:::;;;:;;::;;;*****&OOO8X@@@@@@@@@@@@@@@@@@@@@@@@ @@@@XX@XX
@@@@@@  @@ @  @@@ @@@ @@@@@ @ @  @@@@@@@@XX@@@@@XXXSO8XXSXXX@XSXXXXXXXXSSS8888OS@@@@@@@@@@@@@@@XX@@@@XXXXS88888&;:::::::;:;;::::;:;:;;****&&&&O8X@@@@@@@@@@@@@@@@@@@@@ @@@@@@@XX@XX
@   @ @@@ @@@  @ @   @ @@@  @@@@@@ @@@@@@@X@@@@XXXXSOSXXSSSXXXSXXXSSSSSSS8OOOO8@ @@@@@@@@@@@@XXX@@@@@@XXXXSO&*:------:::::::::::;;;:;;*****&&&O8S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@X@X@
@  @@ @@@@  @@ @@@@ @  @@@ @  @@  @@@ @@@@@@@@@X@XXS8XXSSSSXXXSXXS8XS888O&OOOOS @@@@@@@@@@@@@X@@@@@@@@XXSO*;:::------::::::::::;;;;;;;*****&&&OOS@@@@@@@@@@@@@@@@@@@@@@@@ @@ @XXXXX
 @ @@@ @@@@@@  @@@ @ @@@@@@@@@@@@@@@@ @@XXX@ @@XXXX8SXSSXSSXXXXSXSSSS88OOO8OO8X @@@@@@@@@@@@@@@@@@@@XX8&;:::::-----:::::::::::;;;;;;;;;***&&&OOS@@@@@@@@@@@ @@@@@ @@ @@@  @@@XX@@X
 @  @ @@ @ @@ @@@@@@@ @ @  @@@@ @ @@@@@@@@@@ @XX@X8OSSXSS8SXXXXS8O8888OOOO8O8SX@@@@@@@@@@@@@@@@@@@XSO*;::::::--------::::;::::;;;;;;;*;;*&&&&&OOS@@@@@@@@@@@@ @@@@@@@@  @ @@ @@X@@@
@@ @ @@   @  @@@  @@@@@@@  @ @@ @@@@@@@@@@@@@XX@XS88SSSXS8XSSSS88OOOOOOO8888SX@ @@@@@@@@@@@@@@@@XO&;:-::;:::---------::::::::::::;::;;;;;***&&&OS@@@@@@@@@@@@@@@@@@@@@@  @@@@@XXXXX
    @@@@  @@@@ @@@@@@@    @@@@   @@@ @@@@@@@@XX@XS88SSSS8SXS88888OOOO888SXSSSX@@@@@@@@@@@@@@XS8&*::::::::--:------------:::::::::::::::;;;;*&**&S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XXSXX
@@@@@@@ @ @@ @ @ @@@ @@@@@ @ @@@@@@@ @@@@@@@@X@XXS88SSS88SS88SOO8OOO8S8SSX8SXX@@@@@@@@@@@@X8O&*;::::::--:-----------::--:::::-:::::::;:;;;****&&S@@@@@@@@@@@@@@@@@@@@@@@@@  @@XXXXX
  @@ @@@ @@@  @@@@ @@@@@@@ @@@@@ @@@@@@@@@@@@@@XS8O8SSSS8SO88SOO88OOS88SXXSX@@@@@@@@@@@@X8O&&*;:::-::::::::----------:-::-:--:::::::::::;;&&&&*&S@@@@@@@@@@@@@@@@@@@@@@@@@@@ @XXXSS
@@@@@ @@@ @ @@@ @@  @@@ @@ @@@  @@@  @@@@@@@@@XXS88SSS8888888OO888O8SSXXXXXXX@@@@@@@@@XS8OO&*;;::-:::::-----------------:---::::::::::;;;;***&&&S@@@@@@@@@@@@@@@@ @ @@@@@@@@@XXXXXX
  @@@@@  @@@@@ @ @@ @ @@ @ @  @@ @@@@@@@@@@@@@@X888SSS888OOOOOOSS88SXXXXXXX@@@@@@@@@XXXSSOO*;::::::::-::::--------------:-:::::::::::;;;;;***&&OS@@@@@@@@@@@@@@@@@@@@@@@@ @ @XXXXXX
@@ @  @@@  @@ @@@@@@ @@ @ @ @  @@@@@@@@@@@@@@@XX8SSSSS888O8O8O8XS8SSXX@X@XX@@@@@@@@@@XXSO&&***;::::--:::-------::---------::::::::;::;;;;;;**&*&X@@@@@@@@@@@@@@@@@@@ @@@@@@@XXXXXSX
@ @@@@   @ @@@@@ @   @@@@ @ @@@@@@  @@@@@@@@@XXS888SS8888888O8SXXSSXX@@@@XX@@@@@@@@XXS8OO&&&&*;::::---:--------:--------:-::::::::::;;;;;;**&&&OX@@@@@@@@@@@@@@@@@@@@ @@@@@@XXXXXXS
@ @@@ @@@@ @ @ @@@ @@ @@@ @@@@@@@@@@@@@@@@@@@XX888SXS888O8888SXXXXX@X@@@@XX@@@@@@XS8OOOOOOO&&*;::--------:--------------:::::::::::;::;;;****&&OX@@@@@@@@@@@@@@@@@@@@@@@@@@@XXXXXXX
@@ @@@ @ @ @   @  @@@ @@@ @@@ @@@@@@@@@@@@@@@@XS88SS8888O8S8SXX@XXX@X@XX@@@@@@@X88OO88888OO&;;::::----:-::--------------::::::::::::::;;;;****&OS@@@@@@@@@ @@@@@@@@@@@@@@@  @XXXSXX
@@@@@@@@@@@@@@@ @  @@ @@@@@@@ @@@@@@@@@@@@@@@XXS8SX88SS8888OSXXXXX@@@@@@@@@@@@X8888SSSSS8OO&;;::::-:------------------------::::::::;;;;;****&OS@ @@@@@@@@@@@@@@@@@@@@@@@@@ @XXXXX
 @@ @@@@@ @@@@@@@@@@@@ @ @  @@@@ @@@@@@@@@@@@XX88SS8SXS88888XXXXXX@@@@@@@@@@XSXXXXSXXXXS8O&*;:::::-::---------------:::::::::::;:;*;;***&OS@@@@@@@@@@@@@@ @@@@@@@@@@@@@@XSXSX
   @    @@@ @@  @@  @@ @ @  @ @ @@@@@@@@@@@@XXS8S888XXXSSS8S@X@@@X@@@@@@@@@@XXXXXXXX@XSO&*;;:::::::::-:::--------------::::::::;:;:;;;;***&&OS@@@@@@@@@@@@@@@@@@@@@@@@@@ @@XXSXX
@@@@ @  @ @@@@@@ @@@ @@  @@ @ @@@@@@@@@@@@@@XXSS88SXX@XSSSSSX@X@@@@@@@@X@@@@@@XXXXX@XO&*;;;:::::::::-::---------------::::::::::;;;;;;;;***&O8@@@@@@@@@@@@@@@@@@@@@@@@@@@ @XXXXX
@@  @  @  @ @ @@@@@@ @@ @@@ @@@@@ @@@@@@@@@@XSSS8SXX@@XSSSSXX@X@@@@@@@@@@@@@@@XXXXXS&;;;::::;:::::::::::--------------:::::::::::;;;;;;*;**&&OS@@@@@@@@@@@@@@@@@ @@@@@@@@@@ XXXXX
    @ @X@ @@ @@@ @@@ @  @@@@ @@@@@@@@@@@@@@XXXXSSSXX@@XXSSXX@X@@@@@@@@@@@@@@@XXXXXS&;;;:::;;;::::::::::---------------::::::::::::;;;;;**;*&&OSX@@@@@@@@@ @@@@@@ @@@@@@@@@@@XXXXX
 @@   X@     @@ @@@@ @@@@ @@@@@@@ @@@@@@@@@XXXXXSXXX@@XXSXXX@X@@@@@@@@@@@@@@XXXXXS&;::;:;;::;::::::::------------------::::::::::::;;;;;;*****&OOS@@@@@@@ @@@@@@@@@@@@ @@@@@@@@SSXS
@@ @@@S@ @@@@ @ @@   @ @@ @@@@@@@@ @@@@@@@@@XSXXXX@@@@XXXXX@@@@@@@@@@@@@@@@XSSXXS&;::;;:;:::::::::::::::::::------------::::::::::;;;;;;*;****&O8S@@@@@@@@@@@@@@@@@@@@ @@@@@ @XXXXX
@@   @@@ @ @  @@ @@@@@@ @@ @@@@ @@@@@@@@@@@@XXXXXX@@X@XXXXX@@@@@@@@@@@@@XXSSSX@XO*::;;;:;:;::::::::::::;*;;:::::::---:::::::::::::;;;;;*******&&OSX@@@@@@@@@ @@@@@ @@@@@@@@ @@@XXXX
@@ @ @@@ @ @ @X@  @@ @ @ @@@ @@@@ @@@@@@@@@XXXXX@@@@@XXXXX@@@@@@@@@@@@@XSSS8XXXO*:::;;;:;::;::::::::;;**&*******;;;::;*;;:;::;;;:;;;;;;;*****&&&8SX@@@@@@@@@@@@@@@@@@@@@@ @@@ @XSXX
@ @@ @@  @@ @XS@@@ @  @@@@@@@ @@@@@@@@@@@@@XXXXX@@@@@@XXXX@@@@@@@@@@@@XSS8SS@@S&:::;:;;:;::::::::;;*&OOO&&&OOOOOOOOOOO8O&**;;;;;;;;;;;;******&&OSSXX@@@@@@@@@@ @@@@@@@@@@@@@@@XXXXX
@  @@ @ @@  @@@   @@ @ @@ @ @@@ @@@@@@@@@@@XX@@X@@@@@@X@@@@@@@@@@@@@@@XSSSXX@X&::::;:::::;;::;;;&&OOOO8OO888888SSXSSSSS8O&&**;;;;;;;;*******&O8XXX@X@ @@@@@@@@@@@@@@@@@@@@ @@@XXSXX
  @ @@ @@ @ @   @@@  @@@@@@@@@@ @@@@@@@@@@@XX@@X@@@@@@XX@@X@@@@@@@@@@XXXXSS@@8;;::::;:::::::;;&OOOOOOOO&OOOO&&OO88OO8OOO&&&&&&*;;;;;****&&&O8SXXXXX@@@@@@@@@@@@@@@@@@ @@@@@@@@XSXXX
 @@ @@@   @@ @@  @@@@@@ @ @@ @@@ @@@@@@@@@@X@@@@@@@@@@@X@@@@@@@@@@@@@@XSSSX@X&:::;:;::;;::;*&OOO&&&&&*;;;*****OO&O&&OO&&&&&&&**;;;*;**&&OOSSXXXS88X@@@@@@@@@@@@@@@@@ @@@@@@@ @XXXXX
@@ @ @@ @   @@@@ @@@@@ @@@@@@@@@@@@@ @@@@@XX@@@@@@@@@@XX@@@@@@@@@@@@@@XXSX@@O;:;;:;::::::;*&&&&*;;;;;;:;;;*&&88O88O&&&&&&&&&&;*;;;;;*&O88SXXXS8888@@@@@@@@@@@@@@@@@@@@@@@@@ @@XXSSS
@  @  @  @   @  @ @  @   @@@@@@@@@@@@@@@@@XX@@@@@@@@@@X@@@@@@@@@@@@@@@XXX@@S*:;;;;:::;:::;****;;;;;;;;;*&OSSSXSSXXSOO&&&&&***;;;:;;*&OSSXXXSXXXXSX@@X@ @@@@@@@@@@@@@@@@@ @@@@XXXXXX
 @ @@ @ @@@@ @ @@  @ @  @@@ @@@   @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XXXX@@O;;;;;;:::::;;;****;;;;;;&O8XXXXX8&&O8XXSO&&&&*;;;;:::;;*OSSXSSOOX@@XX@@@X@@@@@@@@@@@@@ @ @X@  @@XXXXXXX
@  @@      @ @ @@@@   @@@@@@@@@@@@@@@@@@@@@@@@X@@@@@@XXX@@@@@@@@@@@@@XXX@@X*;;;*;;:;::;;;;;*******&8XX@X&8SO*::;&SXS&&&&&**;::::::;&SOOSSO**8X@@@@@@@@@@@@@@@@@@@ @@@@@@  @XXXXXXXX
@   @@@@@@@@@  @  @@@@  @  @  @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XXX@XO*;;;;;;::;:;::;;****&&OSXXXSO&XSO*::;*8S8OOO&**;;::::::*OS*SS8O**SX@@@@@@@@@@@@@@@@@@ @@@@@@@@ XXXXXXXXS
@ @ @@@ @ @ @@  @   @@  @  @@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XXX@@8*;;;;;;;;;:;;::;;*&&&O8SXS8O8SSS88:::**O88O&&***;::::::;*8S8X88O;*S@@@@@@@@@@@@@@@@@ @@@@@@@@@@@XXXXXXSXX
@@@     @ @     @@  @@@@  @@   @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XXXX@X&*;;;*;;;;;;::;:;;*&&OO8SS8OOO88O8&--:;&O88O&***;;;:---:;&88S888;;&X@@@XXX@@@@@@@@@@@@@ @@@@@   @XSXXXSSXX
@ @   @@@ @  @@@ @@@ @@ @   @@  @@@@@ @@@@@ @@ @@@@@@@@@@@@@@@@@@@@@X@@X8&***;;;;;;;;;::::;;*&&OOOO8S8OO8O&:-:*&O888&*;**;;;:---;&SSSS8&*&S@@@@@@@@X@@@@@@@ @@@@@@@@@@@@@XXXXXXXXX
@   @  @  @  @  @ @   @ @@@@   @@@@@@@@@@@@@@@@@@@@X@@@@@@  @   @@@@X@@S&**;;;;;;;;;;::::::;;;***&O888OOSO***&8SXS8O*:;;*;;;:---:;&S88SS88SX@@@@XX@@X@@@@@ @@@@@@@@@@@ @@@XXXXXXXXX
  @           @ @ @@ @@@@@ @@@@@@@@@@@@@@@@@@@@@@@@X@@@@@@ @XX@@@@@X@@XO**;;;;;;;;:::::::-:::;:;;&&&&OOO88O8SSSXS8O&;:;;*;::::--:;&8OO88SXXXX@@XXX@@@@@@@@@@@@@ @@@@@@@@@XXXXXXXXXX
@ @  @ @@ @ @ @ @ @ @ @@@    @ @@@@@@@@@@@@@@@@@@@@@@@@@@ X;:;&OSX@@@@S&**;;;;;;;;:;:::::::::::;;;***&&&OOO888888OO&;:;*;;;;;:::::&OOO888888S@@XX@@@@@@@@@@@@@@@@@@@@@ @@XXXXXXXXXX
    @  @@ @ @ @@   @@  @@@ @@ @@@@@@@@@@@@@@@@@@@@@@@@@@@X;,--:;&X@@XO&*;;:;;;;;::::::::-::::;:;;*****&&&&OOOOOOOO&;;**;;;;;;::::*OOOOOOOO8S@@XXX@@@@@@@@@@@ @@@@@@@  @XXXXXXXXXXX
@  @ @ @   @@@@@ @ @@@ @ @@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@&-------:OX@X&*;;;;;;::;;::::::---::::::;;****&*&O&&O&&OOO*;;*;;;;;;;;::;;O8OOOOO8SSX@XXX@@@@@@@@@@@@@@@@@@@ @@SSXXXXXXXXX
 @   @@ @ @ @@ @  @ @    @@ @@@@@ @@@@@@@@@@@@@@@@@@@@@@S;::----::;&88&**;;;:--::;:::::::--:::::::::;*&&&OOO&&&&OO&;;;*;;;::;;;::;*&8OOOO8888S@X@X@@@@@@@@@@@@@@@@@@@@@XXXXXXXXXXXX
 @@@ @@  @ @  @ @  @ @@  @@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@O;:::::::;::;:;***;::---::::::::::--::::::::;;;***&&&&&&&&*;;;*;;;;;:::::;*&OOOOOOOO&SXXX@@@@@@@@@@@@@@@ @@@@@XXXXXXXXXXXXX
@@  @    @   @  @@@ @@ @@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@X&:;;::::::---:;&&;;::---:;::::::::--:::::::::;;;;****&&&**;;;;;;;;:;::;::;;&OOOOO&&&&8X@@@@@@@@@@@@@@ @ @@  @@XSSXXXSXXXXXX
 @     @@@@  @ @  @@@   @@@@ @@@ @@@@@@@@@@@@@@@@@@@@@@X*:;:---:::::::**;:::----::::::;;::-::-:::::::;;;;;;**&**;;:::;;;::::::;::;;&OOO&&&&&&8X@@@@@@@@@@@@@@@@@@ @@@XXSXXXXXXXXXXX
 @   @ @ @@@ @@   @ @ @ @@@  @@@@@@@@@@@@@@@@@@@@@@@@@ S*;:--:::::::::;:--::----::::;;:;:::::---:::;:;;;******;;::::::;::::::;;:::;*&O&&&*&*&8@@@@@@@@@@ @@@@@@@@@@@XXXXXXXXXXXSXXX
 @@@@@  @ @@ @  @@@ @  @@  @@@@@@@@@@ @@@@@@@@@@@@@@@@ X;::::::::::::::;::::----:::;:;;::::-:--::::::;;********;:::::::::::;;;;;:;;;&O&&&&&*&8@@@@@@@@@@@@ @@@@ @@@@XXXXXXXXXXXXXXX
@@@@  @@@@ @@@ @ @ @@@ @  @@@@@@@ @@  @@@@@@@@@@@@@@   S;::::::::::;::;;---:----::::;;;:::::::--::::;:;;*****;;:;::-::::::;;;;*:::;;&O&&*&&*&8X@@@@@@@@@@@@@@@ @@@ @XXXXXXXXXXXXXXX
@@  @@ @ @     @@  @ @@ @@@@ @@@@@@@@@@@@@@@ @   @@@ X&*:-::-::::-:::;;:--:---::-:;;;:::::::---:::;;;;*;;*;;::::--::::::;;;*;;::;;&O&&*&**&8@@@ @@@@@@@@@@ @@@  @XXXXXXXXXXXXXXXX
@@   @ @  @@@ @  @   @ @ @@@@@ @@ @@@@@@@@     @@@   &:;::-::::---::;;:-------:--::;;:::::::---:::::;;;;;;::::::---:::;;;;;;;;::;*&O&&****&OX@@@@X@@@@@@@@ @@ @@XXXXXXXXXXSXXXXX@
@@@@ @ @@@    @@@   @ @ @@@@@@@@@@@@@@@@@@@ @8&&OOOSS;:;:::::::--::;;*;:-----::-:::;;;;;;:::-----::::;;;:;;:::::---::;;;;;;;;:-:;;*O&&****&8X@@@@@@ @@ @@ @@ @@XXXXXXXXXXXX@X@@@@
   @@  @    @ @@@@ @@@@ @@@@@@@@@@@@@@@@@ @@&:--:::;;;;::::::-::;*;;;;;-----:-::::::;;;;:::-----::::;:;:;;;;::::::;;;;;;;;;;:-::;*&&&&&**&8X@@@X@@@@@ @@@   @XXXXXXXXXXXXX@X@@  
@ @ @@ @ @  @@  @  @ @   @@@ @@@@@@@@@@@@@ @8:----:::;:;;::--:::*;;::;;::-----:::;;:;;;;;:::::----:::;:::;;:;;:;;;****;**;;;;::::;*&O&**&*&S@@ @@@@@@@@@@@@@@XXXXXXXXXXXXX@@@ @@@
@ @ @@      @   @@@@@@@@@@@ @@@@@@@@@@@@@@  X;---::::;:;;:-::;***;:::;;::---::::;;;;;;;;:::::-----::::::;;;;;;;;;***********;::::;;&O&*&&*&S@@@@@@@@@@@@@@@@XXXXXXXXXXXXX@@@ @@@@
        @@ @@    @    @@@@ @@ @ @@@@@@@@ @  @&-----:::;;*;::;;*;;::::::::------::;;;;;::;:;:::::----:::::::;;;;;;************;;;::;;;*OO&*&&&S@@@@@@@@@@@@@@@XXXXXXXXXXXX@@@@@@@@@@
@@@  @@@@ @   @@  @@   @@@  @ @@ @@@@@@@@@@  S;----::::;**;;*;;;;::::::;:-----:::;::;;:::;:::::::::::::::::;;;;;;******;******;:-:;*;*&O&**&OX@@X@@@@@@@@@@@@@XXXSXXX@XXX@@@@@ @@@ 
@@ @       @@@@   @@@@     @@@@@@@@@@@@@@@@  @O:-----::::****;;:::::::::::-----:;:::;;:;;;::::::::::::::::::;;;*********;&&*;*;:-:***&O&*&&8@@@@@@@@@@@@@@@@@@@XXX@XXXXX@   @@@@  
@@  @ @  @ @@ @@  @ @@@@@ @ @@@@@@@@@@@@@@@@@ X&:-----:::;**;;::::::--:::::---:;;:::;;;;;;;:::;;::::::::::::;;*********;*&&*;;;:-:;;**O&&&OS@@@@@@@@@@@@@@@@@@@@X@@XX@X@ @@@@@ @@@
@  @@   @@@ @      @@ @   @@@@@@@@@@@@@@@@@@@@ X&:------::*;:::::::--:::::---:;:--:::::;;;;;;;::::::::::;;;*****&*&&*;;;-;;*;;:-::;*&OO&&8@@@@@@@@@@@@@@@@@@@@@@@XX@XX@  @@@@ @ @
  @@@ @ @@ @@ @ @ @  @@@@  @@@@@@@@@@@@@@@@@@@  X*::------:;;;::--::--:::::---::------::;:;;;;;:::::::::;;;******&&&*;;;-*;;;;:-:::;*&O&&8X@@@@@@@@@@@@@@@@@@@@@@@@@@X@@ @@@@@ @ @
@@ @   @@ @  @  @ @ @@@  @ @@@@@@@@@@@@@@@@@@@@ @O;:::----::;*::-:-----::::---:--:-----:::;;::::::::::;;:;;*******&&&;;;;*&****;::;;;*&OO8XXXX@@@@@@@@@@@@@ @@@@@@@@@@@    @@@@@ @ 
      @ @  @    @@@@@@@@     @@@@@@@@@@@ @@@@ @@ X&::::-----;*;::--------::::::::-------:::::::;::;:::;;;;****;;**&&&**&OO&&&&&**;;*;*&O8S@XSX@@@@@@@@@ @@@@@@ @@@@@@@@@@  @@@@@@@@
   @  @    @ @  @   @  @@@@@@@@@@@@@@@@@@@@ @@@@  XO*:::----:;;::--------:::;::----------::::::;;:::;;;;;;***;;;;;*****&&&OOOO8O&****&O8X@@XSX@@@@@@@@@@@@@@@@ @@@@@@@@@@  @@@@ @@@
 @ @@@@@@@    @  @ @  @ @   @@@@@@@@@@@@@@@@@@@@@@  XO;::----:;;:--------:::::---:::-::---::::::;;::;;;;;;*****;;;*;;;::**&&O88OO&&OO8SX@@XSSX@@@@@@@X@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 @@@@ @ @@ @      @@ @@@   @@@@@@@@@@@@@@@@@@@@@@@@@ @X8*::--::;::-------::;:------::::-:---::::::;;;;;;;;*;;;;;;;;;::::;;*&OOO88O8888X@@XXSSXXX@@@@@@@@@@@@XX@@@@@@@@@@@@@@@@@@@@@
   @@ @  @ @@@@ @ @  @  @@@@@@@@@@@@@@@@@ @@@@@@@@@@@@  @8&;::;*;:-------:;;:------:::-:-----:;::;;;;;;;;;;;;;;:;;;;;:;;;;*&O*&OO88O&8@@XXXXSXXXXXXX@@@@@X@@XSXX@@@@@@@@@@@@@@ @@ @
 @  @     @@  @ @ @@ @ @ @@@@@@ @@@@@@@@@@@@@@@@@@@@@@   @8&****;:----:::::;:----------::::--::;;;;;;;;;;;;;;;;;;;;;;;;;;;&&&*&&O8O&OXXX@XXXSXX@X@XX@@@X@XXXSSSSXX@@@@@@@@@@@@@@@@@
@@  @@ @ @@@   @@@@@ @   @  @@@@@@@@@@@@ @@@@@@@@ @@@@ S&*;;***;;;:::::::::;:::---------------::;;;;;*;;;;;;;;;;;;;;;;;;**&&**&OO8&&SXXX@XXXSXXXXXX@@@@@@XXSSSS8SSXX@@@@@@@@@@@@ @@
@  @@ @    @ @ @ @   @ @@@@@@ @@@@@@@@@@@@@@@@@@@@@@ @O:::;***;::;;;;:::::;;:--:::-------------:;*****;;;;;;;;*****;;;;;;*&&**&O8O*O@XX@XXXSSSXXXX@@@@@XXSS8888SSSSSXX@@@@@@@@@@@@@
 @ @        @     @@@  @ @@@@@@@@@@@@@@@@@@@@@ @@@@ @&-:;:***;:;;::::::::::;:::::::::----------;***;;;************;;:;:;*&&**O8O*&X@XXXX@XSSSXXXXXSXXXX8S88OOO8SXXSSX@@@@@@@@@ @@@
   @@ @  @   @  @   @@@@   @@@@@@@@@@@@@@@@@@@@@@   O::;-;&*:;;::::::::::;:;:::::::::---------;***;**&&&&&&****;;;;;;;;*&**&88&*S @XXX@@XSSSX@XXXXXXXSS8S8OOOO8SSSSSXX@@@@@@@@@@@
  @@@   @ @@@ @@  @   @@@ @@@@@@@@@@@@@@@@@@@@@@@  S::;:;**;;;;::::;;:::;:*O&;;:::::::::------::****&&&O&OO&&*****;;;;;**&**O8SO;8@@XSSXXXXXSSXXXXXXX@XSSSSS88OOO88SSSSSX@@@@@@@ @@
@      @ @ @  @  @@@@ @@  @@@@@@@@ @@  @@@@@@@@@@ @*::::*&*;;;::;::::::::;OXS&;;;::::::::::::;*&***&&OOOOO8O&&&&&&**&&O&O&&OSXO*O@ @XSSXXXXXS8XX@XXX@@XS888SS88SS8O888SSSX@@@@@@@@ 
 @@ @  @   @    @   @  @  @@@@@@@@@@@@@@@@@@@@@@  S::::*&*:::::;:;;::::::&SXXSO&**;;:;;::::;*&&**;&&&&&**&O8OOOOOOO888SS888XXS&&X@@XXXXXXXXX88XXXXXX@XSS8O8S8SSSXS88OO8SSXX@@@@@@@@
  @     @   @@   @@@ @@@@@ @@@ @@@@@@@@@@ @@@@@@ @&:::;&&;::-:&XO*;;;:::;OSSSS8OO&&&&&*****&&***;*&**;;;;;*&OO8OO88S8SSSSSSXXOOS@@@XXXSXXXXS8SXXX@XX@XSS8O88888SXXXXS888SSXX@@@@@@@
@@ @ @    @@@@@@   @@@ @@@@@@@@@@@@@@@@@@@@@@@@@ X;::;***:::;8@  X&::::*8XS8S88OO&&&&&&&&&&******&**;;;;:;;*&OOO**&O888O88O8SOS@@@@@XXXX@@XXS8SX@X@@@@S8O88888OSXXXXSSS8SSXXXX@@@@@
@    @@   @     @@@@ @@ @@@@@@@@@@@@@@@@@@@@@  @ S::;***::-:8  @@@S&;&8XSS88888O&***&&**&*****&*&&**;;;;;****&OOOOOOOO888O8X8S@@@@@@@XX@@@XXS8SXX@@@@@SOOO88O8O8S88SSSXSSSXXXX@@@@@
  @  @@    @@ @  @@ @   @ @@@@@@@@@@ @@@@@@@@    &:;;;&;::;8@ @@@@XXSX@XSSS88OO88&*******&****&&&*******;;;**&&88888888S8SXS8@ @@@@@XXX@@@@XXSSXX@@@@X8&O8&&OOO8S8888SXSXXXX@@XX@@@
    @@   @     @@ @ @  @@ @@@@@ @@@@@@@@@@@@@@@ X;::;*;:-:S  @@@@XSXXXSSSXSS8OOOO&&****&&*****&**********;*****OO8S88SSSXXS8X@@@@@@@XXX@@X@XSSSXX@XX@XO&O&*&&&&O88O88SXSSSSXXXXX@@@
@   @ @ @ @@@ @ @@  @@@@  @@@@@@@@@@@@@@@@@@@@@ 8:::;*;-;S  @@@@@XSSSSSSSSSXXS8O&&&&*******&**&**********;*****&&OO88SSS88OX@@@@@@@XXXX@XX@XXSSSXXXX@XO&&**&&&&O8OOO8SSSS88SSX@@@@@
     @@@@     @  @   @  @@@@@@ @@@@@@@@@@@@@@  @&:::;;:;X@ @@@@@@XS888SSS8XXXXS8O&*;*&&*&********************&&&&OOO88OOOO8@@@@@@@@XXXX@@@@XSSSSXXXX@X8&**&&&&&8O&&OOOOSSS8SSS@@@@@
   @   @@ @   @@  @@@ @@  @@@@@@ @@@@ @@@ @@@@ X::::::&X @ @@@@@@XXSS8SSSSSSSSSS8&;:;&&***********************&&OOOOOOOOOOX@@@@@@@@@XXX@@@@@XSSSXXXX@X8O&&&&&&OOO&**&&OO8SSSSSXX@X@
@@@ @@@  @ @@@@ @   @  @@@@@@@@@@@@@@@@@@@@@@@ O--::;O@    @@@@@@XXSS88SS888SSSSSO;:*O&&****;***;*******;*****&&&&&&*&OO&OX@@@@@@@@@@@X@@@@@SSSS8XXX@X88O&&&&*OOO&***&&&O88SSSSS@@X
 @   @ @  @@@@@@@@@ @@   @@@ @@@@@@@@@@ @@@@@ @&:;*OX@   @@@@@@@@@XXXS8S888SSSSS8O&O8O&&*****;*****;***;*;;;**&*&&**&&&&OS@@@@@@@@@@@@X@@@@@XSS8SXXXSX88O&*&*&8O&&**&*&&OOO8SSSSX@X
           @   @@ @@@@@@@@@@@@@@ @@@@@@@@@@@ @@O8X@@  @@@@@@@@@@@@XSSS888SSSSSXS8SSSOOO&&************;*;;;;;*******&&&&&OS@@@@@@@@@@@@@@@@@@XSSSSSXSSX8O&&&&*OO*&&&****&&&OO8SSSSXX
@@  @ @@  @@  @   @  @@ @@@@@@ @  @@@@@@@@@@@@@@   @@  @@@ @@@@@@@XSSSSS8S888SSSSSS88OOO&&&*******&***;;;;;;;**;***&&&&&8X@@@@X@@@@@@@@@@@@@XXXSSXSSSXO&&&O&&8&;*&&****&&&OOO8SS8XX
        @     @@@ @  @ @ @@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@XSSSS8888888S8SSSSS8O&&&&*************;;;;;;;;*&&&*&&OSXX@X@@@@@@@@@@@ @@@@XXSSXS88X8&&&OOOO*********&&*&OOO8SSSX
   @   @  @   @@ @@@@@@@ @@@@@@@@ @@@@@@ @@@ @@@@@@@ @@@@@@@@@@@@@XS8SS888888888SSSSSS8O&&&&&***********;**;**;**&&&&&OSXXX@@@@@@@@@@@@@@@@@@XXSSSS8O88&*&&O8O;****&*******&OO8SSSS
@    @  @ @@@@@@@ @@ @@@@@@@ @@@@  @@@@@@@@@@@@@ @@@@@ @@@@@@@@@@@@S8SSS8888888888SSSSS8O&&O&&&********;***;****&&&&&&OSXXXXXX@@@@@@@@@@@@@@@X@XS8S8O88&&&OO8O&****&&&*&&**&OOO8S8S
   @    @ @@@   @ @ @@   @@@@@@@@@@@@@@@@@@@@ @@@@@  @ @@@@@@@@@@@@XS88S8S88888888SS8SXS8O&&OOO&**************&&&&&&&OXSSXSSX@@@@@@@@@@@@@@@XXXXSSS8OSSO&&OSO&O&***&&&**&*&&&&OOSSS
@@@ @@@@@@@@@@@@@@@ @  @@@@@@@@ @@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@XS88S8S888888888888SSS8O&OOO&&&************&&&&&&OS@SSXSSX@@@@@@@@@@@@@@@@@XXSSSS8XSS8O8O**&O&;*&&&****&*&OOOOSS
@@@  @@@@@XXSXX@@ @@@  @@@@  @@@@@@@@@@@@@@@@ @ @@@@@@@@@@@@@@@@@@@XXS888888888888S88888XS8OO&OOO&&&&&&*&*****&&&&&OSXSS8XXXX@@@@@@@@@@@@@@@@@@XXSXXSXXXS88O**&O&**&O&******OOO&OSS
@@@@ @XXXSSS8SX@@@@@@@@ @@@@@@@@@  @@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@XX888888888SS8S88888SXS8OOOOOOOOOO&&&&&&&&&OO&OSXS8SSSXSX@@@@@@@@@@@@@@@@@@@XSSXSX@XXSO&**&OOO&OO&****&&&&O&&OS
@@@@@XXSXSSSXX@@@   @@@@@@@@@@@@@ @@@@@@@@@@@@ @@@@@@ @@@@@@@@@@@@@@XXS888888888S8SSSSSSSSXS8OO&O8888OOO&&OO&OOOO8XXXSS8SSXXXX@@@@ @@@@@@@@@@@@XXXXXXX@@XSO&&*&&OOOOOO***&&&&*OO&O8
@@@@XXXXXXXXXX@@  @@@@@@@@@ @@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@XS888O88O888888SSS8SSSXX8O&&O8XSSS88888888XX@@S8SS8SXXXSX@@@@@@@@@@ @@@@@@@@XXXXXXXXX8O&&&&&OO&OO&&&&&&&&OO&O8
@ @XX@XXXXX@XSXX@@@@ @@@@@@@@@@ @@@ @@@@@@@  @  @ @@@@@@@@@@@@@@@@@@XXXS8O88888O88888888SS88SSOO&&OSXXX@XXXXXXX@@ @SSS8SSXXX8X@@@@@@@@@@@@@@@@@@@XXXXXXX8SS8O&&&OOO&OO&&O&&&&OOO&&8
@@XX@@XXSXXXS8SS@@@@@@@@@@@@@@@@@ @@@@@@@@ @@@@@@@@@@@@ @@@@@@@@@@@@XXXSS88O888OO88888O888OOOS88O&&O8SXXOX@@@XXX@@@XSS88SX@XSSX@@@@@@@@@@@@@@@@@@@@@@@@@88S8OO&&OO&&&O&&O&&*&&OOOO8
@@@@@XXSXXXSSSSSX@ @@@@@@@@ @@  @@@@@@@@@@ @@@@@@@@@@@@@ @@@@@@@@XX@XXXSS888888O88OOOO8O8OO8O8SS8O&OO8XO&S @XXXX@@@XSSSSSXXXXX@@@@@ @@@@@@@@@@@@X@@@X@@@SOSSS8OOO&&OOOO&&&*&*&OOO&O
@@@XXSSSXXXXXSSXSX@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@XXXXXXXS8888888O8OO88888OOOOO8SS8O&&O8OOX@XSXX@@@@XXXSXXXXSSX@@@@@@@@@@@@@@@@@@@@@@@@@@X88SS8OOO&&&OO8&*&&&&&&OOOO
@XXSSXXSXSS88SSS8X@@@@@ @@@ @@@@@   @@@@@@@@@@@@ @@@@@@@@@@@@@@@@XXXXXXXXS888888888888O88888O8O8SS8O&&O&OX@SX@X@@@@SXSXXSXXSO8@@@@@@ @@@@@@@@@@@@@@@@@@@@8OSSSOOO&&&OOO&*&&&&&OOOOO
SSXXXSXS888SSSSSSX@@@@@@@@@@@@@@@@ @@@@@@@@@  @@ @ @@@@@@@ @@@@@@XXXXXXXXS888888888888O888OO8OOO8SS8OOOOO@XXXXX@@@@XXXXXXX@X88X@@@@@@@@@@@@@@@@@@@@@@@@@@SO8SS8O&&&&O88&&*&&&O&O8OO
XSXXS8888SSSSSSXXX@@@@@@@@ @@@@@@@@@@@@ @@ @@@@@@@@@@@@@@@@@@@@@@XSXXXXXXS88888OOO8888OOOOOOOOOOOO8SSOOOO8SXXXX@@@@XXXXXXX@XS8SX@@@@@@@@@@@@@ @@@@@@@@@@ @88SXSO&&&&&&O&**&&&&&OOOO
XSSS88SXSSSSXSXXXXX@@@@@@@@@@@@@  @@@@@@@  @@@@@@@@@@@  @ @@@@@@@XSSSSXXXS8O8O888888OOOOOO&OO&O&&&&8S8OOOO8X@X@@@X@XXXXXXXXXS8SX@@ @@@@ @@@@@@@@@@@@@@@@@@S8SXS8&&&&&&OO&*&O&&&&8OO
SSXSSXXSSSSSXXXXXSX@@@@@@@@@@@@@@@@@ @@@@@@@@@@@  @@ @ @@ @ @@@@@XXSS8SXXS8OOOOOOO8OOOOOOO&&O&O&&&&O8SS8OOO8X@ XSSX@XXXXXX@@X8S@@@@@@@ @@@@@@@@@@@@@@@@@@@SSSXSSO&&O&&O8O&&&&&&&O8O
SXXSSXSSSSXXXXSSSSSX@@@@@ @ @ @@@ @@ @@@ @@@@@@@@@@@@@@@@@ @@@@ @@XS88SXXSOOOOOOOOOO&&&&&&&&&&&&*&&&&8X8OO&&8X@XXXXXXXXXXX@@S8X@@@@@  @@@@@@@@@@@@@@@@@@ @XSXSSS8OOOO&OOO&&&&&&&O8O
XXSSXS88SSXXSS88888S@@@@@@@@@@@@@@@@@@@@@@@@ @@@ @@@@ @ @@@@@@@@@@XS88SSSX8OOOOOOOOOO&&&&&&&&&**&&&*&&8X8O&&OS@XXSSX@X@XXXX@XSXX@@@@@@@@@@@@@@@@@@@@@@@@@@@XSSXXS8O&O&&OOO&&&&&&O8O
XSSS888SSXXSS8O88OOSX@@@@ @@@@@@@ @@@@@@@ @@ @@@@@  @@@@@@@@@@@@@@XXS8S8SSSOOOO&&&O&&&&&&&&******&&&**OXX8OO&OSXXXSX@X@XXX@@XXX@@@@X@@@@@@@@@@@@@@@@@@@@@@@XXSSXS8OO&O&8OO&&OOO&&OO
SSS8888XXXS8888OOOO8S@@@@@ @@@@@@@@ @@@ @@@@@@ @@@ @@@@@ @ @@@@@@@XSSS88SSSOO&&&&&&&&&&&&&*****&&&*&&*OX@SO&&&OS@@X@@X@@XX@@XSX@@XXX@  @@@@@@@ @@ @@@@@@@@@XXSSXS88O&OOOOOOOO&&&&OO
88888SXXXS888OOOO8OOS@@@@@@@@@@@  @@ @@@   @@@ @@@@@@@@ @@@@@@@@@XXSXX888S88O&&&&&&&&&&********&*&&***OX@XSO&&&OS@@ @@@@@X@@XSX@@@X@@@@@@@@@@@@@@@@@@@@@@@@@SSSXS88O&OO&OO&OO&&&O8O
8S88S@XX8O88O88888O8SX@@@@@@@@@@@@@@  @@@@@@@@@ @@  @ @@ @@@@@@@@X@XSS888S8OO&&&&&&&&&&&&&*****&***&*&OXSSXSO&O&OX@@@@@@@@XXXXX@@@@@@@@@@@@ @@ @@@@@@@@@@@ @SSSXXSS8OOO&8O&&OOOOO8O
S88X@XXSO8OOO888OOOO8X@@@@@@@@@@@@  @@@@@@   @@@ @@@@  @ @@@ @@@XX@X8O88SS88O&&&&&&&&&***&&;*****&*&&&8XSSX@XO&&&OS@@@@@@@@@XXX@@@@@@@@@@@@@@@@@@@@@@@ @@@ @X8SXXXS8OOOOOO&&OOOOO8O
SS@@XS888OOOOOOO&OOO8X@@@@@@@@ @@@@@ @@@@  @ @@@   @@ @@@@@@@@@ XXXS8OO8SS8OOO&&&&&&&&***&*********&&O8SXSX@@SO&O&OS@ @@@@@@XXX@@@@@@@@ @@@@@@@ @@@@@@@@@@@ X88XXXS88O88OOO&&OOOO8O
S@@S88O8OOOO8OOOOOO88S@  @@@ @@@ @@@ @@@@@@@@@ @ @@  @@ @ @@@@@@@@XSS8OO8S88OO&&&&*&&&&*&******&&**&O&OSSSS@@@S8O&&OS@@@@@@@XXXX@@@@@@@@@@@@@@@@@@@ @@@@@    SOSXXXS88888OO&&&OOOO8
@@SO88OOOOOO8OOOOO8888X@@@@@@@ @@@@@ @ @ @@ @  @@     @ @@ @@@@@ @XSSO8O88OOO&&**&&&&&&&&&&*&&&&&&OOOO8XXS8X@@@SOO&&OS@@@@@@XX@@@@@@@@@@@@@@@@@@@@@@@@@ @ @@ X8SXX@S888OOOO&&&O&&O8
@OO88OO&&&O&OO&&OO888OS@ @@@@@@@ @@@@@ @@@@@ @ @ @ @   @ @@@@@@@ @XXSOOO88OOO&&**&*&&&&&&*&&&&&&&&&O&O88XSSXX@@@XO&&&&S@@@@@X@@@@@@@@@@@@@@@@@@@@@@@@@@ @  @ @S8SXXXSS8OOOO&&&OOOOO
8O88O&&&&&&&&O&&O88OOOS@ @@@@@@@@@@  @@@@@@@@ @  @@@@@@ @  @@@@@@@XXS8O88OO&&&&&&&*&&&&&&&&**&&&&&&&O888SSSSX@@@@XO&&&OS@@@@@@@ @@@@@ @@@@@ @@@@@@@ @ @@ @@  @X8SXXXXX88OOO&&&O&OOO
888O&&&&O&O&&&&OOOOOO&8@@@@@@@@ @ @    @@@@@@  @ @@ @@@@@ @@@@@@@@XXXSO8OOOO&&&&&&**&&&&*&&&&&&*&&&&8S8O8S88SXXX@@SO&O&OX@@@@@@@@@X@ @@@@@@@@@@@@@@ @  @ @@ @ @8SXXX@X888OO&&&&&&OO
SOO&&O&OOOO&*&&O8&&&OO8@@@  @@@@ @ @@ @ @ @@ @ @ @@ @@@@ @@@ @@@@@XSSSOOOOOO&&&&*&&**&&&**&&&&&&OO&OS8OO88OO8SSXX@ XOOOOSXXSSS8&OO&O@@@@@@@@@@@@@@@ @@@@@  @@ @S8XXXXXSS888O&&OO&&8
8O&&&OOO&&&*&&OO&&&OOO8@@@ @ @ @@@@@@@@@ @ @ @@@@ @ @ @@@@@@@ @@@@@XS8O&OOO&&&&&&&&&&&&&&**&&&&&O&&OOOOOOO8OO8SS@@ X888OOOOO&&**;*;:S@ @@@@@@@@@@@@@@@@@@@@@@ @@8SSXXXS8888O&&O&&&8
O&&&OO&&&&&&&OOO&&OOO8SX@@ @@@@@@@@@@    @@ @@@@   @@ @@@@ @@@@@@XXXX8OOOOOO&&&*&&*&&&&&&&&*&&&&O&O88OO&O88OO88XXSS8OOO&&&&&&*;;;;;*SXXX@@@@@@@@@@@@@@  @@ @@ @@XSSXXXSSS88O&&O&&OO
&&&OOO&&&&&&O8OOOOOO8SXX@@@@@@@@@ @@@ @@@ @@@@@@@@@@@@ @   @@@@@@@@@XX8OOOOO&&&&&&&&&*&&&&&&**&&&O8SO8O&&OOO8888O&&*&&*&*&&&;-:;;*&OS888X@@@@@@@@@ @@@@@@   @@ @XS8SXXXSS888O&&&&OO
&OOOOO&&&&&O8S8888888SXX@@@@@@@@@ @@@ @@  @@@@  @@ @   @ @@@ @@@@@SXX@SOOO&&&&O&&&&**&&&&&&&&&&&&8SOO8&&OO888O&&***&&****;**:,:;*OO8OO8OS@@@@@@@@@@ @@@ @@@@ @@ @XSSXXXSXXS8O&OO&OO
OOOO&&&&&O88SO8OO8OOO8XX@ @@@@@@@ @@@@   @@@@ @@  @@@  @@@@@@ @@@X88SXX8OOO&&&&&&&&*&&&&&&&&&&&OOS8OOOOO888O&&*****&&**;;::**&*&&O8OOOOO8X @ @ @@@@@ @@@@@@@ @@ @@XSSXXXXSS8O&&&&OO
OOOO&&&OO8SSO&&&O88OO8XX@@@@@@ @  @ @ @ @@@@@@@@ @@@@@ @@@@@@@@@@XS88SS888OO&&&&&&&&&&&&&&&&&*&OSSO&O88OOOO&******;*&*;;;;;*&OO&888O&&&O8X@@@@@@@@@@@@  @@@  @@@@@XSSXXXXXXS8&&&OOO
8OOO&OOO&O8O&&O8888OOOSX@@ @@@ @@@@@@@ @ @@@@    @  @@ @@@@ @@@@ X8OOOO88OOO&&&&O&&&*&&&&&&&&&&8X8&OO88O&&&**;*;;;;;****;;*&&O88S8&**&&&8@@ @@@ @@@  @@@  @@ @   @XSSXXXXXXSSO&&&OO
8OOOOOO&O88OO888OOOO&O8XX@ @@@@@@@@@@@@   @@@ @@  @@@@  @@@@@@@@@X88OOOO8OOO&&&&O&*&&&&&&&&&&O8S8O&88O&&&***;:;:;;;;**&**&&&O8SS8888OO88S@   @@@@@ @@@@@   @ @  @ @@X@XSXXXXS8OOOOO
88O&O&&O88O88OO&&&OOOO8X@@ @@@@@@@@ @@  @@@   @@  @@ @@   @@@  @@XSS88OO8OOO&O&&&&&&&&&&&&&&O8SSOOOS8O&*;;;;;:::;;;**&&OOO8SXXSSSSSS88OOOOX@ @ @@@@@@ @  @@@ @@  @@@XXXXXXX@X8OOOOO
OOO&O&O88OOO8&**&OOOO88X@@@@ @      @@@@ @@@@@@ @@@  @  @ @@@@@@@XSSOOOO8OOOO&&&&&&&&&&&&&&&O8S8O8888O&*:;;:::;:;**&&O8SX@@XS8888888&&&&&;O@  @@ @@@  @ @ @@@@@ @  @XXXXXXX@XSOO&&O
OOOOOO88O&O8O&*&&OO8O88S@@ @@@@@@@@  @    @@ @ @@  @@@  @@@@@@@@@@X8&OOOOOOOO&&O&&&&&&&&&&&O&8SO888OO&&;;;:::;;*&&&OS@@  @S8OOOOOOOO&**&*;O@@ @ @@@@@@@@@@   @ @@  @@XXXXXX@@X8O&&O
888OOO8O&&OO&*&&O88O&O8X@@@@    @ @@@@@@@@ @  @@@ @@@@@  @@@@@@@@XXSOOOOOOOOO&&&&&&&&&&&&&&O8SOOS8O&&&****;;**&&&OS@  @@8O&&&OOOO&OO&***;*S@ @@@@@@@@@@ @@@@@@@     @X@@XXX@ @SOOOO
OOO&O88&&OO&**&&O8O&&&OX@ @@@@@@@@ @@@@@@@ @@@ @  @@ @@@@@@@@@@@XXXSO&O&OO&OO&OO&&&&&&&&&&&OS8O88O&&&&&**;*&&&O8S@  XSO&&&***&&O&&OO&&**&&X @@@ @@ @@ @@@ @  @@@ @   @XXXXXX@@X8OOO
8OOO8SOOOO&**&OOO8&&&&OS@  @@@@@@@@@ @ @ @   @@ @@@@ @ @@ @ @@@@@XSSSOOOOOOOOO&&&&&&&&&&&&&8S88SO&&*******&OO8SX@@SO&********&&&&&&&OOO&&O@    @  @ @@ @  @    @@      @XXXX@@@S88O
O8O8S8OOO&*&OOO&OO&&&*&8@@ @@@  @@ @@@@@@@   @ @ @@@@ @@@ @@@@@@@S88S8OOOOOOOO&&&&O&&&&&&&OX888OO&&***;**&&8X@@S8O&*********&&*&&&&&OOOO8X @@@@X@  @@  @@ @ @@@@@@ @@@ @XXXXX@@X8OO
8888S8OO&*&&OO&&&O&&&*&8@@   @ @@  @ @  @@@ @  @ @  @@@@@@@@@@@@@SO88S8OOO&OOO&&&&&&&&&&&&OS88OO&&;*;;***&8XXSO&&***;;**;**;***&&&&&OO88X S88SO&O@ @  @@@ @ @    @  @@ @XXXX@@ @S8O
88888OO&&&&O&&&&&&&&&&&8@   @ @ @@ @ @@ @ @@@@@@@@@@@ @@@@@@@@@@@SOOO88OOO&OOO&&O&&&O&&&&OS888O&&***;;;*&O8S8O&&***;;;;*;*;;***&&&&O8888SSOOO&&**X  @ @@@@@ @@ @ @ @@@  @@XX@@@@@S8
88SS8OOO&&&&&&&&O&&&&&O8@@@@@@ @   @ @@@ @@ @@@@  @@@  @@@@@@@@@@X8&&O8O8O&&OOOO&&&OO&&&&8X888O&****;**&O888OO&&***;**;;;;;*;**&OO8SS88888O&&****X   @ @@   @@@ @ @ @     @X@@@ @@S
8SS8O&&O&&&&&&*&OO&&&O8X@  @@@@@@  @@@   @@  @@ @  @@@@@@@@@@@@@@S8O&OOO8&&&OOOO&&OOO&&&O8S88O&&***;;**&O88O&&*****;;;;;;;;***O8SSX @S8OOOO****&8@   @  @ @@ @ @   @@   @ @@@@@@ @X
SSS8O&OO&&&&&&&&OO&*&&OS@  @@@@@  @@ @   @ @@   @@ @  @@@@ @ @ @X88O&OOOO&&OOOOOO&OO&&&&8SSSO&&&**;***&O8O&&***&***;;:;:;***&8SSSX@@XOO&&&&&**&&S    @@@@ @@ @  @   @@@    @@@X@  @
8SS8OOOO&*&&&&&&OO&&&&OS@   @@@ @@ @@@@ @@@ @ @ @  @@@ @@@@ @@@@XSS8OOOOO&&OOOO&OOO&&&&OSXSO&&**;****&OOOO&&*&****;;;;;;**&O8SS8X@XO&&&*&&&&&OOOX    @  @  @  @ @@ @@  @   @@@@@@ @
888OO8O&&&&&&&&&O&O&&&&8@ @@@ @      @@@ @   @@ @  @@@   @@@@@@@@XS8O&OO&OOOO&&OOOO&OOO8SS8&&&****;&&O8O&&&&&*;;;;;;;;;*&&OSSO8XXS&&&**&&&&&OOO8@     @@@ @@        @    @   @@@@@ 
888OOOOOOOO&&&&&OOO&*&&O@  @  @    @@@@   @@@@@@@  @ @  @@ @@@@@@XSOOOO&&&&OOO&OO&OOO&O888O&*&*****&OOO&&&&&&*;;**;;;;&OOSS88SSSO&***&&&&&&&OO8@    @ @  @     @  @ @    @   @@XXX@
SS8OOO&OO&&OO&&*&OO&&&&8@ @@@@@@      @  @  @@  @@ @  @@@@@@@ @@@XS8OOOO&&&&OOOOOOO&OOO8SO&&&*****&O8O&&&&&&&****;;;*&8X@X88S8O&**;;*&&&&&&OS88S@ @  @@ @   @@@     @ @@ @    @XXXX
S88OOO&OO&&O&&&OOO&&&&&X@  @@@@@@@@  @@@ @@ @@       @@@@@@@@@@@XXSOOOO&&&&&&O&&OOO&OOOSO&&&&**;**&OOO&&&&*&&&&**;;&8SX@@XS8O&*;;******&&&OOSO&OS@  @  @ @   @@ @ @     @@     @XSX