#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; constexpr long long int INFLL = 1LL << 60; constexpr int INF = 1000000007; const int mod = 1000000007; const int dx[4] = {1, 0, -1, 0}; const int dy[4] = {0, 1, 0, -1}; template inline bool chmin(T& a, T b) { if (a > b) { a = b; return true; } return false; } template inline bool chmax(T& a, T b) { if (a < b) { a = b; return true; } return false; } int main(){ int N; double p; cin >> N >> p; double ans=0.0; vector divisor(N+1,0); for(int i=2; i<=N; i++){ for(int j=i; j<=N; j+=i){ divisor[j]++; } ans += pow(1-p, divisor[i]-1); } cout << fixed << setprecision(10) << ans << endl; return 0; }