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

#define LEN 100005

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

P Q[LEN + 1];
int head, tail, n;

void enqueue(P x) {
	Q[tail] = x;
	if ((tail) == (LEN)) {
		tail = 1;
	} else {
		tail++;
	}
}

P dequeue()  {
	P x = Q[head];

	if ((head) == (LEN)) {
		head = 1;
	} else {
		head++;
	}

	return x;
}

int isEmpty() {
	return ((tail == head)? 1:0);
}

int main() {
	int elaps = 0;
	int i, q;
	P u;

	scanf("%d %d", &n, &q);

	for (i = 1; i <= n; i++) {
		scanf("%s", Q[i].name);
		scanf("%d", &Q[i].t);
	}

	head = 1;
	tail = n+1;

	while (1) {
		u = dequeue();

		if (u.t > q) {
			u.t = u.t - q;
			enqueue(u);
			elaps += q;
		} else {
			elaps += u.t;
			printf("%s %d\n",u.name, elaps);
		}
		if (isEmpty()) break;
	}

	return 0;
}