#include <bits/stdc++.h>
using namespace std;
void _main();
int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  _main();
}
const int inf = INT_MAX / 2;
const long long infl = 1LL << 60;
template <class T>
bool chmax(T& a, const T& b) {
  if (a < b) {
    a = b;
    return 1;
  }
  return 0;
}
template <class T>
bool chmin(T& a, const T& b) {
  if (b < a) {
    a = b;
    return 1;
  }
  return 0;
}
int N, M, D[101010], U[201010], V[201010];
void _main() {
  cin >> N >> M;
  for (int i = 0; i < N; i++) cin >> D[i];
  for (int i = 0; i < M; i++) {
    cin >> U[i] >> V[i];
    U[i]--;
    V[i]--;
    assert(D[U[i]] != D[V[i]]);
  }
  cout << -1 << endl;
}
