编程题
### 问题描述
小齐有 $N$ 头奶牛($1 \leq N \leq 25,000$),他发现只有在奶牛们经历了艰苦的登山和下山运动后,它们产出的牛奶质量才更高。于是,小齐决定让他的奶牛们爬上山,然后再下山。
每头奶牛 $i$ 爬上山需要时间 $U(i)$,然后下山需要时间 $D(i)$。由于是驯化的奶牛,每头奶牛在每个行程阶段都需要小齐的协助。然而,由于经济不景气,只有两位农夫可用,分别是小齐和他的表弟农夫冯。小齐计划为奶牛的上山阶段提供引导,然后冯将引导奶牛下山。由于每头奶牛都需要一个引导,每个阶段只能有一头奶牛上山,同时只能有一头奶牛下山。奶牛在爬上山后可能在山顶等待,直到冯的协助才能下山。奶牛下山的顺序不一定要和上山的顺序相同。
请确定所有 $N$ 头奶牛完成整个行程的最少时间。
### 输入格式
* 第 $1$ 行: 奶牛的数量 $N$。
* 接下来 $N$ 行: 每行包含两个以空格分隔的整数 $U(i)$ 和 $D(i)$,表示第 $i$ 头奶牛上山和下山所需的时间。
### 输出格式
* 第 $1$ 行: 一个整数,表示所有奶牛完成整个行程的最少时间。
### 样例输入
```
3
6 4
8 1
2 3
```
### 样例输出
```
17
```
### 评测数据规模
$1 \leq N \leq 25,000$,$1 \leq U(i), D(i) \leq 50,000$。