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

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

void enqueue(P);
P dequeue();
int head=0,teal,n;
P NAME[1000005];

int main(){

  int z,q;
  int i,total=0;
  P u;

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


  teal=n;

  for(i=head;i!=teal;i++){
    u=dequeue();
    /*if(u.t>q){
      u.t-=q;
      total+=q;
    }
    else{
      total+=u.t;
      u.t=0;
      } */
    if(u.t>q)z=q;
    else z=u.t;
    u.t-=z;
    total+=z;
    if(u.t>0){
      enqueue(u);
    }
    else printf("%s %d\n",u.name,total);

}

  return 0;
}

void enqueue(P a){
  NAME[teal]=a;
  teal++;
}

P dequeue(){
  head++;
return NAME[head-1];

}

