// heap_a.h
typedef unsigned long long reallong;

class Heap {
   void **objects;
   int size, tail;
   reallong (*value) (void *);

public:
   Heap (int size, reallong (*)(void *));
   bool isEmpty ();
   void insert (void *);
   void *dequeue ();
};