SMALLEST
top = s->heap[SMALLEST]; \
s->heap[SMALLEST] = s->heap[s->heap_len--]; \
pqdownheap(s, tree, SMALLEST); \
m = s->heap[SMALLEST]; /* m = node of next least frequency */
s->heap[SMALLEST] = node++;
pqdownheap(s, tree, SMALLEST);
s->heap[--(s->heap_max)] = s->heap[SMALLEST];