#include <stdio.h>
#include <string.h>
#define N 100000
typedef struct p{
  char name[100];
  int o;
}P;
P U[N];
int head,t,n;
void enqueue(P a){
  U[t]=a;
  t=(t+1)%N;
}
P dequeue(){
  P a=U[head];
  head=(head+1)%N;
  return a;
}
int m(int x,int y){
  return x<y?x:y;
}
int main(){
  int s=0,c,i,q;
  P w;
  scanf("%d%d",&n,&q);
  for(i=1;i<n+1;i++){
    scanf("%s",U[i].name);
    scanf("%d",&U[i].o);
  }
  head=1;
  t=n+1;
  while(head!=t){
    w=dequeue();
    c=m(q,w.o);
    w.o=w.o-c;
    s=s+c;
    if(w.o>0) enqueue(w);
    else{
      printf("%s %d\n",w.name,s);
    }
  }
  return 0;
}

