n,q = map(int,input().split())
A = [list(map(str,input().split())) for i in range(n)]
time = 0
flag = 1
while len(A) > 0:
    if int(A[0][1]) <= q: #プロセスが完了する場合
        time += int(A[0][1])
        print(A[0][0],time)
        del A[0]
    else: #プロセスが完了しない場合
        time += q
        A[0][1] = str(int(A[0][1])-q)
        A.append(A[0])
        del A[0] n,q = map(int,input().split()) n map(int,input().split()) map int input().split() ().split () input split q list(map(str,input().split())) for i in range(n) for i in range(n) i range(n) range n for i in range(n) list(map(str,input().split())) list map(str,input().split()) map str input().split() ().split () input split A = [list(map(str,input().split())) for i in range(n)] A [list(map(str,input().split())) for i in range(n)] time = 0 time 0 flag = 1 flag 1 while len(A) > 0:
    if int(A[0][1]) <= q: #プロセスが完了する場合
        time += int(A[0][1])
        print(A[0][0],time)
        del A[0]
    else: #プロセスが完了しない場合
        time += q
        A[0][1] = str(int(A[0][1])-q)
        A.append(A[0])
        del A[0] len(A) > 0 len(A) len A 0 if int(A[0][1]) <= q: #プロセスが完了する場合
        time += int(A[0][1])
        print(A[0][0],time)
        del A[0]
    else: #プロセスが完了しない場合
        time += q
        A[0][1] = str(int(A[0][1])-q)
        A.append(A[0])
        del A[0] int(A[0][1]) <= q int(A[0][1]) int A[0][1] [0] A 0 1 q time += int(A[0][1]) time int(A[0][1]) int A[0][1] [0] A 0 1 print(A[0][0],time) print A[0][0] [0] A 0 0 time del A[0] A[0] A 0 time += q time q A[0][1] = str(int(A[0][1])-q) A[0][1] [0] A 0 1 str(int(A[0][1])-q) str int(A[0][1])-q int(A[0][1]) int A[0][1] [0] A 0 1 q A.append(A[0]) A.append A append A[0] A 0 del A[0] A[0] A 0 time += q q time n,q = map(int,input().split()) map(int,input().split()) n flag = 1 1 flag time = 0 0 time A = [list(map(str,input().split())) for i in range(n)] [list(map(str,input().split())) for i in range(n)] A q = map(int,input().split()) map(int,input().split()) q time += int(A[0][1]) int(A[0][1]) time
n,q = map(int,input().split())
A = [list(map(str,input().split())) for i in range(n)]
time = 0
flag = 1
while len(A) > 0:
    if int(A[0][1]) <= q: #プロセスが完了する場合
        time += int(A[0][1])
        print(A[0][0],time)
        del A[0]
    else: #プロセスが完了しない場合
        time += q
        A[0][1] = str(int(A[0][1])-q)
        A.append(A[0])
        del A[0]
