时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
Special Judge, 64bit IO Format: %lld
题目描述
小 D 有一个长度为

的正整数序列

。
小 D 定义一个区间

是好的当且仅当

升序排序后是一个等差数列。
小 D 定义一个区间

是优美的当且仅当其所有的子区间都是好的。
然而小 D 不小心把这个序列搞丢了,但是她存下了

条关于这个序列的信息,每一条信息为如下两种信息之一:
- 给出

,表示区间

不是优美的;
- 给出

,表示区间

是优美的。
现在她把这

条信息给了你,希望你帮她还原出这个序列,请你帮帮她。
如果有多个序列

满足

条信息,输出其中任意一个序列

即可。无解输出 “NO“。
输入描述:
第一行两个数
。
接下来
行每行三个数
:
- 若
,则表示区间
不是优美的;
- 若

,则表示区间

是优美的。
数据保证

。
输出描述:
若无解输出 "NO"。
否则输出两行,第一行一个字符串 "YES"(均不含引号),接下来一行
个正整数描述你还原的数列
。
你需要保证
。