import sys import gmpy n = 3 p = int(sys.argv[1]) x = gmpy.mpq(n) d = 0 t = gmpy.mpz(10) while d <= p: y = (x*x+n)/(2*x) l = d*3+1 s1 = gmpy.digits(x*t**l) s2 = gmpy.digits(y*t**l) while d < l: if s1[d] != s2[d]: break d += 1 x = y print s1[:p]