CF1996G Penacony

题目描述

在梦乡 $\text{Penacony}$ ,有 $n$ 栋房子和 $n$ 条双向的路。第 $i$ 栋和第 $i+1$ 栋房子(包括第 $n$ 和第 $1$ 栋之间)有双向的路连接。然而,由于梦乡的危机,领主陷入债务,难以维护所有的路。 梦乡的居民之中,有 $m$ 对好朋友。如果住在 $a$ 栋的居民和住在 $b$ 栋的居民是好朋友,那么他们必须能够通过受到维护的道路相互来往,即要求维护 $a$ 栋和 $b$ 栋之间那些的路。 请求出梦乡的领主最少需要维护多少条路。

输入格式

第一行是 $t$ ,表示测试组数。 接下来每组的第一行是 $n$ 和 $m$,有 $3 \le n \le 2\cdot10^5, 1 \le m \le 2\cdot10^5$,表示房子栋数和好朋友对数。 之后的 $m$ 行每行有两个整数 $a$ 和 $b$ ,有 $1\le a < b\le n$ ,表示 $a$ 栋和 $b$ 栋的居民是好朋友。保证每对 $(a,b)$ 都不同。 同时还保证所有测试组的 $n$ 和 $m$ 之和不超过 $2\cdot10^5$.

输出格式

每组输出一行,表示最少需要维护的道路数。

说明/提示

For the first test case, the following roads must be maintained: - $ 8 \leftarrow \rightarrow 1 $ - $ 7 \leftarrow \rightarrow 8 $ - $ 1 \leftarrow \rightarrow 2 $ - $ 4 \leftarrow \rightarrow 5 $