import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.LinkedList;
import java.util.Queue;

public class Main {

    public static void main(String args[]) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] firstRow = br.readLine().split("\\s");

        // ????´???°
        int elementNum = Integer.parseInt(firstRow[0]);
        // ???????????????
        int quantum = Integer.parseInt(firstRow[1]);

        // ????????\?????????????????????????????????????????????FIFO
        // ?????????stack,dequeue??§?????£????????§?????????queue??§???????????????????????£???????????????????????????
        Queue<Process> que = new LinkedList<Process>();
        for (int i = 0; i < elementNum; i++) {
            String[] stringArray = br.readLine().split("\\s");
            // ???p1 150?????????????????¢?????§stringArray????????????????????????
            // p1?????????????????????,150?????????????????????????????????????????????????????¨??????????????????
            // ????????£??¨??????????????????????????????????????????
            Process process = new Process(stringArray[0],
                    Integer.parseInt(stringArray[1]));
            que.offer(process);
        }

        // ??????????¨???????
        int resultTime = 0;
        while (que.size() > 0) {
            Process process = que.poll();
            // ????¨???????????????¨????????????
            resultTime += quantum;
            // ???????????????????????????
            if ((process.processTime = process.processTime - quantum) > 0) {
                // ??????????????????????????????????????????????????????????????´??????
                // ???????°?????????????????????¨??????????????????
                que.offer(process);
                continue; // else??????????????§
            }
            // processTime???(-20)??????????????£???????????°????????????????????????
            // ??????????¨??????????????????????
            resultTime += process.processTime;
            // ?????????????????????????????????????????´???????????????????????¨??????????????§???????????£?????????
            // ??¨???????????????????????????
            System.out.println(process.name + " " + resultTime);
        }

    }

    /**
     * Process???????????????
     */
    private final static class Process {
        // ??????????????????public????????????
        public String name = null;
        public int processTime = 0;

        public Process(String name, int processTime) {
            this.name = name;
            this.processTime = processTime;
        }
    }
} import java.io.BufferedReader; BufferedReader java.io import java.io.IOException; IOException java.io import java.io.InputStreamReader; InputStreamReader java.io import java.util.LinkedList; LinkedList java.util import java.util.Queue; Queue java.util public class Main {

    public static void main(String args[]) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] firstRow = br.readLine().split("\\s");

        // ????´???°
        int elementNum = Integer.parseInt(firstRow[0]);
        // ???????????????
        int quantum = Integer.parseInt(firstRow[1]);

        // ????????\?????????????????????????????????????????????FIFO
        // ?????????stack,dequeue??§?????£????????§?????????queue??§???????????????????????£???????????????????????????
        Queue<Process> que = new LinkedList<Process>();
        for (int i = 0; i < elementNum; i++) {
            String[] stringArray = br.readLine().split("\\s");
            // ???p1 150?????????????????¢?????§stringArray????????????????????????
            // p1?????????????????????,150?????????????????????????????????????????????????????¨??????????????????
            // ????????£??¨??????????????????????????????????????????
            Process process = new Process(stringArray[0],
                    Integer.parseInt(stringArray[1]));
            que.offer(process);
        }

        // ??????????¨???????
        int resultTime = 0;
        while (que.size() > 0) {
            Process process = que.poll();
            // ????¨???????????????¨????????????
            resultTime += quantum;
            // ???????????????????????????
            if ((process.processTime = process.processTime - quantum) > 0) {
                // ??????????????????????????????????????????????????????????????´??????
                // ???????°?????????????????????¨??????????????????
                que.offer(process);
                continue; // else??????????????§
            }
            // processTime???(-20)??????????????£???????????°????????????????????????
            // ??????????¨??????????????????????
            resultTime += process.processTime;
            // ?????????????????????????????????????????´???????????????????????¨??????????????§???????????£?????????
            // ??¨???????????????????????????
            System.out.println(process.name + " " + resultTime);
        }

    }

    /**
     * Process???????????????
     */
    private final static class Process {
        // ??????????????????public????????????
        public String name = null;
        public int processTime = 0;

        public Process(String name, int processTime) {
            this.name = name;
            this.processTime = processTime;
        }
    }
} Main public static void main(String args[]) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] firstRow = br.readLine().split("\\s");

        // ????´???°
        int elementNum = Integer.parseInt(firstRow[0]);
        // ???????????????
        int quantum = Integer.parseInt(firstRow[1]);

        // ????????\?????????????????????????????????????????????FIFO
        // ?????????stack,dequeue??§?????£????????§?????????queue??§???????????????????????£???????????????????????????
        Queue<Process> que = new LinkedList<Process>();
        for (int i = 0; i < elementNum; i++) {
            String[] stringArray = br.readLine().split("\\s");
            // ???p1 150?????????????????¢?????§stringArray????????????????????????
            // p1?????????????????????,150?????????????????????????????????????????????????????¨??????????????????
            // ????????£??¨??????????????????????????????????????????
            Process process = new Process(stringArray[0],
                    Integer.parseInt(stringArray[1]));
            que.offer(process);
        }

        // ??????????¨???????
        int resultTime = 0;
        while (que.size() > 0) {
            Process process = que.poll();
            // ????¨???????????????¨????????????
            resultTime += quantum;
            // ???????????????????????????
            if ((process.processTime = process.processTime - quantum) > 0) {
                // ??????????????????????????????????????????????????????????????´??????
                // ???????°?????????????????????¨??????????????????
                que.offer(process);
                continue; // else??????????????§
            }
            // processTime???(-20)??????????????£???????????°????????????????????????
            // ??????????¨??????????????????????
            resultTime += process.processTime;
            // ?????????????????????????????????????????´???????????????????????¨??????????????§???????????£?????????
            // ??¨???????????????????????????
            System.out.println(process.name + " " + resultTime);
        }

    } main {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] firstRow = br.readLine().split("\\s");

        // ????´???°
        int elementNum = Integer.parseInt(firstRow[0]);
        // ???????????????
        int quantum = Integer.parseInt(firstRow[1]);

        // ????????\?????????????????????????????????????????????FIFO
        // ?????????stack,dequeue??§?????£????????§?????????queue??§???????????????????????£???????????????????????????
        Queue<Process> que = new LinkedList<Process>();
        for (int i = 0; i < elementNum; i++) {
            String[] stringArray = br.readLine().split("\\s");
            // ???p1 150?????????????????¢?????§stringArray????????????????????????
            // p1?????????????????????,150?????????????????????????????????????????????????????¨??????????????????
            // ????????£??¨??????????????????????????????????????????
            Process process = new Process(stringArray[0],
                    Integer.parseInt(stringArray[1]));
            que.offer(process);
        }

        // ??????????¨???????
        int resultTime = 0;
        while (que.size() > 0) {
            Process process = que.poll();
            // ????¨???????????????¨????????????
            resultTime += quantum;
            // ???????????????????????????
            if ((process.processTime = process.processTime - quantum) > 0) {
                // ??????????????????????????????????????????????????????????????´??????
                // ???????°?????????????????????¨??????????????????
                que.offer(process);
                continue; // else??????????????§
            }
            // processTime???(-20)??????????????£???????????°????????????????????????
            // ??????????¨??????????????????????
            resultTime += process.processTime;
            // ?????????????????????????????????????????´???????????????????????¨??????????????§???????????£?????????
            // ??¨???????????????????????????
            System.out.println(process.name + " " + resultTime);
        }

    } BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); br new BufferedReader(new InputStreamReader(System.in)) String[] firstRow = br.readLine().split("\\s"); firstRow br.readLine().split("\\s") br.readLine().split br.readLine() br.readLine br "\\s" int elementNum = Integer.parseInt(firstRow[0]); elementNum Integer.parseInt(firstRow[0]) Integer.parseInt Integer firstRow[0] firstRow 0 int quantum = Integer.parseInt(firstRow[1]); quantum Integer.parseInt(firstRow[1]) Integer.parseInt Integer firstRow[1] firstRow 1 Queue<Process> que = new LinkedList<Process>(); que new LinkedList<Process>() for (int i = 0; i < elementNum; i++) {
            String[] stringArray = br.readLine().split("\\s");
            // ???p1 150?????????????????¢?????§stringArray????????????????????????
            // p1?????????????????????,150?????????????????????????????????????????????????????¨??????????????????
            // ????????£??¨??????????????????????????????????????????
            Process process = new Process(stringArray[0],
                    Integer.parseInt(stringArray[1]));
            que.offer(process);
        } int i = 0; int i = 0; i 0 i < elementNum i elementNum i++ i++ i {
            String[] stringArray = br.readLine().split("\\s");
            // ???p1 150?????????????????¢?????§stringArray????????????????????????
            // p1?????????????????????,150?????????????????????????????????????????????????????¨??????????????????
            // ????????£??¨??????????????????????????????????????????
            Process process = new Process(stringArray[0],
                    Integer.parseInt(stringArray[1]));
            que.offer(process);
        } {
            String[] stringArray = br.readLine().split("\\s");
            // ???p1 150?????????????????¢?????§stringArray????????????????????????
            // p1?????????????????????,150?????????????????????????????????????????????????????¨??????????????????
            // ????????£??¨??????????????????????????????????????????
            Process process = new Process(stringArray[0],
                    Integer.parseInt(stringArray[1]));
            que.offer(process);
        } String[] stringArray = br.readLine().split("\\s"); stringArray br.readLine().split("\\s") br.readLine().split br.readLine() br.readLine br "\\s" Process process = new Process(stringArray[0],
                    Integer.parseInt(stringArray[1])); process new Process(stringArray[0],
                    Integer.parseInt(stringArray[1])) que.offer(process) que.offer que process int resultTime = 0; resultTime 0 while (que.size() > 0) {
            Process process = que.poll();
            // ????¨???????????????¨????????????
            resultTime += quantum;
            // ???????????????????????????
            if ((process.processTime = process.processTime - quantum) > 0) {
                // ??????????????????????????????????????????????????????????????´??????
                // ???????°?????????????????????¨??????????????????
                que.offer(process);
                continue; // else??????????????§
            }
            // processTime???(-20)??????????????£???????????°????????????????????????
            // ??????????¨??????????????????????
            resultTime += process.processTime;
            // ?????????????????????????????????????????´???????????????????????¨??????????????§???????????£?????????
            // ??¨???????????????????????????
            System.out.println(process.name + " " + resultTime);
        } que.size() > 0 que.size() que.size que 0 {
            Process process = que.poll();
            // ????¨???????????????¨????????????
            resultTime += quantum;
            // ???????????????????????????
            if ((process.processTime = process.processTime - quantum) > 0) {
                // ??????????????????????????????????????????????????????????????´??????
                // ???????°?????????????????????¨??????????????????
                que.offer(process);
                continue; // else??????????????§
            }
            // processTime???(-20)??????????????£???????????°????????????????????????
            // ??????????¨??????????????????????
            resultTime += process.processTime;
            // ?????????????????????????????????????????´???????????????????????¨??????????????§???????????£?????????
            // ??¨???????????????????????????
            System.out.println(process.name + " " + resultTime);
        } Process process = que.poll(); process que.poll() que.poll que resultTime += quantum resultTime quantum if ((process.processTime = process.processTime - quantum) > 0) {
                // ??????????????????????????????????????????????????????????????´??????
                // ???????°?????????????????????¨??????????????????
                que.offer(process);
                continue; // else??????????????§
            } (process.processTime = process.processTime - quantum) > 0 (process.processTime = process.processTime - quantum) process.processTime process process.processTime process.processTime - quantum process.processTime process process.processTime quantum 0 {
                // ??????????????????????????????????????????????????????????????´??????
                // ???????°?????????????????????¨??????????????????
                que.offer(process);
                continue; // else??????????????§
            } que.offer(process) que.offer que process continue; // else??????????????§ resultTime += process.processTime resultTime process.processTime process process.processTime System.out.println(process.name + " " + resultTime) System.out.println System.out System System.out process.name + " " + resultTime process.name + " " + resultTime process.name process process.name " " resultTime String args[] args private final static class Process {
        // ??????????????????public????????????
        public String name = null;
        public int processTime = 0;

        public Process(String name, int processTime) {
            this.name = name;
            this.processTime = processTime;
        }
    } Process // ??????????????????public????????????
        public String name = null; name null public int processTime = 0; processTime 0 public Process(String name, int processTime) {
            this.name = name;
            this.processTime = processTime;
        } Process {
            this.name = name;
            this.processTime = processTime;
        } this.name = name this.name this this.name name this.processTime = processTime this.processTime this this.processTime processTime String name name int processTime processTime public class Main {

    public static void main(String args[]) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] firstRow = br.readLine().split("\\s");

        // ????´???°
        int elementNum = Integer.parseInt(firstRow[0]);
        // ???????????????
        int quantum = Integer.parseInt(firstRow[1]);

        // ????????\?????????????????????????????????????????????FIFO
        // ?????????stack,dequeue??§?????£????????§?????????queue??§???????????????????????£???????????????????????????
        Queue<Process> que = new LinkedList<Process>();
        for (int i = 0; i < elementNum; i++) {
            String[] stringArray = br.readLine().split("\\s");
            // ???p1 150?????????????????¢?????§stringArray????????????????????????
            // p1?????????????????????,150?????????????????????????????????????????????????????¨??????????????????
            // ????????£??¨??????????????????????????????????????????
            Process process = new Process(stringArray[0],
                    Integer.parseInt(stringArray[1]));
            que.offer(process);
        }

        // ??????????¨???????
        int resultTime = 0;
        while (que.size() > 0) {
            Process process = que.poll();
            // ????¨???????????????¨????????????
            resultTime += quantum;
            // ???????????????????????????
            if ((process.processTime = process.processTime - quantum) > 0) {
                // ??????????????????????????????????????????????????????????????´??????
                // ???????°?????????????????????¨??????????????????
                que.offer(process);
                continue; // else??????????????§
            }
            // processTime???(-20)??????????????£???????????°????????????????????????
            // ??????????¨??????????????????????
            resultTime += process.processTime;
            // ?????????????????????????????????????????´???????????????????????¨??????????????§???????????£?????????
            // ??¨???????????????????????????
            System.out.println(process.name + " " + resultTime);
        }

    }

    /**
     * Process???????????????
     */
    private final static class Process {
        // ??????????????????public????????????
        public String name = null;
        public int processTime = 0;

        public Process(String name, int processTime) {
            this.name = name;
            this.processTime = processTime;
        }
    }
} public class Main {

    public static void main(String args[]) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] firstRow = br.readLine().split("\\s");

        // ????´???°
        int elementNum = Integer.parseInt(firstRow[0]);
        // ???????????????
        int quantum = Integer.parseInt(firstRow[1]);

        // ????????\?????????????????????????????????????????????FIFO
        // ?????????stack,dequeue??§?????£????????§?????????queue??§???????????????????????£???????????????????????????
        Queue<Process> que = new LinkedList<Process>();
        for (int i = 0; i < elementNum; i++) {
            String[] stringArray = br.readLine().split("\\s");
            // ???p1 150?????????????????¢?????§stringArray????????????????????????
            // p1?????????????????????,150?????????????????????????????????????????????????????¨??????????????????
            // ????????£??¨??????????????????????????????????????????
            Process process = new Process(stringArray[0],
                    Integer.parseInt(stringArray[1]));
            que.offer(process);
        }

        // ??????????¨???????
        int resultTime = 0;
        while (que.size() > 0) {
            Process process = que.poll();
            // ????¨???????????????¨????????????
            resultTime += quantum;
            // ???????????????????????????
            if ((process.processTime = process.processTime - quantum) > 0) {
                // ??????????????????????????????????????????????????????????????´??????
                // ???????°?????????????????????¨??????????????????
                que.offer(process);
                continue; // else??????????????§
            }
            // processTime???(-20)??????????????£???????????°????????????????????????
            // ??????????¨??????????????????????
            resultTime += process.processTime;
            // ?????????????????????????????????????????´???????????????????????¨??????????????§???????????£?????????
            // ??¨???????????????????????????
            System.out.println(process.name + " " + resultTime);
        }

    }

    /**
     * Process???????????????
     */
    private final static class Process {
        // ??????????????????public????????????
        public String name = null;
        public int processTime = 0;

        public Process(String name, int processTime) {
            this.name = name;
            this.processTime = processTime;
        }
    }
} Main
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.LinkedList;
import java.util.Queue;

