code: def element(self, inp=None):
          
          if inp is None:
              tpl = tuple(set_.element() for set_ in self.sets)
          else:
              tpl = tuple(set_.element(inpt)
                          for inpt, set_ in zip(inp, self.sets))
  
              if len(tpl) != len(self):
                  raise ValueError('input provides only {} values, needed '
                                   'are {}'.format(len(tpl), len(self)))
  
          return tpl
docs: Create a `CartesianProduct` element.
  
          Parameters
          ----------
          inp : iterable, optional
              Collection of input values for the
              `LinearSpace.element` methods
              of all sets in the Cartesian product.
  
          Returns
          -------
          element : tuple
              A tuple of the given input