#include <bits/stdc++.h>
using namespace std;
int C[100005], R[100005];
int ctos, aristas, uno, dos, chico = 100001, res = 0;
map<int, int> A[100005];
int main() {
  scanf("%d%d", &ctos, &aristas);
  for (int i = 1; i <= ctos; i++) {
    scanf("%d", &C[i]);
  }
  for (int i = 1; i <= aristas; i++) {
    scanf("%d%d", &uno, &dos);
    if (C[uno] != C[dos]) {
      if (A[C[uno]].find(C[dos]) == A[C[uno]].end()) {
        A[C[uno]][C[dos]] = 1;
        ++R[C[uno]];
      }
      if (A[C[dos]].find(C[uno]) == A[C[dos]].end()) {
        A[C[dos]][C[uno]] = 1;
        ++R[C[dos]];
      }
    }
  }
  for (int i = 1; i <= ctos; i++) {
    if (R[C[i]] > res or (R[C[i]] == res and C[i] < chico)) {
      chico = C[i];
      res = R[C[i]];
    }
  }
  printf("%d\n", chico);
  return 0;
}
