def sj_raw(jails, unique=None):
	unique = unique or set(jails)
	if set(jails) == unique and len(jails) == len(unique):
		return jails
	else:
		lsub = unique.issubset(set(jails[:-1])) and sj_raw(jails[:-1], unique)
		rsub = unique.issubset(set(jails[1:])) and sj_raw(jails[1:], unique)
		if lsub and rsub:
			if len(lsub) > len(rsub):
				return rsub
			else:
				return lsub
		else:
			return lsub or rsub
sjail = lambda jails: len(sj_raw(jails))
while True:
	try:
		inp = str(input())
		if inp == '':
			break
		print(sjail(inp.split(' ')))
	except (EOFError):
		break