#CF2096F. 奇妙的冒牌货

奇妙的冒牌货

你是一位名为吉吉·穆林的知名主播。今天,你将和编号为 1 到 n 的 n 位观众一起玩一个游戏。

在游戏中,每位玩家要么是船员,要么是内鬼。你不知道每位观众的身份。

一共有 m 条编号为 1 到 m 的陈述,这些陈述可能为真,也可能为假。对于从 1 到 m 的每个 i,第 i 条陈述分为以下两种类型之一:

  • 0 a_i b_i(1 ≤ a_i ≤ b_i ≤ n)—— 在编号 a_i, a_i+1, …, b_i 的观众中,没有内鬼;
  • 1 a_i b_i(1 ≤ a_i ≤ b_i ≤ n)—— 在编号 a_i, a_i+1, …, b_i 的观众中,至少有一名内鬼。

请回答 q 个如下形式的问题:

  • l r(1 ≤ l ≤ r ≤ m)—— 编号为 l, l+1, …, r 的所有陈述是否有可能全部为真

注意:题目不保证所有观众中至少有一名内鬼,也不保证所有观众中至少有一名船员。

输入格式

每个测试组包含多组测试用例。第一行输入测试用例数量 t(1 ≤ t ≤ 10⁴)。 每组测试用例的第一行包含两个整数 n, m(1 ≤ n, m ≤ 2·10⁵),分别表示观众数量和陈述数量。 接下来 m 行,第 i 行包含三个整数 x_i, a_i, b_i(x_i ∈ {0, 1},1 ≤ a_i ≤ b_i ≤ n),描述第 i 条陈述。 接下来一行输入一个整数 q(1 ≤ q ≤ 2·10⁵),表示问题数量。 接下来 q 行,每行包含两个整数 l 和 r(1 ≤ l ≤ r ≤ m),描述一个问题。

保证所有测试用例的 n 之和不超过 2·10⁵,所有测试用例的 m 之和不超过 2·10⁵,所有测试用例的 q 之和不超过 2·10⁵。

输出格式

对于每个问题,如果指定的所有陈述有可能全部为真,则输出 YES;否则输出 NO。

你可以以任意大小写形式输出答案,例如 yEs、yes、Yes、YES 均视为正确答案。

4
4 3
1 1 3
1 2 4
0 2 3
1
1 3
5 2
0 1 5
1 1 5
3
1 1
2 2
1 2
1 2
0 1 1
1 1 1
2
1 1
2 2
7 9
1 2 2
1 4 5
0 5 6
1 2 2
1 1 1
0 4 7
0 3 7
0 2 7
0 6 6
5
1 5
2 6
3 7
4 8
5 9
YES
YES
YES
NO
YES
YES
YES
NO
YES
NO
YES

说明

在第一个测试用例中,有 4 位观众和 3 条陈述,陈述如下:

  • 陈述 1:观众 1、2、3 中至少有一名内鬼;
  • 陈述 2:观众 2、3、4 中至少有一名内鬼;
  • 陈述 3:观众 2、3 中没有内鬼。

可以发现这三条陈述有可能全部为真,例如存在这样一种可行的情况:

  • 观众 1 是内鬼;
  • 观众 2 是船员;
  • 观众 3 是船员;
  • 观众 4 是内鬼。

在第二个测试用例中,有 5 位观众和 2 条陈述,陈述如下:

  • 陈述 1:观众 1~5 中至少有一名内鬼;
  • 陈述 2:观众 1~5 中没有内鬼。

可以发现陈述 1 有可能单独为真,陈述 2 也有可能单独为真,但两条陈述不可能同时为真。