CF1715D 2+ doors

题目描述

Narrator 有一个长度为 $n$ 的数组 $a$,但是他会仅告诉你 $n$ 和 $q$ 条信息,每条信息都包含三个数字 $i,j,x$,代表 $a_i \mid a_j = x$,其中 $|$ 是[二进制按位或运算](https://en.wikipedia.org/wiki/Bitwise_operation#OR)。 请找出字典序最小的数组 $a$ 满足这些条件。 一个数组 $a$ 在字典序意义下比一个数组 $b$ 小,当且仅当满足如下条件: - 在 $a$ 中第一个和 $b$ 元素不同的位置中,$a$ 的元素比 $b$ 中对应位置的元素小。

输入格式

第一行输入两个整数 $n$ 和 $q$($1 \le n \le 10^5$,$0 \le q \le 2 \cdot 10^5$)。 接下来 $q$ 行,读入三个整数 $i$,$j$,$x$($1 \le i, j \le n $,$ 0 \le x < 2^{30} $)。 保证至少存在一个数组 $a$ 满足所有 $q$ 个要求。

输出格式

输出一行 $n$ 个整数 $a_1, a_2, \ldots, a_n$($0 \le a_i < 2^{30}$)。

说明/提示

在样例 $1$ 中,以下这些数组满足所有条件: - $ [0, 3, 2, 2] $, - $ [2, 1, 0, 0] $, - $ [2, 1, 0, 2] $, - $ [2, 1, 2, 0] $, - $ [2, 1, 2, 2] $, - $ [2, 3, 0, 0] $, - $ [2, 3, 0, 2] $, - $ [2, 3, 2, 0] $, - $ [2, 3, 2, 2] $。