#include<stdio.h>
#define LEN 100005

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

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


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 a, int b){
  if(a<b)return a;
  else return b;
}
int main(){
  
  int l = 0;
  int c;
  int i;
  int q;
  P a;
  scanf("%d%d", &n, &q);

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

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

