<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def update(self, value):
 """ Adds an old value with a fixed timestamp to the reservoir. @param value the value to be added """

    super(ExponentiallyDecayingReservoir, self).update(value)

    timestamp = self.clock.time()

    self.__rescaleIfNeeded()
    priority = self.__weight(timestamp - self.startTime) / random.random()

    self.count += 1
    if (self.count <= self.size):
      self.values[priority] = value
    else:
      first = min(self.values)

      if first < priority and priority not in self.values:
        self.values[priority] = value
        while first not in self.values:
          first = min(self.values)

        del self.values[first]