//rng_58 bless me
#include<bits/stdc++.h>
using namespace std;
//define:
#define ll long long
#define REP(i,n) for(int i = 0; i < n; i++)
//const:
const int MAXN = 0;
//something:
int N,K;
ll x,y;
multiset <ll> q;
//input:
void scan() {
scanf("%I64d%I64d",&N,&K);
REP(i,N) {
scanf("%I64d%I64d",&x,&y);
if(K) {
q.insert(x + y);
printf("%I64d\n",x + y);
K--;
continue;
}
ll z = max(*q.begin(),x) + y;
q.erase(q.begin());
printf("%I64d\n",z);
q.insert(z);
}
}
//output
void print() {
}
//run:
void solve() {
}
//times:
void Times(int T) {
while(T--) {
scan();
solve();
print();
}
}
//begin:
int main() {
int T;
T = 1;
//cin >> T;
Times(T);
return 0;
}