#P1188. 难题

难题

问题描述

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

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

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

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

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

输入格式

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

接下来 mm 行,每行三个整数 ll,rr,xx,表示 al⊕al+1⊕⋯⊕ara_l \oplus a_{l+1} \oplus \dots \oplus a_r 的值为 xx。

输出格式

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

样例输入

4 3
1 2 0
3 4 1
1 4 2 

样例输出

3

提示

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

1≤m≤2000001 \leq m \leq 200000

1≤l≤r≤n1 \leq l \leq r \leq n

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