Problem D: 班委选定
[Creator : ]
Description
班主任张老师,厌倦了独自处理班级事务,他需要三个学生组成班委,来帮助他管理班级。
班上有 个学生。张老师想从中选出三人组成一个管理小组,小组成员必须互相认识,以便高效合作。同时,他们不应该太出名,以免以权谋私。对于每个小组成员,他的知名度是他认识的学生数量(不包括小组内的另外两人)。
请帮助张老师判断是否可能选出三个互相认识的学生组成小组,并找出他们知名度之和的最小值是多少。
Input
第一行包含两个以空格分隔的整数 n 和 m (3<= n<=4000,0<=m<=4000)—— 分别表示学生数量和互相认识的学生对数。
接下来的 行,每行包含两个以空格分隔的整数ai和bi(1<=ai,bi<=n,ai!=bi)。表示学生 和 互相认识。每对学生最多被列出一次。
Output
如果张老师可以选出三个互相认识的学生,则输出他们知名度之和的最小可能值。否则,输出 "-1"(不含引号)。
Sample Input Copy
5 6
1 2
1 3
2 3
2 4
3 4
4 5
Sample Output Copy
2
HINT
在第一个样例中,张老师应该选择编号为 , , 的三名学生。第一个学生除了小组内另外两人外不认识其他人,因此他的知名度是 。第二个学生的知名度是 ,因为他认识学生 。第三个学生的知名度也是 ,因为他认识学生 。知名度之和为 。
另一种可能的选择是 ,但知名度之和更大,为 。
在第二个样例中,不存在三个互相认识的学生。