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

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

Process Q[LEN];
int head,tail,n;

void enqueue(Process x){
  Q[tail]=x;
  tail=(tail+1)%LEN;
}


Process dequeue(){
  Process x=Q[head];
  head=(head+1)%LEN;
  return x;
}

int min(int a,int b){
  if(a<b){
    return a;
  }
  else{
    return b;
  }
}

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

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

  head=1; tail=n+1;

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