#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define all(c) ((c).begin(),(c).end()) #define rall(c) ((c).rbegin(),(c).rend()) #define ll long long #define fi first #define se second #define inf (999999999) using namespace std; const ll MOD = 1e9 + 7; const double PI = acos(-1.0); //---------------------------------------------------------------------------------------------// int n; double p; int a[1000001]; inline void prime() { for (int i = 0; i <= n; i++)a[i] = 0; for (int i = 2; i <= n; i++) { int b = i * 2; while (b <= n) { a[b]++; b += i; } } } inline double power(int a) { double now = 1-p; double res = 1; while (a > 0) { if (a & 1) { res *= now; } a >>= 1; now *= now; } return res; } inline double solve() { double res = 0; for (int i = 2; i <= n; i++) { if (a[i]==0) { res += 1; } else { //cout << cont << endl; res += power(a[i]); } //printf("%.9f\n", res); } return res; } int main() { cin >> n >> p; prime(); double ans = solve(); printf("%.9f", ans); return 0; }