void fill(char[][] board, int x, int y) {
		if (board[x][y] == 'X') {
			return;
		}
		Queue<int[]> Q = new LinkedList<>();
		int[] pair = { x, y };
		Q.offer(pair);
		while (!Q.isEmpty()) {
			int[] p = Q.poll();
			if (board[p[0]][p[1]] == 'O') {
				board[p[0]][p[1]] = 'D';
				if (p[0] - 1 >= 0) {
					int[] top = { p[0] - 1, p[1] };
					Q.offer(top);
				}
				if (p[1] + 1 < board[0].length) {
					int[] right = { p[0], p[1] + 1 };
					Q.offer(right);
				}
				if (p[0] + 1 < board.length) {
					int[] bottom = { p[0] + 1, p[1] };
					Q.offer(bottom);
				}
				if (p[1] - 1 >= 0) {
					int[] left = { p[0], p[1] - 1 };
					Q.offer(left);
				}
			}
		}
	}