#include <bits/stdc++.h>
using namespace std;
const int INF = (int)2e9;
const long long INFL = (long long)9e18;
const int MAXINT = ((~0) ^ (1 << 31));
const long long MAXLL = ((~0) ^ ((long long)1 << 63));
template <class T>
inline T pow2(T a) {
  return a * a;
}
template <class T>
inline bool mineq(T& a, T b) {
  return (a > b) ? (a = b, true) : false;
}
template <class T>
inline bool maxeq(T& a, T b) {
  return (a < b) ? (a = b, true) : false;
}
const int maxn = (int)1e6 + 10;
;
multiset<long long> st;
int n, m;
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cin >> n >> m;
  for (int i = 0; i < (int)(m); i++) st.insert(1);
  for (int i = 0; i < (int)(n); i++) {
    long long t, l;
    cin >> t >> l;
    long long now = *st.begin();
    st.erase(st.begin());
    maxeq(now, t);
    now += l;
    cout << now << '\n';
    st.insert(now);
  }
}
