#!/usr/bin/python3

from collections import deque

def get_answer(initial_data, end_count):
    x=len(initial_data)
    seen={}
    for index,number in enumerate(initial_data,1):
        seen[number]=index
    last_answer=initial_data[-1]
    while x < end_count:
        answer=0
        if last_answer in seen:
            answer=x-seen[last_answer]
        seen[last_answer]=x
        x+=1
        last_answer=answer
        yield answer


initial_data=[int(a) for a in open("input.txt", "r").readline().split(",")]

print("Part 1: ", deque((get_answer(initial_data,2020)),maxlen=1).pop())
print("Part 2: ", deque((get_answer(initial_data,30000000)),maxlen=1).pop())
