import heapq
from structures import run_operations

class KthLargest:
    def __init__(self, k, values):
        if k < 1:
            raise ValueError('k must be positive')
        self.k, self.heap = k, []
        for value in values:
            self.add(value)

    def add(self, value):
        heapq.heappush(self.heap, value)
        if len(self.heap) > self.k:
            heapq.heappop(self.heap)
        return self.heap[0] if len(self.heap) == self.k else None
