For this Question: This morning the problem setters decided to add one more easy problem to the problem set of Newton School. Akash has printed the statement in one copy, and now they want to make n more copies before starting the contest. They have 2 copiers in the office, one which copies a sheet in x seconds and the other in y seconds (Using both copiers at the same time is allowed). You can copy not only from the original but from the copied copies. Help him to find out what is the minimum time they need to make n copies of the statement.The first line of the input contains three space- separated integers n, x, and y.

<b>Constraints</b>
1 &le; n &le; 2.10<sup>8</sup>
1 &le; x, y &le; 10Print one integer, the minimum time in seconds required to get n copies.Sample Input 
4 1 1 
Sample Output 
3

Sample Input 
5 1 2
Sample Output 
4, I have written this Solution Code: #include <bits/stdc++.h>

#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>

using namespace std;
using namespace __gnu_pbds;

template <class T>
using ordered_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;

template <class key, class value, class cmp = std::less<key>>
using ordered_map = tree<key, value, cmp, rb_tree_tag, tree_order_statistics_node_update>;
// find_by_order(k)  returns iterator to kth element starting from 0;
// order_of_key(k) returns count of elements strictly smaller than k;

#ifdef LOCAL
#define debug(...) cerr << "[" << #__VA_ARGS__ << "]:", debug_out(__VA_ARGS__)
#else
#define debug(...) 2351
#endif

#define int long long

mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());
inline int64_t random_long(int l = LLONG_MIN, int r = LLONG_MAX) {
    uniform_int_distribution<int64_t> generator(l, r);
    return generator(rng);
}

int32_t main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    auto start = std::chrono::high_resolution_clock::now();

    int n, x, y;
    cin >> n >> x >> y;
    int low = 0, high = (int)1e18;
    while (low <= high) {
        int mid = low + (high - low) / 2;
        int tillNow = (mid / x) + (mid / y);
        if (tillNow >= n - 1) {
            high = mid - 1;
        } else
            low = mid + 1;
    }
    cout << low + min(x, y) << endl;
    return 0;
};
, In this Programming Language: C++, Now tell me if this Code is compilable or not?