import java.util.*;

class CPU{
    int time;
    String name;
}

public class Main {
    public static void main(String[] Args){
        Scanner sc = new Scanner(System.in);
        Queue<CPU> que = new LinkedList<>();
        int n = sc.nextInt();
        CPU[] cc = new CPU[n];
        int q = sc.nextInt();
        sc.nextLine();
        for(int i=0;i<n;i++){
            String[] tt = sc.nextLine().split(" ");
            cc[i] = new CPU();
            cc[i].name = tt[0];
            cc[i].time = Integer.parseInt(tt[1]);
            que.add(cc[i]);
        }
        int tot=0;
        while(!que.isEmpty()){
            CPU now = que.poll();//返回第一个元素，并删除
            if(now.time > q){
                now.time -= q;
                que.add(now);
                tot += q;
            }
            else{
                tot += now.time;
                System.out.println(now.name + " " + tot);
            }
        }
    }

}


/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