编程题
### 问题描述
小齐正在为农场的奶牛提供顺风车服务。奶牛们在农场的一段长度为 $M$ 的栅栏上的不同位置聚集。然而,她们对目前的位置感到无聊,每头奶牛都希望去栅栏上的其他某个位置。小齐必须在每头奶牛的起始位置和目的地之间接送她们。由于小齐的车比较小,她一次只能运送一头奶牛。奶牛能够瞬间上下车。
为了省油,小齐希望最小化她必须驾驶的距离。给定每头奶牛的起始位置和目的地位置,确定小齐需要驾驶的最小总距离。小齐意识到,为了节省最多的油,她可能需要偶尔在奶牛的目的地之外的位置下车。
小齐从栅栏的最左侧位置 $0$ 处开始行驶,必须在栅栏的最右侧位置 $M$ 处结束行程。
### 输入格式
第 $1$ 行:由空格分隔的两个整数 $N$ 和 $M$。
第 $2$ 行至第 $1+N$ 行:每行包含两个由空格分隔的整数 $s_i$ 和 $t_i$,表示第 $i$ 头奶牛的起始位置和目的地位置。
### 输出格式
一个整数,表示小齐必须驾驶的总距离。注意,结果可能不适用于 32 位整数。
### 样例输入
```
2 10
0 9
6 5
```
### 样例输出
```
12
```
### 评测数据规模
$0 \leq s_i, t_i \leq M$,$1 \leq N \leq 100,000$,$1 \leq M \leq 1,000,000,000$。