We'll call an array of n non-negative integers a[1], a[2], ..., a[n] interesting, if it meets m constraints. The i -th of the m constraints consists of three integers l i , r i , q i (1 ≤ l i ≤ r i ≤ n ) meaning that value should be equal to q i . Your task is to find any interesting array of n elements or state that such array doesn't exist. Expression x&y means the bitwise AND of numbers x and y . In programming languages C++, Java and Python this operation is represented as "&", in Pascal — as "and".
输入描述:
The first line contains two integers n, m (1 ≤ n ≤ 105, 1 ≤ m ≤ 105) — the number of elements in the array and the number of limits.Each of the next m lines contains three integers li, ri, qi (1 ≤ li ≤ ri ≤ n, 0 ≤ qi 30) describing the i-th limit.
输出描述:
If the interesting array exists, in the first line print "YES" (without the quotes) and in the second line print n integers a[1], a[2], ..., a[n] (0 ≤ a[i] 30) decribing the interesting array. If there are multiple answers, print any of them.If the interesting array doesn't exist, print "NO" (without the quotes) in the single line.
示例1
输入
3 1<br />1 3 3<br />3 2<br />1 3 3<br />1 3 2<br />
输出
YES<br />3 3 3<br />NO<br />
加载中...