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

#define LEN 100000

typedef struct pp{
  char name[10];
  int time;
}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 min(int x,int y){
  return x<y ? x:y;
}

int main(){
  int elaps=0,c,i,q;
  P u;

  scanf("%d %d",&n,&q);

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

  while(head!=tail){
    u=dequeue();
    c=min(q,u.time);
    u.time=u.time-c;
    elaps=elaps+c;
    if(u.time>0)enqueue(u);
    else printf("%s %d\n",u.name,elaps);
  }

  return 0;
}

