// #define _GLIBCXX_DEBUG #include // #include // g++ main.cpp -std=c++17 -I . using namespace std; // using namespace atcoder; #define rep(i, n) for (int i = 0; i < (int)(n); i++) #define all(v) v.begin(), v.end() template inline bool chmin(T&x,U y){if(x>y){x=y;return true;}return false;} template inline bool chmax(T&x,U y){if(x>n>>p; vector v(n+1); double ans = 0; for(int i = 2; i <= n; i++) { for(int j = i; j <= n; j += i) { v[j]++; } ans += pow(1-p, v[i]-1); } cout << fixed << setprecision(15) << ans << endl; return 0; }