class Main {
public static void main(String[] args) {
int[][] arr = {{0,0,0,0},{0,1,0,0},{0,0,1,1},{0,0,0,0}};
printUnique(arr);
}
public static void printUnique(int[][] obstacleGrid) {
int row = obstacleGrid.length;
int col = obstacleGrid[0].length;
DFS(obstacleGrid,row,col,0,0,"(0,0)=>");
}
private static void DFS(int[][] mat,int row,int col,int i,int j,String s){
if (i < 0 || j < 0 || i>=row || j>=col || mat[i][j] == 1) return;
if (i == row - 1 && j == col - 1){
System.out.println(s.substring(0,s.length()-2));
return;
}
DFS(mat,row,col,i+1,j,s+"("+(i+1)+","+j+")=>");
DFS(mat,row,col,i,j+1,s+"("+i+","+(j+1)+")=>");
}
}