#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define LEN 100005


typedef struct {
  char name[11];
  int t;
}P;

void enqueue(P);
P dequeue(void);

P queue[LEN+1];
int head = 0;
int tail;



int main() {
  int n, q, i, time = 0;
  P data;

  scanf("%d%d", &n, &q);

  for (i = 0; i < n; i++) {
    scanf("%s", queue[i].name);
    scanf("%d", &queue[i].t);
  }

  tail = n;

  while (head != tail) {
    data = dequeue();
    if (data.t <= q) {
      time += data.t;
      printf("%s %d\n", data.name, time);
    }
    else if (data.t > q) {
      time += q;
      data.t -= q;
      enqueue(data);
    }
  }


  return 0;

}


void enqueue(P q) {
int next = (tail+1) % (LEN+1);

  if (next == head) {
    printf("Queue overflow!\n");
    exit(2);
  }
  strcpy(queue[tail].name, q.name);
  queue[tail].t = q.t;
  tail = next;
}


P dequeue(void) {
  P q;

  if (head == tail) {
    printf("Queue is empty!\n");
    exit(3);
  }
  q.t = queue[head].t;
  strcpy(q.name, queue[head].name);

  head = (head+1) % (LEN+1);
  return q;
}

