There is a robot on an m x n grid. The robot is initially located at the top-left corner (i.e., grid[0][0]). The robot tries to move to the bottom-right corner (i.e., grid[m - 1][n - 1]). The robot can only move either down or right at any point in time. Given the two integers m and n, return the number of possible unique paths that the robot can take to reach the bottom-right corner.
Example 1
Input: m = 3, n = 7
Output: 28
Explanation: Every path makes exactly 2 moves down and 6 moves right, in some order. Choosing which 2 of the 8 moves go down gives C(8,2) = 28 paths.
Example 2
Input: m = 3, n = 2
Output: 3
Explanation: The robot makes 2 moves down and 1 move right. The right move can come first, second or third, giving 3 paths.
Example 3
Input: m = 1, n = 1
Output: 1
Explanation: The start is already the finish, so there is exactly one path (making no moves).
dp[i][j] = dp[i-1][j] + dp[i][j-1]. First row and column are all 1s.
Run checks all cases above. Submit evaluates all test cases.