from queue import Queue

n,q =map(int,input().split()) ##n:プロセス数、q:クオンタム

qu=Queue()  ##意味を調べる

for i in range(n):
    name,t=input().split()
    qu.put((name,int(t))) ##Queueのput?
    

cnt=0

while qu.qsize()>0: ##qsize?
    name,t=qu.get() 
    cnt+=min(q,t)  ##処理時間と残り時間の小さい方をたす
    if q< t:
        qu.put((name,t-q))  ##残り時間から処理時間を引いて、後ろに回す
    else:
        print(name,cnt)
 from queue import Queue n,q =map(int,input().split()) n map(int,input().split()) map int input().split() ().split () input split q qu=Queue() qu Queue() Queue for i in range(n):
    name,t=input().split()
    qu.put((name,int(t))) ##Queueのput?
     i range(n) range n name,t=input().split() name input().split() ().split () input split t qu.put((name,int(t))) qu.put qu put (name,int(t)) name int(t) int t cnt=0 cnt 0 while qu.qsize()>0: ##qsize?
    name,t=qu.get() 
    cnt+=min(q,t)  ##処理時間と残り時間の小さい方をたす
    if q< t:
        qu.put((name,t-q))  ##残り時間から処理時間を引いて、後ろに回す
    else:
        print(name,cnt) qu.qsize()>0 qu.qsize() qu.qsize qu qsize 0 name,t=qu.get() name qu.get() qu.get qu get t cnt+=min(q,t) cnt min(q,t) min q t if q< t:
        qu.put((name,t-q))  ##残り時間から処理時間を引いて、後ろに回す
    else:
        print(name,cnt) q< t q t qu.put((name,t-q)) qu.put qu put (name,t-q) name t-q t q print(name,cnt) print name cnt q =map(int,input().split()) map(int,input().split()) q name,t=input().split() input().split() name t=qu.get() qu.get() t name,t=qu.get() qu.get() name cnt+=min(q,t) min(q,t) cnt cnt=0 0 cnt qu=Queue() Queue() qu n,q =map(int,input().split()) map(int,input().split()) n t=input().split() input().split() t
from queue import Queue

n,q =map(int,input().split()) ##n:プロセス数、q:クオンタム

qu=Queue()  ##意味を調べる

for i in range(n):
    name,t=input().split()
    qu.put((name,int(t))) ##Queueのput?
    

cnt=0

while qu.qsize()>0: ##qsize?
    name,t=qu.get() 
    cnt+=min(q,t)  ##処理時間と残り時間の小さい方をたす
    if q< t:
        qu.put((name,t-q))  ##残り時間から処理時間を引いて、後ろに回す
    else:
        print(name,cnt)

