#include<stdio.h>
#include<string.h>
#define LEN 100005
  
typedef struct pp{
    char name[100];
    int t;
}P;
  
P Q[LEN + 1];
int head=1, tail, n;
  
void enqueue(P x){
    Q[tail] = x;
 
if(tail >= LEN){
tail=0;
}
 
else{
    
        tail++;
}
     
}
  
P dequeue(){
    P y; 
y = Q[head];
 
  if(head >= LEN){
head = 0;
}
 
else{
    
        head++;
}  
    return y;
}
  
  
int main(){
    int i, q;
    int time=0;
    scanf("%d %d", &n, &q);
    tail=n+1;
 
    for (i = 1; i <= n; i++){
        scanf("%s", Q[i].name);
        scanf("%d", &Q[i].t);
        }
   
    while (head != tail){
        if (Q[head].t > q){ 
            Q[head].t -= q; 
            time += q;
            enqueue(dequeue(Q[head]));
        }
        else if (Q[head].t <= q){
            time += Q[head].t;
            printf("%s %d\n",Q[head].name,time);
            dequeue(Q[head]);
        }
    }
  
    return 0;
}