Consider the definition of a new datatype. The new datatype is the inttuple. An inttuple is defined as being either an integer, or a tuple consisting of inttuples. You see an example of an inttuple in the code block below.

>>> inttuple = (1, 2, (3, 4), 5, ((6, 7, 8, (9, 10), 11), 12, 13), ((14, 15, 16), (17, 18, 19, 20)))

Assignment

Write a function flatten that takes an inttuple. The function must return a tuple containing all integer values stores in the given inttuple.

Tip

Since the inttuple is defined recursively, a recursive function is probably the right approach. If you skipped Chapter 9) to determine whether you are dealing with an integer or a tuple.

Example

>>> inttuple = (1, 2, (3, 4), 5, ((6, 7, 8, (9, 10), 11), 12, 13), ((14, 15, 16), (17, 18, 19, 20)))
>>> flatten(inttuple)
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)