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