编程题
### 问题描述
今天是欧涛的生日,汪欧涛作为欧涛最好的朋友,打算给欧涛举办一个特殊的生日聚会。
每个参加生日聚会(包括欧涛)的人都会穿上自己喜欢的服装。每个服装都有一个编号,他们可以知道自己的编号。
汪欧涛把服装分为 $k(k≥3)$ 类,并使用特殊的技术将每个服装的编号标在了服装上,穿上第 $i$ 类服装的人才能看到穿第 $i+1$ 类服装的人的编号,穿第 $k$ 类服装的人能看到穿第 $1$ 类服装的人的编号。
参加生日聚会的人并不知道有多少类服装,但是欧涛对此却特别好奇,他想自己算出有多少类服装,于是他开始在人群中收集信息。
欧涛收集的信息都是穿第几号服装的人看到了第几号服装的编号。如穿第 $22$ 号服装的人看到了第 $55$ 号服装的编号。欧涛自己也会看到一些编号,他也会根据自己的服装编号把信息补充进去。
由于并不是每个人都能记住自己所看到的全部编号,因此,欧涛收集的信息不能保证其完整性。现在请你计算,按照欧涛目前得到的信息,至多和至少有多少类服装。由于主办方已经声明了 $k≥3$,所以你必须将这条信息也考虑进去。
### 输入格式
第一行包含两个整数 $n, m$ 用一个空格分隔,$n$ 表示主办方总共准备了多少个服装,$m$ 表示欧涛收集了多少条信息。
接下来 $m$ 行,每行为两个用空格分开的整数 $a,b$,表示穿第 $a$ 号服装的人看到了第 $b$ 号服装的编号。相同的数对 $a,b$ 在输入文件中可能出现多次。
### 输出格式
包含两个数,第一个数为最大可能的服装类数,第二个数为最小可能的服装类数。
如果无法将所有的服装分为至少 $3$ 类,使得这些信息都满足,则认为欧涛收集的信息有错误,输出两个 $-1$。
### 输入样例1
```txt
6 5
1 2
2 3
3 4
4 1
3 5
```
### 输出样例1
```txt
4 4
```
### 输入样例2
```txt
3 3
1 2
2 1
2 3
```
### 输出样例2
```txt
-1 -1
```
### 评测数据规模
对于 $100\\%$ 的评测数据,满足 $3\le n≤10^5,1\le m≤10^6,3\le a,b\le n$。