#P1042. 烤羊

烤羊

题目背景

霓虹知名番剧《炸梦这是我去》的粉丝们正在烤羊,希望你能帮帮他们。

但是请你记住歌词和曲调,不要忘词,不要跑掉,不要火大,不要爆零。

题目描述

最近烤羊这道美食在爆炸梦想世界非常流行,于是小铃也想自己做一次试一试。

有一块羊排,正面和反面都恰好需要加热 nn 秒才能变得美味,多一秒或者少一秒都不行,所以总共需要加热 2n2n 秒。

但是,小铃在烤羊的时候总是打瞌睡,只能在清醒的时间里把羊排翻面。清醒的时间是 mm 个不相交的区间,第 ii 个区间的开始时间是 lil_i,结束时间是 rir_i。你可以在 [li,ri][l_i,r_i] 的任意一秒进行翻面操作。请注意,当你选择在第 ii 秒翻面时,羊排在在这一秒结束时翻面,这一秒烤的还是羊排的原来一面! 也就是说,在第 lil _ i 秒时,只能烤到羊排在之前被烤的那一面。

而小铃非常懒惰,每一次翻动羊排她都需要耗费巨大的能量,所以请你告诉她至少要翻面几次。如果无法烤好美味的羊排,请输出 -1

输入格式

输入的第一行为一个正整数 TT,表示有 TT 组测试数据。保证 1T101 \le T \le 10

对每一组测试数据,第一行两个正整数 nnmm 分别表示一面羊排所需要的秒数和清醒区间个数。

接下来 kk 行,每行两个整数,第 ii 行的两个整数分别表示 lil_irir_i,保证 1liri2n1 \le l_i \le r_i \le 2n,区间互不相交并且 li+1>ril_{i+1} > r_{i}

输出格式

输出 TT 行,每一行表示一组数据的答案。

样例

样例输入 1

5
5 2
1 3
6 9
5 3
1 3
4 5
8 9
1 1
2 2
10 3
5 5
13 15
17 17
10 3
4 7
11 13
16 18

样例输出 1

2
1
-1
2
2

样例 1 解释

  • 对第一组测试数据,在第 3,83,8 秒翻面,可以使得羊排正反两面各烤 55 秒。
  • 对第二组测试数据,在第 55 秒翻面,可以使得可以使得羊排正反两面各烤 55 秒。
  • 对第三组测试数据,没有办法使得羊排正反两面各烤 11 秒。
  • 对第四组测试数据,在第 5,155,15 秒翻面,可以使得羊排正反两面各烤 1010 秒。
  • 对第五组测试数据,在第 7,177,17 秒翻面,可以使得可以使得羊排正反两面各烤 1010 秒。

样例输入/输出 2

见下发文件 yomiya2.in/ans。该样例满足测试点 363 \sim 6 的限制。

样例输入/输出 3

见下发文件 yomiya3.in/ans。该样例满足测试点 131513 \sim 15 的限制。

样例输入/输出 4

见下发文件 yomiya4.in/ans。该样例满足测试点 172017 \sim 20 的限制。

数据范围与提示

本题共 2020 个测试点,每个测试点 55 分。

nn mm TT 测试点编号 特殊性质
10\le 10 5 \le 5 10\le 10 121 \sim 2
100\le 100 100 \le 100 363 \sim 6
2000\le 2000 10 \le 10 7127 \sim 12
50000\le 50000 131513 \sim 15
16 16
100 \le 100 10\le 10 1720 17 \sim 20

特殊性质:存在一个区间 [li,ri][l_i, r_i] 使得 linl_i \le nrinr_i \ge n

对于所有测试数据,保证 1n50000,1m100,1T101\le n \le 50000,1\le m \le 100, 1 \le T \le 10