# Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2,
# the first 10 terms will be:
#
# 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
#
# By considering the terms in the Fibonacci sequence whose values do not exceed four million, find the sum of the
# even-valued terms.
FIB_MAX = 4000000


def fib():
    fib_1 = 1
    fib_2 = 2
    while True:
        if fib_2 + fib_1 < FIB_MAX:
            fib_2, fib_1 = fib_1 + fib_2, fib_2
            if fib_2 % 2 == 0:
                yield fib_2
        else:
            break


def fub_sum_even():
    fib_sum = sum(list(fib()))
    return fib_sum

def main():
    print(fub_sum_even())

if __name__ == '__main__':
    main()

