#include<stdio.h>
#define N 10000
#define s 100

typedef struct{
 char name[s];
  int time;
}Q;

Q A[N+1];
int h, t;

void ENQ( Q );
Q DEQ( void );

int main()
{
  int n, q, i, T=0;
  Q ue;
  scanf("%d%d", &n, &q);
  for( i=0 ; i<n ; i++ ){
    scanf("%s%d", ue.name, &ue.time);
    ENQ( ue );
  }
  while( n!=0 ){
    ue = DEQ();
    if( ue.time>q ){
      ue.time = ue.time - q; 
      T += q;
      ENQ( ue );
    } 
    else{
      T += ue.time;
      printf("%s %d\n", ue.name, T);
      n--;
    }
  }
  return 0;
}
void ENQ( Q J ){ 
  if( N==t ) t = 0;
  A[t] = J;
  t++;
}
Q DEQ( void ){
  if( h==N ) h = 0;
  return A[h++];
}