#codethanksfestival14qualaf. [code_thanks_festival_14_quala_f]順位表

[code_thanks_festival_14_quala_f]順位表

问题描述

高桥参加了一个编程竞赛,有N个参与者参加了这个竞赛。每个参与者被分配了从1到N的编号,高桥是参与者1。

由于无法查看排名表,高桥不知道自己的排名。在竞赛后的社交聚会上,高桥获得了M个信息,每个信息表示"参与者A_i的排名比参与者B_i高"。高桥根据这些信息计算出自己可能的最高排名。

注意,最高排名为第1名,最低排名为第N名。并且不存在有2个或更多参与者同时获得同一名次的情况。


输入

输入以以下格式从标准输入中给出。

N M A_1 B_1 A_2 B_2 : A_M B_M

  • 第1行包含两个整数,N表示竞赛参与者的数量(2 ≤ N ≤ 50),M表示高桥获得的信息数量(1 ≤ M ≤ 50)。
  • 接下来的M行提供了高桥所获取的信息。其中第i行包含两个整数,A_i和B_i(1 ≤ A_i ≤ N,1 ≤ B_i ≤ N,A_i ≠ B_i),表示参与者A_i的排名比参与者B_i高。

保证不会提供矛盾的信息,并且不会重复提供相同的信息。

输出

输出高桥(参与者1)可能的最高排名,以一行形式输出一个整数。


输入示例1

5 3
2 1
3 2
1 5

输出示例1

3

这三条信息分别是:

  • 参与者2的排名比参与者1高。
  • 参与者3的排名比参与者2高。
  • 参与者1的排名比参与者5高。

可能的排名表如下所示:

  • 第1名:参与者3
  • 第2名:参与者2
  • 第3名:参与者1
  • 第4名:参与者4
  • 第5名:参与者5

在这种情况下,高桥作为参与者1,排名是第3名。由于不存在高于第2名的情况,所以输出3。


输入示例2

3 2
2 1
2 3

输出示例2

2

输入示例3

8 10
3 8
2 1
4 6
3 6
4 1
5 8
2 4
7 6
7 2
3 1

输出示例3

5