gside = lambda l, r: ((l and r) and len(l) > len(r) and r) or l or r
lsub  = lambda jails, u: u.issubset(set(jails[:-1])) and chk(jails[:-1], u)
rsub  = lambda jails, u: u.issubset(set(jails[1:])) and chk(jails[1:], u)
bsrch = lambda jails, u: gside(lsub(jails, u), rsub(jails, u)) or jails
chk   = lambda j, u: j if set(j) == u and len(j) == len(u) else bsrch(j, u)
sjail = lambda jails: len(chk(jails, set(jails)))
while True:
	try:
		inp = str(input())
		if inp == '':
			break
		print(sjail(inp.split(' ')))
	except (EOFError):
		break