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

int min(int a, int b) {
	if( a < b ){
		return a;
	}
	else{
		return b;
	}
}

typedef struct {
	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 main(){  
	int elaps = 0, c, i, q;
	P u;
	scanf( "%d %d", &n, &q );
	for( i = 1; i <= n; i++ ){
		scanf( "%s %d", Q[ i ].name, &Q[ i ].t );
	}
	head = 1;
	tail = n + 1;
	while( head != tail ){
		u = dequeue();
		c = min( q, u.t );
		u.t -= c;
		elaps += c;
		if( u.t > 0 ){
			enqueue( u );
		}
		else{
			printf( "%s %d\n", u.name, elaps );
		}
	}
	return 0;
}