For this Question: While doing homework, Nobita stuck on a problem and asks for your help. 
Problem statement:-
Given three integers X, Y, and N. Your task is to check if it is possible to form N by using only combinations of X and Y.
i.e check if there exist any P and Q such that P*X + Q*Y = N

Note:- P and Q can be negativeThe input contains only three integers X, Y, and N.

Constraints:-
1 <= X, Y, N <= 100000Print "YES" if it is possible to form N else print "NO".Sample Input:-
3 5 18

Sample Output:-
YES

Explanation:-
1 * 3 + 3 * 5 = 18 (P = 1, Q = 3)

Sample Input:-
4 8 15

Sample Output:-
NO, I have written this Solution Code: 
#include <bits/stdc++.h>


using namespace std;

#define MEM(a, b) memset(a, (b), sizeof(a))

#define FOREACH(it, l) for (auto it = l.begin(); it != l.end(); it++)

#define IN(A, B, C) assert( B <= A && A <= C)

#define MP make_pair
#define FOR(i,a) for(int i=0;i<a;i++)

#define FOR1(i,j,a) for(int i=j;i<a;i++)

#define EB emplace_back

#define INF (int)1e9

#define EPS 1e-9

#define PI 3.1415926535897932384626433832795
#define max1 1000001
#define MOD 1000000000000007

#define read(type) readInt<type>()

#define out(x) cout<<x<<'\n'
#define out1(x) cout<<x<<" "
#define END cout<<'\n'
#define int long long
#define sz(v) ((int)(v).size())
#define all(v) (v).begin(), (v).end()
void fast(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
}
int cnt[max1];
signed main(){
int t;t=1;
while(t--){
    int x,y,n;
    cin>>x>>y>>n;
    int p=__gcd(x,y);
    if(n%p==0){out("YES");}
    else{
        out("NO");
    }
}

}



, In this Programming Language: C++, Now tell me if this Code is compilable or not?