除夕之夜,万家灯火通明,小红正忙着筹备一场盛大的烟花表演。她在长街上布置了 个发射点,从 到 编号,每个发射点都准备了一枚具有特定「色彩强度值」的烟花。这种色彩强度值是一个非负整数。 然而,由于忙着和家人团聚吃年夜饭,小红不小心弄丢了每枚烟花具体的强度清单。幸好,在之前的试放记录中,她找到了 条观测数据。每条数据记录了从第 个到第 个发射点的烟花同时升空时,它们的光芒交织合并后的总强度为 。根据烟花的特性,强度的合并规则遵循 按位或(Bitwise OR) 运算。 现在,小红请你根据这 条记录,还原出 枚烟花各自的色彩强度值 。如果存在多种可能的还原方案,输出其中任意一种即可;如果这些记录之间存在矛盾,导致无法找到符合要求的强度序列,请输出 -1。
输入描述:
第一行包含两个正整数 和 (),分别表示烟花的数量和观测记录的数量。接下来的 行,每行包含三个整数 和 (,),表示在区间 内的所有烟花色彩强度按位或的结果为 。
输出描述:
如果存在符合要求的还原方案,在一行中输出 个非负整数,表示每枚烟花的色彩强度值。每个数值应小于 。如果不存在合法的方案,输出 -1。
示例1
说明
在样例中,小红给出了两条观测记录:
1. 第一条记录显示区间

的按位或结果为

。在输出的方案中,前三个数是

,计算

,符合要求。
2. 第二条记录显示区间

的按位或结果为

。在输出的方案中,后三个数是

,计算

,符合要求。
注意,第

枚烟花的强度值为

,它同时满足了上述两条记录的约束。
加载中...