from collections import deque

n,p=map(int ,input().split())
que=deque([])

for i in range(n):
    name,time=input().split()
    time=int(time)
    que.append([name,time])

t=0
while len(que)>0:
    atop=que.popleft()
    spend=min(atop[1],p)
    atop[1]-=spend
    t+=spend
    if(atop[1]==0):
        print(atop[0],t)
    else:
        que.append(atop) from collections import deque n,p=map(int ,input().split()) n map(int ,input().split()) map int input().split() ().split () input split p que=deque([]) que deque([]) deque [] for i in range(n):
    name,time=input().split()
    time=int(time)
    que.append([name,time]) i range(n) range n name,time=input().split() name input().split() ().split () input split time time=int(time) time int(time) int time que.append([name,time]) que.append que append [name,time] name time t=0 t 0 while len(que)>0:
    atop=que.popleft()
    spend=min(atop[1],p)
    atop[1]-=spend
    t+=spend
    if(atop[1]==0):
        print(atop[0],t)
    else:
        que.append(atop) len(que)>0 len(que) len que 0 atop=que.popleft() atop que.popleft() que.popleft que popleft spend=min(atop[1],p) spend min(atop[1],p) min atop[1] atop 1 p atop[1]-=spend atop[1] atop 1 spend t+=spend t spend if(atop[1]==0):
        print(atop[0],t)
    else:
        que.append(atop) atop[1]==0 atop[1] atop 1 0 print(atop[0],t) print atop[0] atop 0 t que.append(atop) que.append que append atop p=map(int ,input().split()) map(int ,input().split()) p t+=spend spend t que=deque([]) deque([]) que name,time=input().split() input().split() name time=int(time) int(time) time n,p=map(int ,input().split()) map(int ,input().split()) n time=input().split() input().split() time t=0 0 t spend=min(atop[1],p) min(atop[1],p) spend atop=que.popleft() que.popleft() atop
from collections import deque

n,p=map(int ,input().split())
que=deque([])

for i in range(n):
    name,time=input().split()
    time=int(time)
    que.append([name,time])

t=0
while len(que)>0:
    atop=que.popleft()
    spend=min(atop[1],p)
    atop[1]-=spend
    t+=spend
    if(atop[1]==0):
        print(atop[0],t)
    else:
        que.append(atop)