public long minPathProduct (int[][] cows) {
        // write code here
        int m=cows.length;
        int n=cows[0].length;
        long[][] dp=new long[m+1][n+1];
        dp[0][0]=1;
        dp[0][1]=1;
        dp[1][0]=1;
        for(int i=1;i<=m;i++){
            for(int j=1;j<=n;j++){
                if(i==1) dp[i][j]=dp[i][j-1]*cows[i-1][j-1];
                else if(j==1) dp[i][j]=dp[i-1][j]*cows[i-1][j-1];
                else{
                    dp[i][j]=Math.min(dp[i-1][j],dp[i][j-1])*cows[i-1][j-1];
                }  
            }    
        }
        return dp[m][n];
         
    }