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

typedef struct process{
	char name[10];
	int time;
}PROC;

PROC list[100000];

int main(void){
	int i,j,n,q,total=0,max=0,temp,count=0;
	char tem[10];
	
	scanf("%d %d",&n,&q);

	for(i=0;i<n;i++){
		scanf("%s %d",list[i].name,&list[i].time);
	}
	for(i=0;i<n;i++){
		if(list[i].time>=max){
			max=list[i].time;
		}
	}

	for(i=0;;i++){
		if(i==n){
			i=0;
			for(j=0;j<n;j++){
				if(list[j].time>0){
					list[count] = list[j];
					count++;
				}
			}
			n=count;
			count=0;
		}
		if(n==0){
			break;
		}
		if(list[i].time<=q){
						total+=list[i].time;
			list[i].time=0;
			printf("%s %d\n",list[i].name,total);
		}else if(list[i].time > q){
			list[i].time-=q;
			total+=q;
		}
	}	

	return 0;
}

