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

int main(){
  int i,sumt=0,n,q,flag,queue[100001],time[100001],head,tail; /* キューは処理してないインデクッスを格納 */
  char name[100001][11];

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

  for(i=0;i<n;i++){
    scanf("%s %d",name[i],&time[i]);
    queue[i]=i;
  }

  head=0;
  tail=i;

  flag=n;/* ループ判定は処理してない数をかぞえて判断 */
  while(flag){
    
      	
     if(time[queue[head]]<=q){
       sumt+=time[queue[head]];
       flag--;
       printf("%s %d\n",name[queue[head]],sumt);
	  
     }
     else{
       time[queue[head]]-=q;
       sumt+=q;

       
       /* キュー操作(enqueue) */
       queue[tail]=queue[head];
       if(tail==100000)tail=0;
       else tail++;
	  
     }

     /* キュー操作(dequeue) */
     if(head==100000) head=0;
     else head++;
  }

  return 0;
}

