require 'thread'

nq=gets.split(' ').map(&:to_i)
n=nq[0]
q=nq[1]
r=Queue.new
n.times{
  p=gets.split(' ').map(&:to_s)
  p[1]=p[1].to_i
  r.push(p)
}
total=0
while !r.empty? do
  p=r.pop
  if p[1]>q then
     total+=q
     p[1]-=q
     r.push(p)
  else
     total+=p[1]
     printf("%s %d\n",p[0],total)
  end
end