#include <bits/stdc++.h>
using namespace std;
int main() {
  int a[1000][1000], x[1000], mini;
  int i, j, u, v, w, z, j1;
  scanf("%d%d", &u, &v);
  for (i = 0; i < u; i++) {
    scanf("%d", &x[i]);
  }
  for (i = 0; i < v; i++) {
    scanf("%d%d", &w, &z);
    a[w - 1][z - 1] = 1;
    a[z - 1][w - 1] = 1;
  }
  mini = -1;
  for (i = 0; i < u; i++) {
    for (j = 0; j < u; j++) {
      if (a[i][j] == 1) {
        for (j1 = (j + 1); j1 < u; j1++) {
          if ((a[i][j1] == 1) && (a[j][j1] == 1)) {
            if ((mini == -1) || (mini > (x[j] + x[j1] + x[i])))
              mini = x[j] + x[j1] + x[i];
          }
        }
      }
    }
  }
  cout << mini << "\n";
  return (0);
}
