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

#define LEN 100005

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

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

void enqueue(P);

P dequeue(void);

int main()
{
  int elaps = 0;
  int i,q;
  P u;
  scanf("%d %d",&n,&q);

  for(i = 1;i <= n;i++)
    {
      scanf("%s",Q[i].name);
      scanf("%d",&Q[i].t);
    }
  head = 1;
  tail = n + 1;

  while(1)
    {
      if(head == tail)
	{
	  break;
	}
      if(Q[head].t > q)
	{
	  Q[head].t = Q[head].t - q;
	  u = dequeue();
	  enqueue(u);
	  elaps += q;
	}
      else
	{
	  elaps += Q[head].t;
	  printf("%s %d\n",Q[head].name,elaps);
	  u = dequeue();
	}
    }
  return 0;
}

void enqueue(P x)
{
  if(head ==(tail + 1)%(LEN + 1))
    {
      printf("Error(overflow)\n");
      exit(1);
    }
      Q[tail] = x;
      if(tail + 1 == LEN + 1)
	{
	  tail = 0;
	}
      else{tail++;}
}

P dequeue()
{
  P x;
  if(head == tail)
    {
      printf("Error(underfllor)\n");
    }
  x = Q[head];
  if(head + 1 == LEN + 1)
    {
      head = 0;
    }
  else{head++;}
  return x;
}

