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

int min(int a, int b) {return a < b ? a : b;}

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

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

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;
}

int main(){
int elaps=0;,c,i,q;
P 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\n",u.name,elaps);
}
}
return 0;
}