import decimal
import fractions
D = decimal.Decimal
F = fractions.Fraction

def series(u0, u1):
    yield u0
    yield u1
    while u0 != u1:
        un = 2003 - 6002/u1 + 4000/(u1*u0)
        yield un
        u1, u0 = un, u1

decimal.getcontext().prec = 60
for i, (d, f) in enumerate(zip(series(D(3)/2, D(5)/3), series(F(3)/2, F(5)/3))):
    print("%02d %s error: %.2g" % (i, d, (F.from_decimal(d)-f)/f))
