本次比赛的组委会由一群宁愿做任何事也不愿准备比赛的懒汉组成。因此,有 $N$ 名成员声称他们必须给阿姨送药,从而可以逃避工作。他们阿姨的住处都在一个 $A \times B$ 的矩阵内。他们向 Dzoni 报告了缺席情况,Dzoni 记录了他们阿姨住处的坐标以及所在位置的海拔高度。Dzoni 不知道实际的海拔高度,但他知道矩阵中任意两个相邻单元格的海拔高度之差的绝对值恰好为 $1$。考虑到这一点,在每位组委会成员提出声明后,他都会尝试重构所有单元格的海拔高度,即检查是否有可能为每个单元格分配一个海拔高度,使得所有的报告都成立。如果在某次报告之后,Dzoni 无法重构出海拔高度(鉴于 Dzoni 的能力,只要有可能,他一定能做到),那么很明显,刚才做出报告的那位组委会成员说了非常愚蠢的话。你的任务是找出那位说了非常愚蠢的话的成员。
输入格式
输入的第一行包含三个整数 $N, A$ 和 $B$,分别表示组委会成员的数量($N \le 10^5$)、矩阵的行数和列数($A, B \le 10^9$)。
接下来的 $N$ 行中,每行包含三个整数 $R_i, C_i$ 和 $H_i$,分别表示第 $i$ 位组委会成员声称的阿姨住处的行坐标、列坐标($R_i \le A, C_i \le B$)以及海拔高度($1 \le H_i \le 10^8$)。
输出格式
在唯一的一行中输出那位说了非常愚蠢的话的组委会成员的编号(组委会成员从 $1$ 开始编号)。如果不存在这样的成员,则输出 "bravo komisijo"(意为塞尔维亚语中的“祝贺组委会”),不包含引号。
样例
样例输入 1
4 3 5 1 2 1 2 1 3 2 5 21 2 2 8
样例输出 1
3