For this Question: Given a 2-D matrix with M rows and N columns, find the number of ways to reach cell with coordinates (M-1,N-1) from starting cell (0,0) under the condition that you can only travel one step right or one step down.The first line of every test case consists of M and N, denoting the number of rows and number of column respectively.

Constraints
1<= M,N <=1000Single line output i.e count of all the possible paths from top left to the bottom right of a mxn matrix. Since the output can be very large number use modulo 10^9+7.Sample Input:
3 3

Sample Output:
6

Explanation:
(0,0) -> (0,1) -> (0, 2) -> (1, 2) -> (2, 2) -> (2, 3) -> (3, 3) is one of the ways, I have written this Solution Code: #include<bits/stdc++.h>
using namespace std;
#define F(i,a,b) for(int i =(int)(a);i <= (int)(b);i++)
#define RF(i,a,b) for(int i =(int)(a);i >= (int)(b);i--)
#define ll long long int
#define MOD 1000000007

int main(){
    ll X,Y;
    cin >> X >> Y;
    ll ways[X][Y];
    ways[0][0] = 1;
    F(j,1,Y-1)
        ways[0][j] = 1;
    F(i,1,X-1)
        ways[i][0] = 1;

    F(i,1,X-1){
        F(j,1,Y-1){
            ways[i][j] = (ways[i-1][j] + ways[i][j-1])%MOD;
        }
    }
    cout << ways[X-1][Y-1];
    return 0;
}, In this Programming Language: C++, Now tell me if this Code is compilable or not?