We have an n-node binary heap which contains `n` distinct items (smallest item at the root). For a `k<=n`, find a `O(klogk)` time algorithm to select `kth` smallest element from the heap.

`O(klogn)` is obvious, but couldn't figure out a `O(klogk)` one. Maybe we can use a second heap, not sure.