Don't like this style? Click here to change it! blue.css

Did you know that there are \(2^n\) subsets of any set with \(n\) elements? Check it out:

\(S = \{1, 2, 3\}\) then the subsets are \(\{\},\{1\},\{2\},\{3\},\{1,2\},\{1,3\},\{2,3\},\{1,2,3\}\). The
reason there are \(2^n\) is because every subset either **has** or **does not have**
each of the \(n\) elements. So, in other words, you get \(n\) yes/no questions to answer to define a subset,
which gives \(2 \times 2 \times \cdots \times 2\) possible answers.

Your job is to write a function which uses the `itertools`

module to generate all subsets of given iterable.

You don't know the `itertools`

module yet, so here is some documentation.

For example:

` ````
subsets([1, 2, 3]) == [[], [1], [2], [3], [1,2], [1,3], [2,3], [1,2,3]]
```

Be careful not to call this on too large of an iterable, it grows slow quickly!