# Excluding not applicable arguments
def fact1(n):
def f(n):
if n == 0: return 1
return n * f(n-1)
if n < 0: return -1 # not applicable
return f(n)
print("Factorial:")
for i in range(-3, 17):
print(f"{i}!={fact1(i)}")
def fib1(n):
def f(n):
if n <= 1: return n
return f(n-1) + f(n-2);
if n < 0: return -1 # not applicable
return f(n)
print("Fibonacci sequence:")
for i in range(-3, 21):
print(f"f({i})={fib1(i)}")
IyBFeGNsdWRpbmcgbm90IGFwcGxpY2FibGUgYXJndW1lbnRzCiAKZGVmIGZhY3QxKG4pOgoJZGVmIGYobik6CgkJaWYgbiA9PSAwOiByZXR1cm4gMQoJCXJldHVybiBuICogZihuLTEpCglpZiBuIDwgMDogcmV0dXJuIC0xICAjIG5vdCBhcHBsaWNhYmxlCglyZXR1cm4gZihuKQoKcHJpbnQoIkZhY3RvcmlhbDoiKQpmb3IgaSBpbiByYW5nZSgtMywgMTcpOgoJcHJpbnQoZiJ7aX0hPXtmYWN0MShpKX0iKQoKZGVmIGZpYjEobik6CglkZWYgZihuKToKCQlpZiBuIDw9IDE6IHJldHVybiBuCgkJcmV0dXJuIGYobi0xKSArIGYobi0yKTsKCWlmIG4gPCAwOiByZXR1cm4gLTEgICMgbm90IGFwcGxpY2FibGUKCXJldHVybiBmKG4pCgpwcmludCgiRmlib25hY2NpIHNlcXVlbmNlOiIpCmZvciBpIGluIHJhbmdlKC0zLCAyMSk6CglwcmludChmImYoe2l9KT17ZmliMShpKX0iKQ==