CF883B.Berland Army

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

There are nn military men in the Berland army. Some of them have given orders to other military men by now. Given mm pairs ( xix_{i} , yiy_{i} ), meaning that the military man xix_{i} gave the ii -th order to another military man yiy_{i} .

It is time for reform! The Berland Ministry of Defence plans to introduce ranks in the Berland army. Each military man should be assigned a rank — integer number between 11 and kk , inclusive. Some of them have been already assigned a rank, but the rest of them should get a rank soon.

Help the ministry to assign ranks to the rest of the army so that:

  • for each of mm orders it is true that the rank of a person giving the order (military man xix_{i} ) is strictly greater than the rank of a person receiving the order (military man yiy_{i} );
  • for each rank from 11 to kk there is at least one military man with this rank.

输入格式

The first line contains three integers nn , mm and kk ( 1<=n<=21051<=n<=2·10^{5} , 0<=m<=21050<=m<=2·10^{5} , 1<=k<=21051<=k<=2·10^{5} ) — number of military men in the Berland army, number of orders and number of ranks.

The second line contains nn integers r1,r2,...,rnr_{1},r_{2},...,r_{n} , where ri>0r_{i}>0 (in this case 1<=ri<=k1<=r_{i}<=k ) means that the ii -th military man has been already assigned the rank rir_{i} ; ri=0r_{i}=0 means the ii -th military man doesn't have a rank yet.

The following mm lines contain orders one per line. Each order is described with a line containing two integers xix_{i} , yiy_{i} ( 1<=xi,yi<=n1<=x_{i},y_{i}<=n , xiyix_{i}≠y_{i} ). This line means that the ii -th order was given by the military man xix_{i} to the military man yiy_{i} . For each pair (x,y)(x,y) of military men there could be several orders from xx to yy .

输出格式

Print nn integers, where the ii -th number is the rank of the ii -th military man. If there are many solutions, print any of them.

If there is no solution, print the only number -1.

输入输出样例

  • 输入#1

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

    输出#1

    1 3 3 2 2 
    
  • 输入#2

    7 6 5
    0 4 5 4 1 0 0
    6 1
    3 6
    3 1
    7 5
    7 1
    7 4
    

    输出#2

    2 4 5 4 1 3 5 
    
  • 输入#3

    2 2 2
    2 1
    1 2
    2 1
    

    输出#3

    -1
    
首页