/* -*- coding: utf-8 -*- * * 813.cc: No.813 ユキちゃんの冒険 - yukicoder */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; /* constant */ /* typedef */ typedef long double ld; /* global variables */ /* subroutines */ /* main */ int main() { int n; ld p, q; scanf("%d%Lf%Lf", &n, &p, &q); if (p == 1.0) { puts("1"); return 0; } ld p1 = p, q1 = q, &p2 = p, &q2 = q; for (int i = 1; i < n; i++) { ld d = 1.0 / (1.0 - p1 * p2); ld pp = p1 + p2 * q1 * q1 * d; ld qq = q1 * q2 * d; p1 = pp, q1 = qq; } printf("%.17Lf\n", p1); return 0; }