...........................................................................................
........................................XXXX....................X.XXXX.....................
........................................XXX.....................XXXXXX.....................
..........................................X.........................XX.....................
...........................................X...............................................
..........................................X.........................XX.....................
.XXXXXXX..X.X........XX.X............XXX.......XXX.....XXXX..........X............X.X......
....X.X.XX..X......XX..X.XX.......X..XXXXX.....XXXXX...X.XX.........XX..........XXXXX.X.X..
..XXX..XXX...XX.....X......XX....XXX....XXX......X........X....................XXX.....XXX.
...XX..XXX...XX...X.......X.X....XX......XXX......X......XX.........XX........XXX.......XX.
..X....XXX..XXX..XX........XX...XX........X......XXX......X.........XX..........XXXX.XX...X
..XXX..XX.....X..XX.........XX...X........XX.....X........X.........XX.........XXXX.X.X.XXX
..XX...XXX..XXX...XX........XX..X........XXX.....XX......X..........X.........XX...........
..XXX..XX....XX...XX.......X.....XX......XXX..............X..........X........XXX..........
..XX...XXX........XXX.....XX.....XXX.....XXX.....XX....XXX..........XX..........X.......XX.
..XXXX...XX..X.X...XXXXX.X........XXXX.XX.XXX.....XXX..XX.XXX..XX..XX.X.XXX.....XXX.X.XXXXX
.XXXXX.XXXX..XXXX.....XXX...........XX.X.XX..X.....X.XX..XX.X..XX.XXX.XX.XX.......XXXX.X...
module