func (es *Entries) Pop() interface{} {
	last := (*es)[es.Len()-1]
	*es = (*es)[:es.Len()-1]
	return last
}
Pop implements the heap.Interface interface.
package sort
import (
	"bytes"
	"github.com/jaeyeom/sstable/go/sstable"
)
type HeapEntry struct {
	sstable.Entry
	data interface{}
}
type Entries []HeapEntry
func (es Entries) Len() int {
	return len(es)
}
func (es Entries) Less(i, j int) bool {
	c := bytes.Compare(es[i].Key, es[j].Key)
	if c == 0 {
		return bytes.Compare(es[i].Value, es[j].Value) == -1
	}
	return c == -1  
}
func (es Entries) Swap(i, j int) {
	es[i], es[j] = es[j], es[i]
}
func (es *Entries) Push(x interface{}) {
	if x, ok := x.(HeapEntry); ok {
		*es = append(*es, x)
	} else {
		panic("wrong type")
	}
}