code: def dequeue(self, k):
          
          if self.j + k <= self.M:
              out = self.A[self.j:(self.j + k)]
              self.j += k
          elif k <= self.M:
              out = np.empty(k, 'int')
              nextra = self.j + k - self.M
              out[:(k - nextra)] = self.A[self.j:]
              self.enqueue()
              out[(k - nextra):] = self.A[:nextra]
              self.j = nextra
          else:
              raise ValueError('MultinomialQueue: k must be <= M (the max \
                               capacity of the queue)')
          return out
docs: Outputs *k* draws from the multinomial distribution.