#pragma GCC optimize("O3") #pragma GCC optimize("Ofast") #pragma GCC optimize("unroll-loops") #pragma GCC target("avx,avx2") #include #define INF 1000000001LL #define LNF 1000000000000000001LL #define MOD 1000000007LL #define MAX 502 #define long long long #define all(x) x.begin(),x.end() using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); int n; double p; cin >> n >> p; p = 1-p; vector cnt(n+1); for(int i = 2; i<=n; i++) { for(int j = i+i; j<=n; j+=i) cnt[j]++; } double res = 0; vector pow(10000); pow[0] =1; for(int i =1; i<10000; i++) { pow[i] = pow[i-1]*p; } for(int i = 2; i<=n; i++) { res+=pow[cnt[i]]; } cout << fixed << setprecision(10) << res << endl; return 0; }