#include <bits/stdc++.h>
using namespace std;
int main() {
  long long n, m;
  long long inf = 1000000005;
  cin >> n >> m;
  long long i, j, k;
  bool a[n + 1][n + 1];
  long long deg[n + 1];
  for (i = 0; i < n + 1; i++) {
    deg[i] = 0;
    for (j = 0; j < n + 1; j++) a[i][j] = false;
  }
  long long res = inf;
  for (i = 0; i < m; i++) {
    cin >> j >> k;
    a[j][k] = true;
    a[k][j] = true;
    deg[j]++;
    deg[k]++;
  }
  for (i = 1; i < n; i++) {
    for (j = i + 1; j <= n; j++) {
      if (a[i][j]) {
        for (k = j + 1; k <= n; k++) {
          if (a[i][k] && a[j][k]) res = min(res, deg[i] + deg[j] + deg[k]);
        }
      }
    }
  }
  if (res == inf)
    cout << -1 << endl;
  else
    cout << res - 6 << endl;
}
