#
# lru design
# @param operators int整型二维数组 the ops
# @param k int整型 the k
# @return int整型一维数组
#
class Solution:
    def LRU(self , operators , k ):
        self.huancun = {}
        self.returnValue = []
        for i in range(len(operators)):
            if operators[i][0] == 1:
                self.setValue(operators[i],k )
            if operators[i][0] == 2:
                self.getValue(operators[i])
        return self.returnValue

    def setValue(self, list_1, k):

        if list_1[1] in self.huancun:
            self.huancun.pop(list_1[1])
            self.huancun[list_1[1]] = list_1[2]
        else:
            if len(self.huancun) == k:
                self.huancun.pop(list(self.huancun.keys())[0])
                self.huancun[list_1[1]] = list_1[2]
            else:
                self.huancun[list_1[1]] = list_1[2]
    def getValue(self,list_1):
        if list_1[1] in self.huancun:
            self.returnValue.append(self.huancun[list_1[1]])
            self.huancun.pop(list_1[1])
            self.huancun[list_1[1]] = self.returnValue[-1]
        else:
            self.returnValue.append(-1)


        # write code here