#include using namespace std; double m_pow(double x,int n){ //べき乗 double ans=1; while(n!=0){ if(n&1) ans=ans*x; x=x*x; n=n>>1; } return ans; } int main(){ int N; cin >> N; double p; cin >> p; double ans=0; int divisor[N+1]={}; for(int i=2;i<=N;i++){ for(int j=i*2;j<=N;j+=i){ divisor[j]++; } } for(int i=2;i<=N;i++){ if(divisor[i]==0) ans+=1; else ans+=m_pow(1-p,divisor[i]); } cout << setprecision(10) << ans << endl; }