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

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

p Q[LEN];

int head,tail;

void enqueue(p x)
{
	Q[tail] = x;
	tail = (tail + 1) % LEN;
}

p dequeue(){
	p x = Q[head];
	head = (head+1) % LEN;
	return x;
}

int min(int a,int b){
	return a<b?a:b;
}

int main()
{
	int n,q,c;
	int sum = 0;
	p u;
	scanf("%d %d",&n,&q);
	
	for(int i=1; i<=n; i++)
	{
		scanf("%s",Q[i].name);
		scanf("%d",&Q[i].t);
	}
	
	head = 1, tail = n+1;
	while(head != tail)
	{
		u = dequeue();
		c = min(q,u.t);
		u.t -= c;
		sum += c;
		
		if(u.t>0)
		{
			enqueue(u);
		}
		else 
		{
			printf("%s %d\n",u.name,sum);
		}
			
	}
}
