// yukicoder: No.144 エラトステネスのざる // 2019.7.11 bal4u #include #include #define EQ(a, b) (fabs((a)-(b)) < 1e-8) int f[1000005]; int main() { int i, j, n, N; double p, ans; scanf("%d%lf", &N, &p); n = N >> 1; for (i = 2; i <= n; i++) for (j = i << 1; j <= N; j += i) f[j]++; if (EQ(p, 0)) ans = N-1; else if (EQ(p, 1)) while (N > 1) ans += (f[N--] == 0); else { ans = 0; while (N > 1) ans += pow(1-p, f[N--]); } printf("%.10lf\n", ans); return 0; }