from decimal import Decimal, getcontext def pi_chudnovsky(digits): getcontext().prec = digits + 10 num_iterations = digits // 14 + 1 def binary_splitting(a, b): if b - a == 1: if a == 0: P = Q = 1 else: P = (6 * a - 5) * (2 * a - 1) * (6 * a - 1) Q = a**3 * 640320**3 // 24 T = P * (13591409 + 545140134 * a) if a % 2 == 1: T = -T return P, Q, T else: mid = (a + b) // 2 P1, Q1, T1 = binary_splitting(a, mid) P2, Q2, T2 = binary_splitting(mid, b) P = P1 * P2 Q = Q1 * Q2 T = Q2 * T1 + P1 * T2 return P, Q, T _, Q, T = binary_splitting(0, num_iterations) C = 426880 * Decimal(10005).sqrt() pi = (C * Q) / T return str(pi)[:digits + 2] S = input() pi_str = str(pi_chudnovsky(200_000)) for i in range(len(S)): if S[i] != pi_str[i]: print(S[i], pi_str[i]) exit()