public void dfs(char[][] board, int i, int j, String word, int index){
	    if(board[i][j] == '~') return;
	    if(index == word.length()-1 && word.charAt(index) == board[i][j]){
	        System.out.println(word);
	        return;
	    }
	    if(index == word.length()-1 && word.charAt(index) != board[i][j])
	        return;
	    
	    char tmp = board[i][j];
	    board[i][j] = '~';
	    if(i > 0) dfs(board, i-1, j, word, index+1);
	    if(j > 0) dfs(board, i, j-1, word, index+1);
	    if(i < board.length-1) dfs(board, i+1, j, word, index+1);
	    if(j < board[0].length-1) dfs(board, i, j+1, word, index+1);
	    board[i][j] = tmp;
	    return;   
	}