................................................................````````````````````..................................................................
.............................................................```````````````````````````..............................................................
...........................................................```````````````````````````````............................................................
..........................................................`````````````````````````````````...........................................................
......................................................`````````````````````````````````````````.......................................................
..................*+*...............#+,.....,,.....```.*:``.+::```````,z,`````````````````````````.....`+.....:....,,,,:;........*;i..................
..................+:#:;i,i*,i*i,ii..#,.ii,*;++,i;`.ii.:z,ii.#:::*,ii``;*i.**`**,:*;`.**.*,;,*i:;i,**..;*#:*;.,z;*:;++*+:;.i*;.**,*;i..................
..................+*+;i*;#:*+,#i++..zi;#+:+;i:+*+`i++..+:#+,#;;#`i++.`+*+,**,#;i+.#..+i:+:*+,+,++;ii;.#.#:*#..#.#:ii;;;;i.*;#:*i;#::..................
..................++*:##:*+:+,#,+i..#..+*,**;+;+;`,+i`.+.+*.#;;i*:+i`.+.#:**,#:i;**`.+i:*+*;**`*;,++,.**#i*#..+;++i;+:#;i.*:+,++,#;;..................
................................................```````````````````````````````````````````````````````...............................................
..............................................````````````````````````````````````````````````````````................................................
..............................................``````````````````````````````````````````````````````````..............................................
.............................................```````````````````````````````````````````````````````````..............................................
............................................`````````````````````````````````````````````````````````````.............................................
...........................................```````````````````````````````````````````````````````````````............................................
..........................................````````````````````````````````:;:``````````````````````````````...........................................
..........................................```````````````````````````````;i`;;``````````````````````````````..........................................
.........................................````````````````````````````````+,`.+``````````````````````````````..........................................
........................................`````````````````````````````````ii,i;```````````````````````````````.........................................
.......................................``````````````````````````````.,::;*i*;::,.```````````````````````````.........................................
.......................................`````````````````````````````.+i;;;ii**+#zn````````````````````````````........................................
.......................................``````````````````````````````+:,.,;i+#nxxx````````````````````````````........................................
.................................`....```````````````````````````````+;``.:i*#nnxx````````````````````````````........................................
..................................`..````````````````````````````````#+*i;*+#nxMMM`````````````````````````````.......................................
...................................`.``````````````````````````````.+n+;:;i*#zxxMWn:````````````````````````````......................................
...................................```````````````````````````````;nnMMMMMMMWWWW@WWWz.``````````````````````````......................................
....................................`````````````````````````````+z##zxMW@@@@WWWWWWWWx: `````````````````````````.....................................
....................................````````````````````````````+#+*+#nxWWWWWWWWWMMMWWM:````````````````````````......................................
...................................````````````````````````````*+*ii*#zxMWWMMMMMMxxMMMMM,```````````````````````````````..............................
.................................`````````````````````````````i+iiii*#znxxxxxnnnnnnnnxxMx` `````````````````````..................,,,,,,,,,,,.........
....................................`````````````````````````,+ii;:;*#zznnnzzzzzz####znxM#````````````````.........,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,...
...................................``````````````````````````**i;::;*#zzzzzz##++++++++znMM,````````````............,,,,,,,,,,,,,,,,:::::::,,,,,,,,,:,,
...................................````````````````````  `  ,#iii;:;*zzzzzz#+++++***ii*zxMz````````````............,,,,,,,,,,,,,,,,:::::::::::::::,,,,
..................................``````````````            *#***ii*#zzzzzz#+++++**i::izxMW.```````````............,,,,,,,,,,,,,,,,:::::::::::::::::::
.................................```````````````           `##**++++#nnnnzzz####+++*;:izxWWi     ```````...........,,,,,,,,,,,,,,,,,::::::::::::::::::
,,,,...............................````````````            ,zz#+++##znxnnnnzzzzzz##+**#nMWWz    ```````..````.......,,,,,,,,,,,,,,,,::::::::::::::::::
,,::,,,,,,........................``````````               ;znn#####zxMxxnnnxxxxnnzz##zxMWWx     `````````..........,,,,,,,,,,,,,,,,::::::::::::::::::
:::,,,,,,,:,,,,,,......................`````````           *nnxxzzzzzMMMMxMMMMMMxnnzzznxMWWW`   `````````.............,,,,,,,,,,,,,:::::::::::::::::::
,,,::,,,,,:,,,,,,,,,,,....,,,,........``````````           +nxxxMnznnxWWWWWWWWWMxxnzzznnMWWW`     ```````````.............,,,,,,,,,:::::::::::::::::::
:,:,,,,:,,,,,,,,,,,,,,,,,,..........````````````` ``  ```  +xxMMMWMxnxMWW@@@@WWMxnzzzzznMWWW`   `````````````````.....,,,,,,,,,,,,,,::::::::::::::::::
,,,,,::,:,,,,,,,,,,,,,,,,,,,,.....```````````````````````  +xMMWWWWWMxxMW@@@WWWMxnz##zznMWWW`    `````     ```````````` ``....,,,,,,,,,,,:::::::::::::
,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,.......```````````````````   *MMMWWWWWWWWMxxMMMMMxnzz##zznMWWM                       ``..,,,,.......,,,,::::::::::::::::
,,,:,,,:,,,,,,,,,,,,,,,,,,,,...............````````````    ;WMMWWWWMMMMMMMxxnnnzz####znnMWWz                         ``...,,,,,,,,.....,,,::::::::::::
:::,,,,:::,,,,,,,,,,,,,,,..................````````        .WMMMWWMMMMxxxxMxxnzz##+##zzxMWWi                       ``.........,,,,,,,,.....,,,::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........```````               nWMMMMMMMxxxxxxxxnnz#++##znxMWW.                     ``..............,,,:::,,,.....,,:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........```                   ;WWMMMMMMxxxxxxnnnzzz###zznxMWz               ``  ````..................,,:::::,,.....,,::
,,,,,,,:,,,:,,,,,,,,,,,............````````                 `xWWMMMMMxxxxxnnnzzzzz#zznxMMW:```````````````````````....................,,::::::,,.....,
:::,,,,,,,,,,,,,,,,,,,,...........````````````               ;WWWMMMMxxxxxnnnzzzzz#znxxMMz               `````````.......................,,:::::,,....
,,,,,,,,,,,,,,,,,...................``````````````            zWMMxMMMxxxxnnnzzzzzznxxMMM.            ````````````.........................,,::::::,,.
,,,,,,,,,..........................```````````````````````````.xWMxMMMxxxxnnnnnnnznxxMMM:`````````````````````````...........................,,::::::,
...................................``````````````````````````..:MWMMMMMMxxxxxnnnnxMMMMW;``````````````````````````.............................,,:::::
....................................```````````````````````..,:;*MWWWWMMMMMMxxxMMMMWWMi..````````````````````````................................,::::
....................................``````````````````````..:;i*+#M@@WWWWWWMMMWWWWWWM*;::,...````````````````````..................................,::
.....................................`````````````````````.,:i*#znxM@@@@@WWWWWWWW@Wxz#+*i;::,..`````````````````....................................,,
.....................................````````````````````..,:;*+znxMWW@@@@@@@@@@@WMxnz##+*i;:,..````````````````......................................
.....................................````````````````````..,::;i*#znxMWWW@@@@@@WWWMxz##+*i;:,,..````````````````......................................
......................................`````````````````````..,,:;i*+#znxxxMMMMMxxnz#+*i;::,...`````````````````.......................................
......................................````````````````````````..,::;i*++#######++**i;:,,...````````````````````.......................................
.......................................`````````````````````````..,,::;;;;iii;;;;::,,...``````````````````````........................................
........................................``````````````````````````....,,,,,,,,,,,....````````````````````````.........................................
........................................``````````````````````````````...........````````````````````````````.........................................
.........................................````````````````````````````````````````````````````````````````````.........................................
........................................`.``````````````````````````````````````````.``````````````````````...........................................
........................................,:````````````````````````````````````````.+z#:```````````````````............................................
......................................#zz*.```````````````````````````````````````,zzz*```````````````````............................................
.....................................;zzz:.``...``````...````````..```````...``````,;;.``..```````````................................................
....................................izzzz+,i#z+*#:`.i#z##+.`+zz#+zz#,``.i#z###;``.zzz*`;#zz#+zzz,.#####zz*:#zz+,......................................
....................................,zzzi,zzz+..z#,zzz*:zzi,zzzziznz+`:zzz+.:nzi`;zzn:*nzz;,znz#`izzz+*zzz#izzzi......................................
....................................*zzz,*zzz:;#zi+nzz.,#z:izzz::nzzi.zzzz.:zzzz.#zz#;znz*`:nzzi.#zz#.*zzz:;zzzi.,....................................
....................................znz+.#zzz#+*,,zzz#```.,zzz+`+zzz,izzz+`izzzzizzzi*zzz.`#zzz.iznn;.zzz#.+zzz,*+....................................
...................................,zzz###zzz,..:#+zzz,``:zzzz:`#zzz*zzzz*`,zzzzzzzz.:zn#`inzzz+zznz.;nzn;.zzzz+z:....................................
....................................*zzz*.:#zz###;.;#zz##+#zz#``izzz+,:#z#;#z#i*zzz+``izz#+;zzz#zzzi.#zzz..izzz+,.....................................
.....................................,,......,,...``..,,.`....```.,.```.:i*+i.`;nzn:```...``.,...............,,.......................................
....................................................``````````````````````inz;`#zz#```````````````....................................................
......................................................````````````````````;zz:*zz#,`````````````......................................................
.........................................................``````````````````;#zz+;.``````````..........................................................
...........................................................`````````````````.,.````````````...........................................................
.............................................................``````````````````````````...............................................................
..................................................................```````````````````.................................................................
......................................................................................................................................................
......................................................................................................................................................
......................................................................................................................................................
......................................................................................................................................................
......................................................................................................................................................