# 还原排列 ## 题目描述 Alice有一个 $0\sim n$ 的排列 $p$,她告诉你 $m$ 条信息,每条信息形如 $(l,r,val)$,表示区间 $[l,r]$ 的 ${\rm mex}$ 值为 $val$。 - 一个区间的 ${\rm mex}$ 值是最小的没有在这个区间中出现的自然数。 你想要猜出Alice的排列 $p$,或声明无解。 ## 输入格式 第一行两个整数 $n$ 和 $m$。 随后 $m$ 行每行三个整数 $l,r,val$ 描述一条信息,表示区间 $[l,r]$ 的 ${\rm mex}$ 值为 $val$。 ## 输出格式 如果不存在满足所有条件的排列,输出 $-1$。 否则输出一行 $n+1$ 个正整数,表示一个 $0$ 到 $n$ 的排列。 **本题采用 Special Judge**。如果满足条件的排列有多个,你可以输出任意一个。 ## 样例 #1 ### 样例输入 #1 ``` 3 4 0 0 0 0 1 1 0 2 2 1 3 3 ``` ### 样例输出 #1 ``` 3 0 1 2 ``` ## 样例 #2 ### 样例输入 #2 ``` 5 7 0 1 0 4 5 0 1 3 1 0 5 6 0 5 6 2 5 3 2 3 1 ``` ### 样例输出 #2 ``` 4 3 5 0 1 2 ``` ## 样例 #3 ### 样例输入 #3 ``` 见下发样例 ``` ### 样例输出 #3 ``` ``` ## 提示 对于所有的数据满足:$1 \le n,m\le 5\times 10^5$,$ 0\le l,r\le n$,$0\le val\le n+1$。 - Subtask 1(15 points):$n,m\le 10$; - Subtask 2(20 points):$n,m\le 20$; - Subtask 3(10 points):$val=0$; - Subtask 4(15 points):排列和区间边界都随机生成; - Subtask 5(10 points):$n\le 10^5$; - Subtask 6(30 points):无特殊限制。 请注意使用效率较高的 IO 方式。