type minHeap [][2]int func (h minHeap) Len() int { return len(h) } func (h minHeap) Less(i, j int) bool { if h[i][0] != h[j][0] { return h[i][0] < h[j][0] } return h[i][1] < h[j][1] } func (h minHeap) Swap(i, j int) { h[i], h[j] = h[j], h[i] } func (h *minHeap) Push(x interface{}) { *h = append(*h, x.([2]int)) } func (h *minHeap) Pop() interface{} { l := h.Len() x := (*h)[l-1] *h = (*h)[:l-1] return x } func findKthNumber(m int, n int, k int) int { idx := make([]int, m) return 0 }