#include <bits/stdc++.h>   using namespace std;   long long int M = 1e9 + 7;   int sum_digit(int x) {     int sum = 0;     while (x > 0) {       sum += x % 10;       x /= 10;     }     return sum;   }   int reverse_num(int n) {     int tmp = n, ans = 0, r;     while (tmp > 0) {       r = tmp % 10;       ans = ans * 10 + r;       tmp /= 10;     }     return ans;   }   long long int factorial(long long int n) {     long long int i, ans = 1;     for (i = n; i > 1; i--) {       ans *= i;     }     return ans;   }   long long int gcd(long long int num1, long long int num2) {     long long int a, b, r;     a = num1;     b = num2;     r = a % b;     while (r > 0) {       a = b;       b = r;       r = a % b;     }     return b;   }   long long int lcm(long long int num1, long long int num2) {     return (num1 * num2) / gcd(num1, num2);   }   bool prime(long long int n) {     if (n < 2) return false;     for (long long int i = 2; i <= sqrt(n); i++) {       if (n % i == 0) return false;     }     return true;   }   bool vowel(char ch) {     ch = tolower(ch);     if (ch ==  a  || ch ==  e  || ch ==  i  || ch ==  o  || ch ==  u )       return true;     return false;   }   void solve() {     double d, h, v, e;     cin >> d >> h >> v >> e;     double r = d / 2;     double v_in = 2 * acos(0) * r * r * h;     double L = 0, R = 1e4 + 10;     double ans = 0;     while (L < R) {       double t = L + (R - L) / 2;       double dif = (v_in + 2 * acos(0) * r * r * e * t) - v * t;       if (abs(dif) < 1e-4) {         ans = t;         break;       }       if (dif < 0)         R = t;       else         L = t;     }     if (ans != 0) {       cout <<  YES n ;       cout << setprecision(12) << fixed << ans << endl;     } else       cout <<  NO n ;   }   int main() {     solve();     return 0;   }   