2983 - 【入门】线段覆盖

通过次数

5

提交次数

5

Time Limit : 1 秒
Memory Limit : 128 MB

给你 n 条在数轴上的线段,每条线段的端点都是整数。线段可以相互交叉,重叠或甚至重合。每个线段的参数是左端点和右端点的坐标。

考虑坐标 1m 以及它们之间的坐标为整数的点。您的任务是打印所有没有被线段覆盖的点。一条线段会覆盖它的端点。

Input

输入的第一行包含两个整数 nm1 \le n,m\le 100)。

然后输入 n 行,每一行包含两个整数 lr,为线段的左右端点(1\le l\le r\le m)(线段可以退化为一个点)。

Output

在第一行打印一个整数 k,即没有被覆盖的点的个数。

在第二行打印 k 个任何顺序的整数,即没有被覆盖的点的坐标。

如果根本没有这样的点,则输出只有一个整数 0

Examples

Input

3 5
2 2
1 2
5 5

Output

2
3 4

Input

1 7
1 7

Output

0

Hint

开一个数组模拟就可以了。把所有被覆盖的点标记就可以了。