题目描述
在遥远的地方有一条大河,河边有许多村庄。村庄按顺序沿着河流编号为0到M。相邻村庄之间的距离正好是1英里。
米尔科住在标为0的村庄里。他从事用自己的船在村庄之间运送人的生意。今天,米尔科将从他的村庄前往M村,同时他也会沿途运送一些人。
今天有N个人希望出行,我们知道每个人的起点和终点。米尔科的船可以容纳任意数量的人。
比如说,A人从2村前往8村,B人从6村前往4村。和往常一样,米尔科会从他的0村出发,在2村接上A,在6村接上B,回到4村让B下车,继续前往8村让A下车,然后继续前往他的最终目的地M村。这个场景在下面的第一个测试用例中给出。
编写一个程序,求出米尔科为了把所有人送到目的地并最终到达M村必须行驶的最少英里数。
输入格式
输入的第一行包含整数N和M(N≤300000,3≤M≤10^9)。
接下来的N行各包含两个整数,分别是每个想要出行的村民的起点和终点。这些数字的范围在0到M之间。
输出格式
输出米尔科必须行驶的最少英里数。