# -*- coding: utf-8 -*- import random import time N, p = map(float, raw_input().split()) N = int(N) QQ = 10 ** 6 total = 0 q = 0 # モンテカルロ法 for q in xrange(QQ): prime = [True] * (N + 1) prime[0] = prime[1] = False for v in xrange(2, N + 1): if not prime[v]: continue if random.random() <= p: for i in xrange(v + v, N + 1, v): prime[i] = False total += sum(prime) q += 1 print q, 1.0 * total / q