N, exe_prob = map(float, input().split()) N = int(N) def divisors(n): lower_divisors , upper_divisors = [], [] i = 1 while i*i <= n: if n % i == 0: lower_divisors.append(i) if i != n // i: upper_divisors.append(n//i) i += 1 return lower_divisors + upper_divisors[::-1] is_prime = [1] * (N+1) is_prime[0], is_prime[1] = 0, 0 for i in range(2, N+1): divs = divisors(i)[1:-1] is_prime[i] = ((1-exe_prob)**len(divs)) #print(is_prime) print(sum(is_prime))