<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def subtract(self, es):
 """ Subtract the BED elements in es from self. :param es: a list of BED elements (or anything with chrom, start, end) :return: a list of BED elements which represent what is left of self after the subtraction. This might be an empty list. """

    workingSet = [self]
    for e in es:
      newWorkingSet = []
      for w in workingSet:
        newWorkingSet += w.__singleIntersect(e)
      workingSet = newWorkingSet
    return workingSet