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

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

P Q[A];
int a,b,c;

void enqueue(P x){
    Q[b]=x;
    b=(b+1)%A;
}

P dequeue(){
    P x=Q[a];
    a=(a+1)%A;
    return  x;
}

int min(int d,int e){return d<e ? d:e;}

int main(){
    int f=0,g;
    int i,j;
    P u;
    scanf("%d %d",&c,&j);
    
    for(i=1;i<=c;i++){
    scanf("%s",Q[i].name);
    scanf("%d",&Q[i].t);
}
a=1;
b=c+1;

while(a!=b){
    u = dequeue();
    g=min(j,u.t);
    u.t-=g;
    f+=g;
    if(u.t>0)enqueue(u);
    else{
        printf("%s %d\n" ,u.name,f);
    }
}
return 0;
}
