# 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.
def get_fib():
num_old, num_new = 0, 1
while True:
num_old, num_new = num_new, num_old + num_new
yield num_new
def get_nums():
nums = []
for num in get_fib():
if num >= 4_000_000:
return nums
if num % 2 == 0:
nums.append(num)
if __name__ == '__main__':
print(sum(get_nums()))