import java.util.*;


public class Solution {
    /**
     * 
     * @param m int整型 
     * @param n int整型 
     * @return int整型
     */
   public int uniquePaths (int m, int n) {
        int[][] dp = new int[m+1][n+1];
        for(int i = 1,j = 1; i <= m || j <= n; i++,j++){
            if(j <= n) dp[1][j] = 1;
            if(i <= m) dp[i][1] = 1;
        }
        
        for(int i = 2; i <= m; i++){
            for(int j = 2; j <= n; j++){
                dp[i][j] = dp[i-1][j] + dp[i][j-1];
            }
        }
        
        return dp[m][n];
    }
}