a min priority queue backed by a pairing heap