def pisano(m):
	if m == 1:
		return 1
		
	"""
	toda sequência tem tamanho par, então posso começar de n = 2 e terminar quando
	obter:
	
	f_n_minus_1 == 0
	f_n == 1
	"""
	
	f_n_minus_1 = 1
	f_n = 1
	n = 2
	
	while not(f_n_minus_1 == 0 and f_n == 1):
		f_n_plus_1 = (f_n + f_n_minus_1) % m
		f_n_minus_1 = f_n
		f_n = f_n_plus_1
		n += 1
	return n - 1
	
for x in range(1, 11):
	print("pisano({}) = {}".format(x, pisano(x)))