#include<bits/stdc++.h>
using namespace std;
int n,m;
vector<int>id;
vector<vector<int>> graph;
vector<vector<int>>revGraph;
stack<int >st;
int comonent=0;
vector<int>vis;
void dfs(int u)
{
vis[u]=1;
for(auto v:graph[u])
{
if(vis[v]==0)
{
dfs(v);
}
}
st.push(u);
}
void dfs2(int u,vector<int > scc)
{
vis[u]=1;
scc.push_back(u);
for(auto v:revGraph[u])
{
if(vis[v]==0)
{
dfs2(u,scc);
}
}
}
int main()
{
cin>>n>>m;
// id.assign(n);
for(int i=0; i<n; i++)
{
int a;
cin>>a;
id.push_back(a);
}
graph.assign(n+1, {});
revGraph.assign(n+1, {});
vis.assign(n+1,0);
vector<int>indegree(n+1,0);
for(int i=0; i<m; i++)
{
int u,v;
cin>>u>>v;
graph[u].push_back(v);
indegree[v]++;
revGraph[v].push_back(u);
}
// for(int i=1; i<=n; i++)
// {
// if(vis[i]==0) dfs(i);
// }
// fill(vis.begin(),vis.end(),0);
// for(int i=1; i<=n; i++)
// {
// vector<int>scc;
// if(vis[i]==0) dfs2(i,scc);
// }
queue<int>q;
vector<int>order;
vector<vector<int>>serial;
for(int i=1; i<=n; i++)
{
if(indegree[i]==0) q.push(i);
}
while(!q.empty())
{
int u = q.front();
q.pop();
order.push_back(u);
for(auto v:graph[u])
{
indegree[v]--;
if(indegree[v]==0)q.push(v);
}
}
if(order.size()==n){
for(auto v:order){
cout<<v<<" ";
}}
else{
cout<<-1;
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IG4sbTsKdmVjdG9yPGludD5pZDsKdmVjdG9yPHZlY3RvcjxpbnQ+PiBncmFwaDsKdmVjdG9yPHZlY3RvcjxpbnQ+PnJldkdyYXBoOwpzdGFjazxpbnQgPnN0OwppbnQgY29tb25lbnQ9MDsKdmVjdG9yPGludD52aXM7Cgp2b2lkIGRmcyhpbnQgdSkKewogICAgdmlzW3VdPTE7CiAgICBmb3IoYXV0byB2OmdyYXBoW3VdKQp7CiAgICBpZih2aXNbdl09PTApCiAgICAgICAgewogICAgICAgICAgICBkZnModik7CiAgICAgICAgfQogICAgfQogICAgc3QucHVzaCh1KTsKfQp2b2lkIGRmczIoaW50IHUsdmVjdG9yPGludCAgPiBzY2MpCnsKICAgIHZpc1t1XT0xOwoKICAgIHNjYy5wdXNoX2JhY2sodSk7CiAgICBmb3IoYXV0byB2OnJldkdyYXBoW3VdKQogICAgewogICAgICAgIGlmKHZpc1t2XT09MCkKICAgICAgICB7CiAgICAgICAgICAgIGRmczIodSxzY2MpOwogICAgICAgIH0KICAgIH0KfQoKaW50IG1haW4oKQp7CiAgICBjaW4+Pm4+Pm07CiAgIC8vIGlkLmFzc2lnbihuKTsKICAgIGZvcihpbnQgaT0wOyBpPG47IGkrKykKICAgIHsKICAgICAgICBpbnQgYTsKICAgICAgICBjaW4+PmE7CiAgICAgICAgaWQucHVzaF9iYWNrKGEpOwogICAgfQogICAgZ3JhcGguYXNzaWduKG4rMSwge30pOwogICAgcmV2R3JhcGguYXNzaWduKG4rMSwge30pOwogICAgdmlzLmFzc2lnbihuKzEsMCk7CiAgICB2ZWN0b3I8aW50PmluZGVncmVlKG4rMSwwKTsKCgogICAgZm9yKGludCBpPTA7IGk8bTsgaSsrKQogICAgewogICAgICAgIGludCB1LHY7CiAgICAgICAgY2luPj51Pj52OwogICAgICAgIGdyYXBoW3VdLnB1c2hfYmFjayh2KTsKICAgICAgICBpbmRlZ3JlZVt2XSsrOwogICAgICAgIHJldkdyYXBoW3ZdLnB1c2hfYmFjayh1KTsKICAgIH0KLy8gICAgZm9yKGludCBpPTE7IGk8PW47IGkrKykKLy8gICAgewovLyAgICAgICAgaWYodmlzW2ldPT0wKSBkZnMoaSk7Ci8vICAgIH0KLy8gICAgZmlsbCh2aXMuYmVnaW4oKSx2aXMuZW5kKCksMCk7Ci8vICAgIGZvcihpbnQgaT0xOyBpPD1uOyBpKyspCi8vICAgIHsKLy8gICAgICAgIHZlY3RvcjxpbnQ+c2NjOwovLyAgICAgICAgaWYodmlzW2ldPT0wKSBkZnMyKGksc2NjKTsKLy8gICAgfQoKICAgIHF1ZXVlPGludD5xOwogICAgdmVjdG9yPGludD5vcmRlcjsKICAgdmVjdG9yPHZlY3RvcjxpbnQ+PnNlcmlhbDsKCiAgICBmb3IoaW50IGk9MTsgaTw9bjsgaSsrKQogICAgewogICAgICAgIGlmKGluZGVncmVlW2ldPT0wKSBxLnB1c2goaSk7CiAgICB9CiAgICB3aGlsZSghcS5lbXB0eSgpKQogICAgewogICAgICAgIGludCB1ID0gcS5mcm9udCgpOwogICAgICAgIHEucG9wKCk7CiAgICAgICAgb3JkZXIucHVzaF9iYWNrKHUpOwogICAgICAgIGZvcihhdXRvIHY6Z3JhcGhbdV0pCiAgICAgICAgewogICAgICAgICAgICBpbmRlZ3JlZVt2XS0tOwogICAgICAgICAgICBpZihpbmRlZ3JlZVt2XT09MClxLnB1c2godik7CgogICAgICAgIH0KCiAgICB9CgogICAgaWYob3JkZXIuc2l6ZSgpPT1uKXsKICAgIGZvcihhdXRvIHY6b3JkZXIpewogICAgICAgIGNvdXQ8PHY8PCIgIjsKCiAgICB9fQogICAgZWxzZXsKICAgICAgICBjb3V0PDwtMTsKICAgIH0KfQoK