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

struct process {
	char name[11];
	int time;
	int ans;
};

struct process pro[100001], ans_pro[100001];

int main(void) {

	int n, q, i, j, co = 0, coo = 0, cot = 0, co_zero = 0, co_time = 0, co_end = 0, co_ans = 0;
	struct process k;

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

	while (n != co_zero) {
		coo = co_zero;
		cot = 0;
		for (i = 0; i < n - coo; i++) {
			if (pro[i].time > q) {
				co_time += q;
				pro[i].time -= q;
				pro[i - cot] = pro[i];
			}
			else {
				co_time += pro[i].time;
				ans_pro[co_ans].ans = co_time;
				strcpy(ans_pro[co_ans].name, pro[i].name);
				co_ans++;
				co_zero++;
				cot++;
			}
		}
	}
	for (i = 0; i < n; i++) {
		printf("%s %d\n", ans_pro[i].name, ans_pro[i].ans);
	}
	return 0;
}

