Solution { public int countBattleships(char[][] board) { int count = 0; rows = board.length; columns = board[0].length; for (int row = 0; row < rows; row++) { for (int column = 0; column < columns; column++) { char symbol = board[row][column]; if (symbol == X && !(!(row < 0 || row >= rows || column - 1 < 0 || column - 1 >= columns) && board[row][column - 1] == X || !(row - 1 < 0 || row - 1 >= rows || column < 0 || column >= columns) && board[row - 1][column] == X)) { count++; } } } return count; }  int countBattleships(char[][] board); static final char X; }
@Test public void emptyBoardHasNoShip() throws Exception { char[][] board = new char[][]{{}}; int count = new Solution().countBattleships(board); assertThat(count, is(0)); }
@Test public void oneDotIsNoShip() throws Exception { char[][] board = new char[][]{ {'.'} }; int count = new Solution().countBattleships(board); assertThat(count, is(0)); }
@Test public void oneXIsOneShip() throws Exception { char[][] board = new char[][]{ {'X'} }; int count = new Solution().countBattleships(board); assertThat(count, is(1)); }
@Test public void cornerShips() throws Exception { char[][] board = new char[][]{ {'X', '.'}, {'.', 'X'} }; int count = new Solution().countBattleships(board); assertThat(count, is(2)); }
@Test public void twoRowShips() throws Exception { char[][] board = new char[][]{ {'X', 'X', '.'}, {'.', '.', '.'}, {'.', 'X', 'X'} }; int count = new Solution().countBattleships(board); assertThat(count, is(2)); }
@Test public void twoColumnShips() throws Exception { char[][] board = new char[][]{ {'X', '.', '.'}, {'X', '.', 'X'}, {'.', '.', 'X'} }; int count = new Solution().countBattleships(board); assertThat(count, is(2)); }
@Test public void smallBoard() throws Exception { char[][] board = new char[][]{ {'X', '.', 'X', 'X'}, {'X', '.', '.', '.'}, {'X', '.', '.', 'X'}, {'X', '.', '.', 'X'}, {'X', '.', '.', '.'}, {'.', 'X', 'X', 'X'} }; int count = new Solution().countBattleships(board); assertThat(count, is(4)); }
@Test public void bigBoard() throws Exception { char[][] board = { {'X', 'X', 'X', '.', 'X', '.', 'X', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X'}, {'.', '.', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.'}, {'.', 'X', 'X', '.', '.', 'X', '.', '.', 'X', 'X', 'X', 'X', '.', 'X', '.'}, {'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', 'X'}, {'.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '.', 'X', 'X', '.', 'X', '.', 'X'}, {'X', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', 'X', '.', 'X'}, {'X', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', 'X', '.', 'X', '.', 'X'}, {'.', 'X', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.'}, {'X', '.', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X'}, {'.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.'}, {'.', 'X', '.', 'X', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.'}, {'X', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', 'X'}, {'.', 'X', 'X', 'X', '.', 'X', 'X', 'X', '.', '.', 'X', '.', 'X', '.', 'X'}, {'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.'}, {'.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '.', '.', '.', 'X', 'X'} }; int count = new Solution().countBattleships(board); assertThat(count, is(40)); }
@Test public void bigBoard2() throws Exception { char[][] board = { {'X', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X'}, {'.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X'}, {'.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.'}, {'.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.'}, {'.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.'}, {'.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.'}, {'.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', 'X', 'X', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X'}, {'.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X'}, {'.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', 'X', 'X', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X'}, {'.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X'}, {'.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', 'X', 'X', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X'}, {'.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X'}, {'.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', 'X', 'X', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X'}, {'.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X'}, {'.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X'}, {'.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', 'X', 'X', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X'} }; int count = new Solution().countBattleships(board); assertThat(count, is(10)); }
@Test public void bigBoard3() throws Exception { char[][] board = { {'.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.'}, {'.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.'}, {'X', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '.', 'X', '.', '.', '.', '.', 'X', '.', '.', '.', '.'}, {'X', '.', '.', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', 'X', 'X', 'X', 'X', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', '.'}, {'X', '.', '.', '.', 'X', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', 'X'}, {'X', '.', '.', '.', 'X', '.', 'X', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', '.', 'X', '.', 'X', 'X', 'X', '.', '.', '.', '.', '.', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', '.'}, {'X', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', 'X', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', 'X'}, {'X', '.', '.', 'X', '.', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', 'X'}, {'X', '.', '.', '.', 'X', '.', 'X', '.', '.', 'X', '.', 'X', '.', '.', 'X', '.', 'X', 'X', 'X', 'X', 'X', 'X', '.', 'X', '.', 'X', 'X', 'X', 'X', 'X', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '.', 'X', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', 'X'}, {'.', '.', '.', '.', 'X', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', 'X'}, {'X', '.', '.', '.', 'X', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', 'X', 'X', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', 'X'}, {'X', '.', '.', '.', 'X', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', 'X'}, {'X', '.', '.', '.', 'X', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', 'X', 'X', 'X', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', 'X'}, {'X', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', 'X'}, {'X', '.', '.', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '.', '.', '.', '.', 'X', 'X', 'X', 'X', 'X', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '.', '.', 'X', '.', 'X', '.'}, {'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', '.', 'X'}, {'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', 'X', 'X', '.', 'X', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', 'X', '.', 'X', '.', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '.', 'X', '.', 'X', '.', '.', 'X'}, {'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', '.', 'X'}, {'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', 'X', '.', 'X', '.', '.', 'X', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', 'X'}, {'X', '.', 'X', 'X', 'X', 'X', '.', 'X', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', '.', 'X'}, {'X', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', 'X', '.', '.', '.', 'X', 'X', 'X', 'X', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.'}, {'X', '.', 'X', '.', '.', 'X', '.', 'X', '.', '.', '.', 'X', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X'}, {'X', '.', 'X', '.', '.', 'X', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', 'X', '.', 'X', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', 'X', '.', '.', 'X', 'X', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.'}, {'X', '.', 'X', '.', '.', 'X', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', 'X'}, {'X', '.', 'X', '.', '.', 'X', '.', 'X', '.', '.', '.', 'X', '.', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', 'X', '.', 'X', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.'}, {'X', '.', 'X', '.', '.', 'X', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.'}, {'X', '.', 'X', '.', '.', 'X', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', 'X', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', '.', 'X', '.', '.', '.', 'X', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X'}, {'X', '.', 'X', '.', '.', 'X', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '.', 'X', 'X', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.'}, {'X', '.', 'X', '.', '.', 'X', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', '.', 'X', 'X', 'X', '.', 'X', '.'}, {'X', '.', 'X', '.', '.', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', 'X', '.', 'X', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.'}, {'X', '.', 'X', '.', '.', 'X', 'X', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', 'X', 'X', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', 'X', '.', 'X', 'X', 'X', 'X', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', 'X', 'X', 'X', 'X', '.', 'X', 'X', 'X', 'X', '.', 'X', 'X', 'X', 'X', '.', '.', '.', 'X', '.'}, {'X', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', 'X', '.', '.', 'X', '.', 'X', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', 'X', 'X', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', 'X', 'X', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.'}, {'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X'}, {'X', '.', 'X', '.', '.', '.', '.', 'X', 'X', 'X', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.'}, {'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', 'X', 'X', '.', 'X', '.', '.', '.', '.', '.', 'X', '.'}, {'X', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', 'X', 'X', '.', 'X', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.'}, {'X', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X'}, {'.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.'}, {'.', '.', '.', 'X', '.', '.', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', 'X', '.', 'X', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X'}, {'.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', 'X', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.'}, {'X', 'X', '.', 'X', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '.', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', 'X', '.', '.', '.', '.', '.', '.', '.', 'X', '.'}, {'.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', 'X', 'X', 'X', 'X', '.', 'X', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '.', 'X', '.', '.', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', 'X', 'X', '.', 'X', '.'}, {'.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', 'X', 'X', 'X', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.'}, {'.', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', 'X', 'X', 'X', 'X', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '.', 'X', '.', '.', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.'}, {'X', '.', '.', 'X', '.', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', 'X', '.'}, {'X', '.', '.', 'X', '.', '.', 'X', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', 'X', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', '.', 'X', 'X', '.', '.', '.', 'X', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', 'X', '.'}, {'X', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', 'X', 'X', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', 'X', 'X', '.', '.', 'X', '.', 'X', '.', '.', 'X', '.', 'X', 'X', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', '.', 'X', '.', 'X', '.'}, {'X', '.', '.', 'X', '.', '.', 'X', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', 'X', '.', 'X', '.'}, {'X', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', 'X', '.', 'X', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', 'X', '.', 'X', '.', '.', '.', '.', 'X', '.', '.', '.', '.', 'X', '.', '.', '.', '.', 'X', '.'}, {'X', '.', '.', 'X', '.', '.', 'X', '.', 'X', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', 'X', 'X', 'X', 'X', 'X', '.', 'X', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', '.', 'X', 'X', 'X', '.', 'X', '.'}, {'X', '.', '.', 'X', '.', '.', 'X', '.', 'X', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', '.', 'X', 'X', '.', 'X', '.', 'X', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.'}, {'X', '.', '.', 'X', '.', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', 'X', 'X', 'X', 'X', '.', 'X', '.', '.', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', 'X', 'X', 'X', '.', 'X', '.', 'X', '.', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X'}, {'X', '.', '.', 'X', '.', '.', 'X', 'X', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', '.', '.', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.'}, {'X', '.', '.', 'X', '.', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', 'X', 'X', '.', 'X', '.', '.', '.'}, {'.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.'}, {'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '.', 'X', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X'}, {'.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', '.', 'X', '.', 'X', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.'}, {'.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.'}, {'.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', 'X', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', 'X', 'X', '.', 'X', '.', '.', '.', '.', 'X', 'X', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X'}, {'.', '.', 'X', '.', '.', '.', 'X', 'X', 'X', '.', 'X', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.'}, {'.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', 'X', '.', 'X', 'X', 'X', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', 'X', '.', 'X', '.', '.', 'X', 'X', 'X', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.'}, {'.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', '.', '.', '.', 'X', '.', 'X', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.'}, {'X', '.', 'X', '.', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', 'X', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', 'X', '.', '.', 'X', 'X', '.', 'X', '.', 'X', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.'}, {'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', 'X', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X'}, {'X', '.', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', 'X', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.'}, {'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', 'X', '.', 'X', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', 'X', '.', 'X', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.'}, {'X', '.', '.', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', 'X', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', 'X', '.', 'X', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', 'X', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.'}, {'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', 'X', '.', 'X', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', 'X', '.', 'X', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.'}, {'X', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', 'X', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', 'X', 'X', 'X', 'X'}, {'X', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', 'X', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', 'X', 'X', '.', '.', '.', 'X', '.', 'X', '.', '.', '.', '.', '.'}, {'X', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', 'X', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', 'X', '.', '.', '.', 'X', '.', 'X', '.', 'X', 'X', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', 'X', 'X', 'X', 'X', 'X'}, {'X', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', 'X', '.', 'X', '.', '.', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.'}, {'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', 'X', 'X', '.', 'X', '.', 'X', '.', '.', '.', 'X', '.', 'X', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', '.', 'X', 'X', '.', 'X', '.', 'X', 'X', '.', '.', '.', 'X'}, {'X', '.', '.', '.', '.', 'X', 'X', 'X', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', 'X', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', '.'}, {'X', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', 'X', 'X', 'X', 'X', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', '.', 'X', 'X', '.', 'X', '.', '.', '.', 'X', '.', '.', '.'}, {'X', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', '.'}, {'X', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', 'X', '.', 'X', '.', 'X', 'X', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', 'X', 'X', '.', 'X', '.', '.', '.', '.', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', '.'}, {'X', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', '.'}, {'X', '.', '.', 'X', '.', '.', 'X', '.', 'X', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', '.', '.'}, {'X', '.', '.', 'X', '.', '.', 'X', '.', 'X', '.', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', 'X', '.', '.', '.', 'X', '.', '.', '.', '.', '.', '.', 'X', '.', '.', 'X', '.', '.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', 'X', '.', 'X', '.', '.', '.', '.', '.', 'X', '.', 'X', '.', '.', 'X', '.', '.', '.', 'X', '.', 'X', '.', '.', '.'} }; int count = new Solution().countBattleships(board); assertThat(count, is(331)); }