#include <bits/stdc++.h>
using namespace std;
long long n, k;
void init();
struct video {
  int id;
  long long end_time;
  bool operator<(const video& b) const { return end_time > b.end_time; }
};
long long ans[500020];
void solve() {
  init();
  priority_queue<video> Q;
  long long cur_time = 1;
  for (int i = 1; i <= n; i++) {
    long long start, len;
    cin >> start >> len;
    if (start > cur_time) {
      cur_time = start;
    }
    while (!Q.empty() && Q.top().end_time <= cur_time) {
      ans[Q.top().id] = Q.top().end_time;
      Q.pop();
    }
    if (Q.size() == k) {
      cur_time = Q.top().end_time;
      ans[Q.top().id] = cur_time;
      Q.pop();
    }
    Q.push({i, cur_time + len});
  }
  while (!Q.empty()) {
    ans[Q.top().id] = Q.top().end_time;
    Q.pop();
  }
  for (int i = 1; i <= n; i++) cout << ans[i] << endl;
}
int main() {
  ios_base::sync_with_stdio(false);
  solve();
  return 0;
}
void init() { cin >> n >> k; }
