#include<stdio.h>
#include<string.h>
#define LEN 100005
int min(int a, int b) {return a < b ? a : b;}

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

P Q[LEN+1];
int head, tail, n;

void enqueue(P x)
{
  Q[tail] = x;
  if ( tail == LEN ) tail = 1;
  else tail++;
}

P dequeue()
{
  P x = Q[head];
  if ( head == LEN ) head = 1;
  else head++;
  return x;
}

int main()
{
  int elaps = 0, c, i, q;
  P u;
  scanf("%d %d", &n, &q);
  for ( i = 1; i <= n; i++) scanf("%s %d", Q[i].name, &Q[i].t);

  head = 1; tail = n+1;

  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;
}

