#include using namespace std; typedef long long ll; typedef unsigned long long ull; typedef vector VI; typedef vector VVI; #define REP(i, n) for(int(i)=0;(i)<(n);++(i)) #define FOR(i, f, t) for(int(i)=(f);(i)<(t);(++i)) #define RREP(i, n) for(int(i)=(n)-1;(i)>=0;--(i)) const int MOD = int(1e9+7); int N; double p; double pp[1000100]; int main(){ do { cin.tie(0); ios_base::sync_with_stdio(false); } while(0); cin >> N >> p; REP(i,N+1) pp[i] = 1.0; double res = 0; for(int i = 2; i <= N; i++){ res += pp[i]; for(int j = i+i; j <= N; j+=i){ pp[j] *= (1-p); } } cout << fixed << setprecision(15) << res << endl; return 0; }