func (h *Heap[E]) Len() int {
	return len(h.s.s)
}
Len returns the number of elements in the heap.
package main
import (
	"container/heap"
	"fmt"
)
type Heap[E any] struct {
	s sliceHeap[E]
}
func New[E any](less func(E, E) bool) *Heap[E] {
	return &Heap[E]{sliceHeap[E]{less: less}}
}
func (h *Heap[E]) Push(elem E) {
	heap.Push(&h.s, elem)
}
func (h *Heap[E]) Pop() E {
	return heap.Pop(&h.s).(E)
}
func (h *Heap[E]) Peek() E {
	return h.s.s[0]
}