func_code_string: #include <bits/stdc++.h>   using namespace std;   int mark[(10000000 >> 5) + 1];   void sieve() {     register int i, j, k;     (mark[1 >> 5] |= 1 << (1 & 31));     int n = 10000000;     for (i = 2; i <= n; i++) {       if (!(mark[i >> 5] >> (i & 31) & 1)) {         for (k = n / i, j = i * k; k >= i; k--, j -= i)           (mark[j >> 5] |= 1 << (j & 31));       }     }   }   long long C(long long n, long long k) {     if (k == 0) return 1;     return (n * C(n - 1, k - 1)) / k;   }   long long modular_pow(long long budgetase, long long exponent, int modulus) {     long long result = 1;     while (exponent > 0) {       if (exponent % 2 == 1) result = (result * budgetase) % modulus;       exponent = exponent >> 1;       budgetase = (budgetase * budgetase) % modulus;     }     return result;   }   long long binaryToDec(string number) {     long long result = 0, pow = 1;     for (int i = number.length() - 1; i >= 0; --i, pow <<= 1)       result = (result + (number[i] -  0 ) * pow) % 1000003;     return result;   }   long long GCD(long long a, long long b) { return b == 0 ? a : GCD(b, a % b); }   int main() {     double d, h, v, e;     cin >> d >> h >> v >> e;     double r = d / 2;     double area = 3.1415926535897932384626433832795 * r * r;     if (e * area > v || fabs(e * area - v) < 0.0000000001) {       cout <<  NO  << endl;       return 0;     }     double vol = 3.1415926535897932384626433832795 * r * r * h;     double p = e * 3.1415926535897932384626433832795 * r * r;     double dif = fabs(p - v);     cout <<  YES  << endl;     cout << setprecision(12) << fixed << (double)vol / dif << endl;   }   