#A0002B. 任务 II

任务 II

题目描述

妈妈给了小 X nn 个任务。完成第 ii 个任务的条件是:完成这个任务前至少有 aia_i 个任务被完成(1in1\le i\le n)。

现在有 mm 组依赖关系,具体地说,第 xjx_j 个任务需要在第 yjy_j 之前完成(1jm1\le j\le m)。

现在小 X 想知道他完成任务的顺序中字典序最小的一种是什么。

输入描述

第一行两个正整数 n,mn,m,分别表示任务数和依赖关系对数。

第二行 nn 个正整数 aia_i,表示每个任务所需的前置任务数。

接下来 mm 行,每行两个正整数 xj,yjx_j,y_j,表示一组依赖关系。

输出描述

输出 nn 个正整数,表示字典序最小的完成所有任务的方案。

如果不可能全部完成,则输出 Impossible

5 4
0 1 2 2 1
1 2
2 4
3 4
5 2
1 5 2 3 4

数据范围与约束

对于 50%50\% 的数据,有 1n1001 \le n \le100

对于 100%100\% 的数据,有

0ai<n1050\le a_i < n\le 10^5

1m2n1 \le m \le 2n

数据保证依赖关系不会互相冲突。