n, q = map(int, input().split())

tasks = []
for _ in range(n):
    ni, ti = input().split()
    tasks.append((ni, int(ti)))

t = 0
while len(tasks) > 0:
    ni, ti = tasks.pop(0)
    if ti <= q:
        t += ti
        print(f'{ni} {t}')
    else:
        tasks.append((ni, ti - q))
        t += q
 n, q = map(int, input().split()) n map(int, input().split()) map int input().split() ().split () input split q tasks = [] tasks [] for _ in range(n):
    ni, ti = input().split()
    tasks.append((ni, int(ti))) _ range(n) range n ni, ti = input().split() ni input().split() ().split () input split ti tasks.append((ni, int(ti))) tasks.append tasks append (ni, int(ti)) ni int(ti) int ti t = 0 t 0 while len(tasks) > 0:
    ni, ti = tasks.pop(0)
    if ti <= q:
        t += ti
        print(f'{ni} {t}')
    else:
        tasks.append((ni, ti - q))
        t += q len(tasks) > 0 len(tasks) len tasks 0 ni, ti = tasks.pop(0) ni tasks.pop(0) tasks.pop tasks pop 0 ti if ti <= q:
        t += ti
        print(f'{ni} {t}')
    else:
        tasks.append((ni, ti - q))
        t += q ti <= q ti q t += ti t ti print(f'{ni} {t}') print f'{ni} {t}' tasks.append((ni, ti - q)) tasks.append tasks append (ni, ti - q) ni ti - q ti q t += q t q ni, ti = input().split() input().split() ni t += q q t t += ti ti t tasks = [] [] tasks q = map(int, input().split()) map(int, input().split()) q ti = input().split() input().split() ti n, q = map(int, input().split()) map(int, input().split()) n t = 0 0 t ni, ti = tasks.pop(0) tasks.pop(0) ni ti = tasks.pop(0) tasks.pop(0) ti
n, q = map(int, input().split())

tasks = []
for _ in range(n):
    ni, ti = input().split()
    tasks.append((ni, int(ti)))

t = 0
while len(tasks) > 0:
    ni, ti = tasks.pop(0)
    if ti <= q:
        t += ti
        print(f'{ni} {t}')
    else:
        tasks.append((ni, ti - q))
        t += q

