N, Q = map(int, input().strip().split())

A = []
D = {}
for l in range(N):
    n, t = input().strip().split()
    A.append([n, int(t)])

T = 0
while A:
    l = A.pop(0)
    if l[1] > Q:
        l[1] -= Q
        T += Q
        A.append(l)
    else:
        T += l[1]
        print(l[0], T) N, Q = map(int, input().strip().split()) N map(int, input().strip().split()) map int input().strip().split() ().strip().split ().strip() ().strip () input strip split Q A = [] A [] D = {} D {} for l in range(N):
    n, t = input().strip().split()
    A.append([n, int(t)]) l range(N) range N n, t = input().strip().split() n input().strip().split() ().strip().split ().strip() ().strip () input strip split t A.append([n, int(t)]) A.append A append [n, int(t)] n int(t) int t T = 0 T 0 while A:
    l = A.pop(0)
    if l[1] > Q:
        l[1] -= Q
        T += Q
        A.append(l)
    else:
        T += l[1]
        print(l[0], T) A l = A.pop(0) l A.pop(0) A.pop A pop 0 if l[1] > Q:
        l[1] -= Q
        T += Q
        A.append(l)
    else:
        T += l[1]
        print(l[0], T) l[1] > Q l[1] l 1 Q l[1] -= Q l[1] l 1 Q T += Q T Q A.append(l) A.append A append l T += l[1] T l[1] l 1 print(l[0], T) print l[0] l 0 T D = {} {} D A = [] [] A n, t = input().strip().split() input().strip().split() n t = input().strip().split() input().strip().split() t N, Q = map(int, input().strip().split()) map(int, input().strip().split()) N Q = map(int, input().strip().split()) map(int, input().strip().split()) Q T += l[1] l[1] T T += Q Q T l = A.pop(0) A.pop(0) l T = 0 0 T
N, Q = map(int, input().strip().split())

A = []
D = {}
for l in range(N):
    n, t = input().strip().split()
    A.append([n, int(t)])

T = 0
while A:
    l = A.pop(0)
    if l[1] > Q:
        l[1] -= Q
        T += Q
        A.append(l)
    else:
        T += l[1]
        print(l[0], T)