/*
TASK:move
LANG:C++
*/
#include<stdio.h>
struct qw{int pul,vrah;} A[1001];
int M[101][101];
int P[1001],V[1001];
int n,m,br;
void vhod()
{int a,b;
 scanf("%d %d",&n,&m);
 for(int i=1;i<=m;i++)
  {scanf("%d %d",&a,&b);
   M[a][b]=M[b][a]=1;
  }
 for(int y=1;y<=n;y++)
  {scanf("%d",&P[y]);
   A[y].pul=P[y];
   A[y].vrah=y;
   }
}

int main()
{vhod();
 printf("-1\n");
 return 0;
}