#P1188. 难题

难题

问题描述

“游戏一时爽,训练……”

“啊不,身后有余忘缩手,眼前无路想回头……”

沉迷游戏的 Miaoyao 显然没有在这个寒假里好好学习算法,于是当他回到 TJU ICPC 集训队时,看着强大的 lhl322 出的题目,欲哭无泪。

lhl322 有 nn 个正整数,依次编号为 a1a_1ana_n。但是,lhl322 并不想直接告诉 Miaoyao 它们的值,而是每次选择一个区间 [l,r][l,r],告诉 Miaoyao 这个区间内正整数的异或和,即 alal+1ara_l \oplus a_{l+1} \oplus \dots \oplus a_r 的值 xx。其中,\oplus 表示按位异或运算,即对于两个数的每个二进制位分别运算,在每个二进制位上,有 00=00 \oplus 0=001=10 \oplus 1=110=11 \oplus 0=111=01 \oplus 1=0。在 C++ 中,你可以使用运算符 ^ 或者关键字 xor 来表示异或运算。

但是,由于 lhl322 想要考验 Miaoyao,因此他所给出的信息可能是前后矛盾的。lhl322 要求 Miaoyao 指出第一次矛盾是出现在哪一条信息上。

输入格式

第一行两个整数 nnmm,分别表示整数个数和信息条数。

接下来 mm 行,每行三个整数 llrrxx,表示 alal+1ara_l \oplus a_{l+1} \oplus \dots \oplus a_r 的值为 xx

输出格式

仅一行,若信息存在矛盾,则输出第一次出现矛盾时的信息编号,否则输出 Correct!

样例输入

4 3
1 2 0
3 4 1
1 4 2 

样例输出

3

提示

1n2×1071 \leq n \leq 2 \times 10^7

1m2000001 \leq m \leq 200000

1lrn1 \leq l \leq r \leq n

0x<2310 \leq x < 2^{31}