import java.util.LinkedList;
import java.util.Scanner;
import java.util.Queue;

class Main {

    static class Process{
        String name;
        int time;

        Process(String n, int t){
            name = n;
            time = t;
        }
        void updateTime(int t){
            time -= t;
        }
    }


    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);

        int n = sc.nextInt();
        int quantum = sc.nextInt();

        Queue<Process> queue = new LinkedList<>();

        for (int i = 0; i < n; i++)
            queue.add(new Process(sc.next(), sc.nextInt()));

        int elapsed = 0;
        while (queue.size() > 0){
            Process p = queue.poll();
            if (p.time <= quantum){
                elapsed += p.time;
                System.out.println(p.name + " " + elapsed);
            }
            else{
                elapsed += quantum;
                p.updateTime(quantum);
                queue.offer(p);
            }
        }
    }
}


/tmp/hf-datasets-cache/medium/datasets/42704881117311-config-parquet-and-info-qiankunmu-Project_CodeNet-896c9d36/hub/datasets--qiankunmu--Project_CodeNet_Python800_and_Java250/snapshots/c899fde44a77ba1cc14973ed3de064e4ff3aadc7/Project_CodeNet_Java250.tar.gz