#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define LEN 100005
typedef struct pp{
  char name[100];
  int t;
} P;
P Q[LEN];
int head, tail, n;

void enqueue(P x){
  Q[tail] = x;
  tail = (tail + 1) % LEN;
}
P dequeue(){
  P tmp = Q[head];
  head = (head + 1) % LEN;
  return tmp;
}
int min(int a, int b){
  return a > b ? a : b;
}
int main(){
  char line[100];
  fgets(line, sizeof(line), stdin);
  int q;
  sscanf(line, "%d %d", &n, &q);
  
  for(int i = 1; i <= n; ++i){
    fgets(line, sizeof(line), stdin);
    sscanf(line, "%s %d", Q[i].name, &Q[i].t);
  }
  head = 1;
  tail = n;
  P u;
  int elaps = 0, c;
  while(head != tail){
    u = dequeue();
    c = min(q, u.t);
    u.t -= c;
    elaps += c;
    if(u.t > 0)
      enqueue(u);
    else{
      printf("%s %d\n", u.name, elaps);
    }
 }
 return 0;
}
