#include <stdio.h>
#include<string.h>
#define len 100005

typedef struct pp{
  char kota[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 x=q[head];
  head=(head+1)%len;
  return x;
}
int mini(int a,int b)
{
  return a<b ? a:b;
}

int main()
{
  int g=0,d;
  int i,r;
  p u;
  scanf("%d %d",&n,&r);
  for(i=1;i<=n;i++)
    {
      scanf("%s",q[i].kota);
      scanf("%d",&q[i].t);
    }
  head=1;tail=n+1;
  while(head!=tail)
    {
      u=dequeue();
      d=mini(r,u.t);
         u.t-=d;
      g+=d;
      if(u.t>0)enqueue(u);
      else{
	printf("%s %d\n",u.kota,g);
    }
}
return 0;
}	     
      
  
  

    

