import time
import math
start_time = time.time()
def num_digits(n):
return math.floor((math.log1p(2 * math.pi * n) / 2 + n * (math.log1p(n) -1)) / math.log1p(10)) + 1
print "approximately 10^%d gp" % num_digits(1000000)
print "%f seconds" % (time.time() - start_time)
aW1wb3J0IHRpbWUKaW1wb3J0IG1hdGgKc3RhcnRfdGltZSA9IHRpbWUudGltZSgpCgpkZWYgbnVtX2RpZ2l0cyhuKToKCXJldHVybiBtYXRoLmZsb29yKChtYXRoLmxvZzFwKDIgKiBtYXRoLnBpICogbikgLyAyICsgbiAqIChtYXRoLmxvZzFwKG4pIC0xKSkgLyBtYXRoLmxvZzFwKDEwKSkgKyAxCgpwcmludCAiYXBwcm94aW1hdGVseSAxMF4lZCBncCIgJSBudW1fZGlnaXRzKDEwMDAwMDApCnByaW50ICIlZiBzZWNvbmRzIiAlICh0aW1lLnRpbWUoKSAtIHN0YXJ0X3RpbWUp