"""Ví dụ BTVN: n nguyên không âm; chương trình thử chọn n từ 0 đến 12."""

def dem_lui(n):
    if n > 0:
        print(n)
        dem_lui(n - 1)


def dem_xuoi(n):
    if n > 0:
        dem_xuoi(n - 1)
        print(n)


def fibonacci(n):
    if n == 0:
        return 0
    if n == 1:
        return 1
    return fibonacci(n - 1) + fibonacci(n - 2)


def lucas(n):
    if n == 0:
        return 2
    if n == 1:
        return 1
    return lucas(n - 1) + lucas(n - 2)


def pell(n):
    if n == 0:
        return 0
    if n == 1:
        return 1
    return 2 * pell(n - 1) + pell(n - 2)


def main():
    try:
        n = int(input("Nhập n từ 0 đến 12 trong mẫu thử: "))
    except ValueError:
        print("Cần nhập một số nguyên.")
        return
    if not 0 <= n <= 12:
        print("Mẫu thử chỉ nhận n từ 0 đến 12.")
        return
    print("F(n) =", fibonacci(n))
    print("L(n) =", lucas(n))
    print("P(n) =", pell(n))
    print("Các số Pell đầu:", *(pell(k) for k in range(n)))


if __name__ == "__main__":
    main()
