#define _USE_MATH_DEFINES #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef unsigned long long ull; typedef pair i_i; typedef pair ll_i; typedef pair d_i; typedef pair ll_ll; typedef pair d_d; struct edge { int v, w; }; ll MOD = 1000000007; ll _MOD = 1000000009; double EPS = 1e-10; double P0, P1, P2; double f(int n, int k, vector >& memo) { if (memo[n][k] >= 0) return memo[n][k]; if (k == 0) return memo[n][k] = n; double ans = 0; for (int S = 0; S < (1 << n); S++) { double p = 1; int x = 0; vector v; for (int i = 0; i < n; i++) { double unko = (i == 0 || i == n - 1 ? P1 : P2); if (n == 1) unko = P0; if ((S >> i) & 1) { p *= 1 - unko; x++; } else { p *= unko; if (x) { v.push_back(x); x = 0; } } } if (x) v.push_back(x); double sum = 0; for (int j = 0; j < v.size(); j++) sum += f(v[j], k - 1, memo); ans += p * sum; } return memo[n][k] = ans; } int main() { int A; cin >> A; cin >> P0 >> P1 >> P2; P0 /= 100; P1 /= 100; P2 /= 100; vector > memo(15, vector(80, -1)); printf("%.10f\n", f(14, 80 - A, memo) * 2); }