/* @JUDGE_ID: 32472GK 1066 C++ */ #include #include #include #include #include #include #include #include #include #include using namespace std; typedef pair poly; double solve(int N, double A) { vector y(N); y[0] = poly(0, A); y[1] = poly(1, 0); for (int i = 2; i < N; ++i) { double a = y[i - 1].first; double b = y[i - 1].second; double c = y[i - 2].first; double d = y[i - 2].second; y[i] = poly(2 * a - c, 2 * b - d + 2); } double an = y[N - 1].first; double bn = y[N - 1].second; for (int i = 0; i < N; ++i) { double c = y[i].first; double d = y[i].second; y[i] = poly(c / an, - bn * c / an + d); } double x = 0.0; for (int i = 0; i < N; ++i) { double a = y[i].first; double b = y[i].second; x = max(x, - b / a); } return x; } int main() { int N; double A; cin >> N >> A; char buf[50]; double d = solve(N, A); sprintf(buf, "%.2f", d); cout << buf << endl; }