private int uniquePathsDP(int m, int n)
    {
        if(m*n == 0)
            return 0;
        if(m == 1 || n== 1)
            return 1;
        int[] values = new int[m];
        for(int i=0;i<m;i++)
            values[i] = 1;
        for(int i=n-2;i>=0;i--)
            for(int j=m-2;j>=0;j--)
            {
                values[j] = values[j+1] + values[j];
            }
        
        return values[0];
    }