class Solution {
public:
int vis[101][101];
int uniquePaths(int m, int n) {
if (m == 1 && n == 1)
return 1;
if (m == 0 || n == 0)
return 0;
if (vis[m][n])
return vis[m][n];
if (m == 1)
return uniquePaths(m, n - 1);
if (n == 1)
return uniquePaths(m - 1, n);
vis[m - 1][n] = uniquePaths(m - 1, n);
vis[m][n - 1] = uniquePaths(m, n - 1);
return vis[m - 1][n] + vis[m][n - 1];
}
};