#include <bits/stdc++.h>
using namespace std;
#define INF 1000000000
#define MAX 2505
vector<int> adj[MAX];
int n, m, answer = INF;
void dfs(int u, int parent, vector<int>& dist, vector<bool>& visited) {
visited[u] = true;
for (int v : adj[u]) {
if (!visited[v]) {
dist[v] = dist[u] + 1;
dfs(v, u, dist, visited);
}
else if (v != parent) {
// Chu trình được tìm thấy: tính độ dài chu trình
answer = min(answer, dist[u] - dist[v] + 1);
}
}
}
void solve() {
scanf("%d %d", &n, &m);
for (int i = 0; i < m; i++) {
int u, v; scanf("%d %d", &u, &v);
adj[u].push_back(v);
adj[v].push_back(u);
}
for (int i = 1; i <= n; i++) {
vector<bool> visited(n + 1, false);
vector<int> dist(n + 1, 0);
dfs(i, -1, dist, visited);
}
if (answer == INF) printf("-1\n");
else printf("%d\n", answer);
}
int main() {
solve();
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIElORiAxMDAwMDAwMDAwCiNkZWZpbmUgTUFYIDI1MDUKdmVjdG9yPGludD4gYWRqW01BWF07CmludCBuLCBtLCBhbnN3ZXIgPSBJTkY7Cgp2b2lkIGRmcyhpbnQgdSwgaW50IHBhcmVudCwgdmVjdG9yPGludD4mIGRpc3QsIHZlY3Rvcjxib29sPiYgdmlzaXRlZCkgewogICAgdmlzaXRlZFt1XSA9IHRydWU7CiAgICBmb3IgKGludCB2IDogYWRqW3VdKSB7CiAgICAgICAgaWYgKCF2aXNpdGVkW3ZdKSB7CiAgICAgICAgICAgIGRpc3Rbdl0gPSBkaXN0W3VdICsgMTsKICAgICAgICAgICAgZGZzKHYsIHUsIGRpc3QsIHZpc2l0ZWQpOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmICh2ICE9IHBhcmVudCkgewogICAgICAgICAgICAvLyBDaHUgdHLDrG5oIMSRxrDhu6NjIHTDrG0gdGjhuqV5OiB0w61uaCDEkeG7mSBkw6BpIGNodSB0csOsbmgKICAgICAgICAgICAgYW5zd2VyID0gbWluKGFuc3dlciwgZGlzdFt1XSAtIGRpc3Rbdl0gKyAxKTsKICAgICAgICB9CiAgICB9Cn0KCnZvaWQgc29sdmUoKSB7CiAgICBzY2FuZigiJWQgJWQiLCAmbiwgJm0pOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBtOyBpKyspIHsKICAgICAgICBpbnQgdSwgdjsgc2NhbmYoIiVkICVkIiwgJnUsICZ2KTsKICAgICAgICBhZGpbdV0ucHVzaF9iYWNrKHYpOwogICAgICAgIGFkalt2XS5wdXNoX2JhY2sodSk7CiAgICB9CgogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSB7CiAgICAgICAgdmVjdG9yPGJvb2w+IHZpc2l0ZWQobiArIDEsIGZhbHNlKTsKICAgICAgICB2ZWN0b3I8aW50PiBkaXN0KG4gKyAxLCAwKTsKICAgICAgICBkZnMoaSwgLTEsIGRpc3QsIHZpc2l0ZWQpOwogICAgfQoKICAgIGlmIChhbnN3ZXIgPT0gSU5GKSBwcmludGYoIi0xXG4iKTsKICAgIGVsc2UgcHJpbnRmKCIlZFxuIiwgYW5zd2VyKTsKfQoKaW50IG1haW4oKSB7CiAgICBzb2x2ZSgpOwp9Cg==