public class Main {

    public static void main(String args[]) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] firstRow = br.readLine().split("\\s");

        // ????´???°
        int elementNum = Integer.parseInt(firstRow[0]);
        // ???????????????
        int quantum = Integer.parseInt(firstRow[1]);

        // ????????\?????????????????????????????????????????????FIFO
        // ?????????stack,dequeue??§?????£????????§?????????queue??§???????????????????????£???????????????????????????
        Queue<Process> que = new LinkedList<Process>();
        for (int i = 0; i < elementNum; i++) {
            String[] stringArray = br.readLine().split("\\s");
            // ???p1 150?????????????????¢?????§stringArray????????????????????????
            // p1?????????????????????,150?????????????????????????????????????????????????????¨??????????????????
            // ????????£??¨??????????????????????????????????????????
            Process process = new Process(stringArray[0],
                    Integer.parseInt(stringArray[1]));
            que.offer(process);
        }

        // ??????????¨???????
        int resultTime = 0;
        while (que.size() > 0) {
            Process process = que.poll();
            // ????¨???????????????¨????????????
            resultTime += quantum;
            // ???????????????????????????
            if ((process.processTime = process.processTime - quantum) > 0) {
                // ??????????????????????????????????????????????????????????????´??????
                // ???????°?????????????????????¨??????????????????
                que.offer(process);
                continue; // else??????????????§
            }
            // processTime???(-20)??????????????£???????????°????????????????????????
            // ??????????¨??????????????????????
            resultTime += process.processTime;
            // ?????????????????????????????????????????´???????????????????????¨??????????????§???????????£?????????
            // ??¨???????????????????????????
            System.out.println(process.name + " " + resultTime);
        }

    }

    /**
     * Process???????????????
     */
    private final static class Process {
        // ??????????????????public????????????
        public String name = null;
        public int processTime = 0;

        public Process(String name, int processTime) {
            this.name = name;
            this.processTime = processTime;
        }
    }
}