seven(times(five())) # must return 35
four(plus(nine())) # must return 13
eight(minus(three())) # must return 5
six(divided_by(two())) # must return 3
zero, one, two, three, four, five, six, seven, eight, nine = \
[ lambda f = None, v = i: f(v) if callable(f) else v for i in range(10) ]
plus = lambda a: lambda b: b + a
minus = lambda a: lambda b: b - a
times = lambda a: lambda b: b * a
divided_by = lambda a: lambda b: b // a