def solve_generous(total_lambs) :
if total_lambs <= 2 :
return total_lambs
if total_lambs == 3 :
return 2
ret = 2
a = 1
b = 2
total_lambs -= 3
while(1 == 1) :
mn = a + b
mx = b + b
if mn <= total_lambs :
a = b
b = min(mx, total_lambs)
total_lambs -= b
ret += 1
else :
break
return ret
def solve_stingy(total_lambs) :
if total_lambs <= 2 :
return total_lambs
ret = 2
a = b = 1
total_lambs -= 2
while(1 == 1) :
mn = a + b
mx = b + b
if mn <= total_lambs :
a = b
b = mn
total_lambs -= b
ret += 1
else :
break
return ret
def solution(total_lambs):
ans = solve_stingy(total_lambs) - solve_generous(total_lambs)
if ans < 0 :
ans *= -1
return ans
print(solution(3))
ZGVmIHNvbHZlX2dlbmVyb3VzKHRvdGFsX2xhbWJzKSA6CglpZiB0b3RhbF9sYW1icyA8PSAyIDoKCQlyZXR1cm4gdG90YWxfbGFtYnMKCWlmIHRvdGFsX2xhbWJzID09IDMgOgoJCXJldHVybiAyCgkJCglyZXQgPSAyCglhID0gMQoJYiA9IDIKCXRvdGFsX2xhbWJzIC09IDMKCXdoaWxlKDEgPT0gMSkgOgoJCW1uID0gYSArIGIKCQlteCA9IGIgKyBiCgkJaWYgbW4gPD0gdG90YWxfbGFtYnMgOgoJCQlhID0gYgoJCQliID0gbWluKG14LCB0b3RhbF9sYW1icykKCQkJdG90YWxfbGFtYnMgLT0gYgoJCQlyZXQgKz0gMQoJCWVsc2UgOgoJCQlicmVhawoJcmV0dXJuIHJldAoJCQkKCQpkZWYgc29sdmVfc3Rpbmd5KHRvdGFsX2xhbWJzKSA6CglpZiB0b3RhbF9sYW1icyA8PSAyIDoKCQlyZXR1cm4gdG90YWxfbGFtYnMKCXJldCA9IDIKCWEgPSBiID0gMQoJdG90YWxfbGFtYnMgLT0gMgoJd2hpbGUoMSA9PSAxKSA6CgkJbW4gPSBhICsgYgoJCW14ID0gYiArIGIKCQlpZiBtbiA8PSB0b3RhbF9sYW1icyA6CgkJCWEgPSBiCgkJCWIgPSBtbgoJCQl0b3RhbF9sYW1icyAtPSBiCgkJCXJldCArPSAxCgkJZWxzZSA6CgkJCWJyZWFrCglyZXR1cm4gcmV0CgkKZGVmIHNvbHV0aW9uKHRvdGFsX2xhbWJzKToKCWFucyA9IHNvbHZlX3N0aW5neSh0b3RhbF9sYW1icykgLSBzb2x2ZV9nZW5lcm91cyh0b3RhbF9sYW1icykKCWlmIGFucyA8IDAgOgoJCWFucyAqPSAtMQoJcmV0dXJuIGFucwoJCnByaW50KHNvbHV0aW9uKDMpKQ==