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