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

#define LEN 100000

typedef struct p{
  char name[100];
  int ms;
  }P;

P Q[LEN+1];
void enqueue(P x);
P dequeue();
int head,tail,n;
int min(int a,int b){
  return a<b?a:b;
}

int main(){
  int c,i,q;
  int x=0;
  P u;
  scanf("%d %d",&n,&q);
  for (i=1;i<=n;i++){
    scanf("%s %d",Q[i].name,&Q[i].ms);
  }
  head=1;
  tail=n+1;
  while(head!=tail){
    u=dequeue();
    c=min(q, u.ms);
    u.ms-=c;
    x+=c;
    if(u.ms>0){
      enqueue(u);
    }
    else{
      printf("%s %d\n",u.name,x);
    }
  }
  return 0;
  }
  void enqueue(P x){
    Q[tail]=x;
    if (tail==LEN)tail=1;
    else tail++;
  }
  P dequeue(){
    P x=Q[head];
    if(head==LEN){
      head=1;
    }
    else head++;
    return x;
  }

