#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
?????\???
?????? namei ??¨????????????????????? timei ????????? n ???????????????????????????????????????????????§????????????
??????????????????????????±?????\???????????°??¨?????°????????????????????§??????CPU ?????????????????????????????????????????????
???????????????????????§ q ms?????????????????????????????¨???????????????????????????????????????????????????
q ms ????????????????????£????????????????????????????????????????????????????????°???
??????????????????????????????????°?????§??????????CPU ????¬??????????????????????????????????????????????

??????????????????????????±?????\???????????°???????????\??¬????????????????????°????????????????????????????????????
"""

# ?????????
n,q = list(map(int,input().strip().split()))
QUE = []
CNP = []
for i in range(n):
    a = list(input().strip().split())
    a[1] = int(a[1])
    QUE.append(a)

total = 0
while len(QUE) > 0:
    p = QUE.pop(0)
    pt = p[1] - q
#    print("unshift p={} t={} q={} pt={}".format(p[0],p[1],q,pt))
    if pt < 1:
        total += p[1]
        CNP.append([p[0],total])
#        print("end p={} t={}".format(p[0],total))
    else:
        p[1] = pt
        QUE.append(p)
#        print("push p={} t={}".format(p[0],p[1]))
        total += q
for i in CNP:
    print("{} {}".format(i[0],i[1])) """
?????\???
?????? namei ??¨????????????????????? timei ????????? n ???????????????????????????????????????????????§????????????
??????????????????????????±?????\???????????°??¨?????°????????????????????§??????CPU ?????????????????????????????????????????????
???????????????????????§ q ms?????????????????????????????¨???????????????????????????????????????????????????
q ms ????????????????????£????????????????????????????????????????????????????????°???
??????????????????????????????????°?????§??????????CPU ????¬??????????????????????????????????????????????

??????????????????????????±?????\???????????°???????????\??¬????????????????????°????????????????????????????????????
""" n,q = list(map(int,input().strip().split())) n list(map(int,input().strip().split())) list map(int,input().strip().split()) map int input().strip().split() ().strip().split ().strip() ().strip () input strip split q QUE = [] QUE [] CNP = [] CNP [] for i in range(n):
    a = list(input().strip().split())
    a[1] = int(a[1])
    QUE.append(a) i range(n) range n a = list(input().strip().split()) a list(input().strip().split()) list input().strip().split() ().strip().split ().strip() ().strip () input strip split a[1] = int(a[1]) a[1] a 1 int(a[1]) int a[1] a 1 QUE.append(a) QUE.append QUE append a total = 0 total 0 while len(QUE) > 0:
    p = QUE.pop(0)
    pt = p[1] - q
#    print("unshift p={} t={} q={} pt={}".format(p[0],p[1],q,pt))
    if pt < 1:
        total += p[1]
        CNP.append([p[0],total])
#        print("end p={} t={}".format(p[0],total))
    else:
        p[1] = pt
        QUE.append(p)
#        print("push p={} t={}".format(p[0],p[1]))
        total += q len(QUE) > 0 len(QUE) len QUE 0 p = QUE.pop(0) p QUE.pop(0) QUE.pop QUE pop 0 pt = p[1] - q pt p[1] - q p[1] p 1 q if pt < 1:
        total += p[1]
        CNP.append([p[0],total])
#        print("end p={} t={}".format(p[0],total))
    else:
        p[1] = pt
        QUE.append(p)
#        print("push p={} t={}".format(p[0],p[1]))
        total += q pt < 1 pt 1 total += p[1] total p[1] p 1 CNP.append([p[0],total]) CNP.append CNP append [p[0],total] p[0] p 0 total p[1] = pt p[1] p 1 pt QUE.append(p) QUE.append QUE append p total += q total q for i in CNP:
    print("{} {}".format(i[0],i[1])) i CNP print("{} {}".format(i[0],i[1])) print "{} {}".format(i[0],i[1]) "{} {}".format "{} {}" format i[0] i 0 i[1] i 1 total += p[1] p[1] total n,q = list(map(int,input().strip().split())) list(map(int,input().strip().split())) n total = 0 0 total pt = p[1] - q p[1] - q pt QUE = [] [] QUE CNP = [] [] CNP p = QUE.pop(0) QUE.pop(0) p a = list(input().strip().split()) list(input().strip().split()) a q = list(map(int,input().strip().split())) list(map(int,input().strip().split())) q total += q q total
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
?????\???
?????? namei ??¨????????????????????? timei ????????? n ???????????????????????????????????????????????§????????????
??????????????????????????±?????\???????????°??¨?????°????????????????????§??????CPU ?????????????????????????????????????????????
???????????????????????§ q ms?????????????????????????????¨???????????????????????????????????????????????????
q ms ????????????????????£????????????????????????????????????????????????????????°???
??????????????????????????????????°?????§??????????CPU ????¬??????????????????????????????????????????????

??????????????????????????±?????\???????????°???????????\??¬????????????????????°????????????????????????????????????
"""

# ?????????
n,q = list(map(int,input().strip().split()))
QUE = []
CNP = []
for i in range(n):
    a = list(input().strip().split())
    a[1] = int(a[1])
    QUE.append(a)

total = 0
while len(QUE) > 0:
    p = QUE.pop(0)
    pt = p[1] - q
#    print("unshift p={} t={} q={} pt={}".format(p[0],p[1],q,pt))
    if pt < 1:
        total += p[1]
        CNP.append([p[0],total])
#        print("end p={} t={}".format(p[0],total))
    else:
        p[1] = pt
        QUE.append(p)
#        print("push p={} t={}".format(p[0],p[1]))
        total += q
for i in CNP:
    print("{} {}".format(i[0],i[1]))