#Lutece3356. 小团来打字

小团来打字

Description

小团每天都要将很多文件输入到电脑里面去,由于键盘长期的使用,导致键盘出现了一些 bug,如果连续敲击了某个键 kk 次后,再次敲击该键位的话,却不会有任何的输入,这个 bug 可以通过两种方式解决,一种是在这个时候敲击另一个键位,或者是再敲击 kk 次这个键位,从而使得这个 bug 被修复。

现在小团又收到了一份文件,文件里面有着一堆这样的连续的需要被键入的文字,但是由于小团使用的键盘是特制的字符集巨大的键盘,所以她不能使用删除键来进行操作,所以小团想知道,如果她需要输入接下来这个文件,那么她需要以怎样的方式来敲击键盘?但如果你把小团需要输出的字符丢在她面前,那也过于冗长了,因此小团只想知道对于每个键小团需要敲击多少次。

Input

第一行两个整数 n,k (1n105,1k109)n, k\ (1\le n\le 10^5,1\le k\le 10^9),表示文件的连续段数目和产生 bug 的临界值。

接下来 nn 行每行两个正整数 ai,bi (1ai,bi109)a_i,b_i\ (1\le a_i,b_i\le 10^9),表示 aia_i 这个字符将会紧接着输入 bib_i 次。

Output

第一行输出一个整数 mm,表示小团需要敲击的键位数。

接下来 mm 行每行两个正整数 ci,dic_i,d_i,表示 cic_i 这个字符键被敲击了 did_i 次。请按 cic_i 从小到大的顺序输出。

Samples

5 4
1 6
2 1
1 9
2 2
2 10
2
1 27
2 21

Resources

The 21st UESTC Programming Contest Preliminary