# 確率が独立でなく従属なケース # たとえば8 # 2のときに倍数を除くのを忘れていれば、4も8も生きている # 4が生きている場合、死んでいる場合の場合分けは必要ない N, p = map(float, input().split()) N = int(N) is_prime = [1]*(N+1) is_prime[0] = 0 is_prime[1] = 0 div_count = [0]*(N+1) for pr in range(2, N+1): for q in range(2*pr, N+1, pr): is_prime[q] = 0 div_count[q] += 1 EV = 0 for i in range(2, N+1): if is_prime[i] == 1: EV += 1 else: EV += (1-p)**div_count[i] print(EV)