#include <stdio.h>
#include <string.h>
int main()
{
  int comp,tim,i,ptim=0,tima[50000],end=0,endc=0,timb[50000],count=0,flag=0;
  char p1[10],pa[50000][10],pb[50000][10];
  scanf("%d%d",&comp,&tim);
  endc=comp;
  //データの格納
  for(i=0;i<comp;i++)
    {
      scanf("%s%d",pa[i],&tima[i]);
    }
   
  //処理
  while(comp/2>end)
    {
      //残りプロセスが半分以上の場合	
	  for(i=0;i<comp;i++)
	    {
	      //計算  
	      //完了したプロセスの場合
	      if(tima[i] == -1);
	      //プロセスが完了した場合
	      else if((tima[i]-tim) <= 0)
		{
		  ptim += tima[i]; 
		  printf("%s %d\n",pa[i],ptim);
		  tima[i]= -1;
		  end++;
		}
	      //プロセスが完了しなかった場合
	      else if((tima[i]-tim) > 0)
		{
		  tima[i] -=  tim;
		  ptim += tim;	 
		}
	    }
    }
      
  //残りプロセスが半分以下の場合
  //完了したプロセスを消去する。
  for(i=0;i<comp;i++)
    {
      if(tima[i] != -1)
	{
	  timb[count]=tima[i];
	  strcpy(pb[count],pa[i]);
	  count++;
	}
    }

  while(endc!=end)
    {
      for(i=0;i<count;i++)
	{
	  //計算  
	  //完了したプロセスの場合
	  if(timb[i] == -1);
	  //プロセスが完了した場合
	  else if((timb[i]-tim) <= 0)
	    {
	      ptim += timb[i]; 
	      printf("%s %d\n",pb[i],ptim);
	      timb[i]= -1;
	      end++;
	    }
	  //プロセスが完了しなかった場合
	  else if((timb[i]-tim) > 0)
	    {
	      timb[i] -=  tim;
	      ptim += tim;	 
	    }
	}
   
    }  
  return 0;
}


