*!!~.!!.!*.....!!....~.~..~!.!....~...***..~!!.*.!!.....**....~*!..~~.**.....*!..~..!..*!.*.
!!...~...##..!*.....#######*....~..########....~..####~...!...########*....*...##....##.....
~....*...##.*.....~##.....##~.~*...##...*~....!!....##!...!~...##.....##..*.....##..##.~.*..
..~*..*~.##.!.~....##..!..*!..!.!..##~..~..*.~!....##....*!...##.....##....!!.....####!!..!.
..*...*...##~*...*.########.~.....!#######!...~!...##...~.....########!!..*.....!.##..~.....
...##....##....*...##.....##.!..~.....~..##.!.!....##.!~~.....##..~.!.....!~.*....##!...!...
...##....##~..*....##.....##..!....##....##.*.**...##!*.....*.##...~.~.....~.~.!..##.!.!*~..
....######*!..~.....#######~!....*..######.!.*.*..####.~.~!...##~.~.....*~!..*....##...~!~..
*!.!.....!.~~.~..!...*..*..~!.!....!....~~*...~....*.*.~.~..!....!~...!...~*!...!~~..~.!!...