#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; int n; int t[5]; int y[5]; double ans = 0.0; /*int __builtin_popcount(int a){ int r = 0; while (a){ if ((a & 1)){ r++; } a >>= 1; } return r; }*/ double p9[102]; double H[102]; int main(){ p9[0] = 1.0; H[0] = 1.0; scanf("%d", &n); double P = (double)(n) / (double)(99.0); double PP = 1.0 - P; for (int i = 1; i < 102; i++){ p9[i] = p9[i - 1]; p9[i] *= P; H[i] = H[i - 1]; H[i] *= PP; } for (int i = 0; i < 25; i+=5){ int val = 0; for (int j = i; j < i + 5; j++){ val |= (1 << j); } t[i/5] = val; } for (int i = 0; i < 5; i++){ int val = 0; for (int j = i; j < 25; j += 5){ val |= (1 << j); } y[i] = val; } int countt = 0; for (int i = 0; i < (1 << 25); i++){ countt = 0; for (int j = 0; j < 5; j++){ if ((i&t[j]) == t[j]){ countt++; } if ((i&y[j]) == y[j]){ countt++; } } int v = __builtin_popcount(i); int ot = 99 - 25; if (ot + v < n){ continue; } if (v>n){ continue; } if (countt == 0){ continue; } double pro = p9[v]*p9[n-v]*(double)(countt); ans += pro; } printf("%.6f\n", ans); return 0; }