#include <stdio.h>
#include <string.h>
#define LEN 100005
typedef struct pp{
  char name[100];
  int t;
} P;

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

void enquene(P x){
  Q[tail]=x;
  tail=(tail+1)%LEN;
}
P dequene(){
  P x;
  x=Q[head];
  head=(head+1)%LEN;
  return x;
}
int min(int a, int b){
  if(a<b)
	return a;
  else
	return b;
}
int main(){
  int n, q;
  int elaps=0, c;
  int i;
  P u;
  scanf("%d %d", &n, &q);
  for(i=0; i<n; ++i){
	scanf("%s", &Q[i].name);
	scanf("%d", &Q[i].t);
}
  head=0;
  tail=n;
  while(head!=tail){
	u=dequene();
	c=min(q, u.t);
	u.t-=c;
	elaps+=c;
	if(c>0)
	  enquene(u);
	else
	  printf("%s %d\n", u.name, elaps);
}
  return 0;
}

