import sys def play(start, cycles): lim = len(start) cur = start[0] ns = [None for _ in range(lim + 1)] for a, b in zip(start, start[1:] + start[:1]): ns[a] = b for _ in range(cycles): a = ns[cur] b = ns[a] c = ns[b] dest = (cur - 1) or lim while dest in (a, b, c): dest = (dest - 1) or lim ns[dest], ns[c], ns[cur] = a, ns[dest], ns[c] cur = ns[cur] return ns text = sys.stdin.read().strip() ns = [int(n) for n in text] ordering = play(ns, 100) sol = [1] for _ in range(len(ordering) - 2): sol.append(ordering[sol[-1]]) print(''.join(str(n) for n in sol[1:])) ns.extend(n + 1 for n in range(len(ns), 1_000_000)) ordering = play(ns, 10_000_000) print(ordering[1] * ordering[ordering[1]])