func_code_string: #include <bits/stdc++.h>   using namespace std;   const long double PI = 3.141592653589793238462643383;   struct Rcompare {     bool operator()(pair<int, int> lhs, pair<int, int> rhs) {       return lhs.first > rhs.first;     }   };   struct compare {     bool operator()(pair<int, int> lhs, pair<int, int> rhs) {       return lhs.first < rhs.first;     }   };   long long int gcd(long long int a, long long int b) {     if (a == 0) return b;     return gcd(b % a, a);   }   long long int lcm(long long int a, long long int b) {     return a * (b / gcd(a, b));   }   long long int Abs(long long int a) {     if (a > 0) return a;     return -a;   }   long long int Ceil(long long int a, long long int b) {     if (a % b == 0)       return a / b;     else       return a / b + 1;   }   double Abs(double a) {     if (a > 0) return a;     return -a;   }   long long int pow(long long int x, long long int y) {     if (y == 0) return 1;     long long int tmp = pow(x, y / 2);     if (y % 2 == 1) return ((tmp * tmp) * x);     return (tmp * tmp);   }   const int MAX = 100009;   const int MOD = 1e9 + 7;   const int inf = 1e9 + 10;   int main() {     ios_base::sync_with_stdio(false);     cin.tie(NULL);     int a, b, c, m;     cin >> c >> b >> a >> m;     if (2 * a < m || a > 2 * m) {       cout << -1 <<   n ;       return 0;     } else if (2 * m > 2 * b || 2 * m > 2 * c) {       cout << -1 <<   n ;       return 0;     } else {       for (int i = max(2 * m + 1, c); i <= (2 * c); ++i)         for (int j = max(2 * m + 1, b); j <= (2 * b); ++j)           for (int k = max(a, m); k <= (min(2 * a, 2 * m)); ++k) {             if (k < j && j < i) {               cout << i <<   n  << j <<   n  << k <<   n ;               return 0;             }           }     }     cout << -1 <<   n ;     return 0;   }   