N,D = list(map(int,input().split())) food = [] for _ in range(N): p,q = list(map(int,input().split())) food.append((p,q)) food.sort(key=lambda x:x[1] - x[0]) def check(n): pre = -1 now = 0 for _ in range(D): flag = False for i in range(N): if(pre == i):continue p,q = food[i] if(now - p < n):continue now += -p + q pre = i flag = True break if(not flag):return False return True ok,ng = -10**9,10**9 while(ng - ok > 1): mid = (ok+ng)//2 if(check(mid)): ok = mid else: ng = mid print(ok)