"""
Exercise 2: Lemonade Change (LeetCode 860)

Lemonade costs $5; customers pay with 5, 10 or 20 in order, and you start
with no change. Return True if you can give correct change to everyone.
Greedy: for $20, prefer 10 + 5 over 5 + 5 + 5 (fives are more flexible).
"""

def lemonade_change(bills):
    # TODO
    return False


# --- self-check: do not modify below this line ---
a = lemonade_change([5, 5, 5, 10, 20])
b = lemonade_change([5, 5, 10, 10, 20])
c = lemonade_change([5, 5, 10, 20, 5, 5, 5, 5, 5, 5, 5, 5, 5, 10, 5, 5, 20, 5, 20, 5])
print(a, b, c)
print("PASS" if a and not b and c else "FAIL")
