public boolean exist(char[][] board, String word) {

		if (word == null || word.length() == 0)
			return true;
		int k = word.length();
		int n = board.length;
		if (n == 0)
			return false;
		int m = board[0].length;
		if (m == 0)
			return false;

		boolean result = false;
		Outter: for (int i = 0; i < n; i++) {
			for (int j = 0; j < m; j++) {
				if (word.charAt(0) == board[i][j]) {
					char[][] testBoard = board.clone();
					boolean currentresult = search(testBoard, word, i, j, 0, k,
							n, m);
					result |= currentresult;
					if (result == true) {
						break Outter;
					}
				}
			}
		}
		return result;

	}