private boolean search(int x,int y,String word, int index,char[][] board, boolean[][] map)
	{
		if (board[x][y] != word.charAt(index)) return false;
		map[x][y] = true;
		if (index + 1  ==  word.length()) return true;
		for (int i =0; i < 4;i++)
		{
			int x1 = x + fx[i];
			int y1 = y + fy[i];
			if (0 <= x1 && x1 < board.length && 0 <= y1 && y1 < board[0].length  && map[x1][y1] == false)
			{
				if (search(x1,y1,word,index+1,board,map)) return true;
			}
		}
		map[x][y] = false;
		return false;
	}