..........................................................................................,-~~'''''''~~--,,_
....................................................................................,-~''-,:::::::::::::::::::''-,
...............................................................................,~''::::::::',::::::::::::::::::::|',
...............................................................................|::::::,-~'''___''''~~--~''':}
...............................................................................'|:::::|: : : : : : : : : : : : : :
...............................................................................|:::::|: : :-~~---: : : -----: |
..............................................................................(_''~-': : : :::o : : :o: : :
...............................................................................'''~-,|: : : : : : ~---': : : :,'--NEVER GONNA GIVE YOU UP
...................................................................................|,: : : : : :-~~--: : ::/ --NEVER GONNA LET YOU DOWN!
..............................................................................,-''':: :'~,,_: : : : : _,-'
........................................................................__,-';;;;;:''-,: : : :'~---~''/|
...............................................................__,-~'';;;;;;/;;;;;;;: :: : :____/: :',__
...................................................,-~~~''''_;;;;;;;;;;;;;;;;;;;;;;;;;',. .''-,:|:::::::|. . |;;;;''-,__
................................................../;;;;;;;;;;;;;;;;;;;;;;;;;;;;,;;;;;;;;;. . .''|::::::::|. .,';;;;;;;;;;''-,
................................................,';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;. . .:::::,'. ./|;;;;;;;;;;;;;|
.............................................,-'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;',: : |__|. . .|;;;;;;;;;,';;|
...........................................,-";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;',;;;;;;;;;;;. . |:::|. . .'',;;;;;;;;|;;/
........................................../;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;;;;;;;;;;;;;;;. . |::|. . . |;;;;;;;;|/
......................................../;;,-';;;;;;;;;;;;;;;;;;;;;;,';;;;;;;;;;;;;;;;;,;;;;;;;;;; |..|. . . .|;;;;;;;;|
......................................./;;;;;;;;;;;;;;;;;;;;;;;;;;,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'', |.;|. . . . ;;;;;;;|
....................................,~'';;;;;;;;;;;;;;;;;;;;;,-'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|. |.;|. . . . .|;;;;;;;|
................................,~'';;;;;;;;;;;;;;;;;;;;;;,-';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;',;;;;;;| |:|. . . . |;;;;;;;|
...............................,';;;;;;;;;;;;;;;;;;;;;;;;/;;;,-';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,;;;;;| |:|. . . .'|;;',;;;;;|
..............................|;,-';;;;;;;;;;;;;;;;;;;,-';;;,-';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,;;;;| |:|. . .,';;;;;',;;;;|_
............................../;;;;;;;;;;;;;;;;;,-'_;;;;;;,';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|.|:|. . .|;;;;;;;|;;;;|''''~-,
............................/;;;;;;;;;;;;;;;;;;/_'',;;;,';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,;;| |:|. . ./;;;;;;;;|;;;|;;;;;;|-,,__
........................../;;;;;;;;;;;;;;;;;,-'...|;;,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;| |:|._,-';;;;;;;;;|;;;;|;;;;;;;;;;;'''-,_
......................../;;;;;;;;;;;;;;;;,-'....,';;,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|.|:|::::'''~--~'''||;;;;;|;;;;;;;;;;,-~''''~--,
......................,';;;;;;;;;;;;;;;;,'....../;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|.|:|::::::::::::::|;;;;;',;;;;;;;;;''-,: : : : : :'''~-,:'''~~--,
...................../;;;;;;;;;;;;;;;,-'......,';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|:|:|::::::::::::::',;;;;;;|_''''~--,,-~---,,___,-~~'''__''~-
..................,-';;;;;;;;;;;;;;;,'......../;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|:|:|:::::::::::::::|;;;;;;|.....................''-,_''-,''-,''~
................../;;;;;;;;;;;;;;;;/.......,-';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|:|:|:::::::::::::::|;;;;;|.............................._'