来到了这个 , 便开始刷题了。
他发现,这个 上的刷题机制有如下规律:
他刚刚登上这个 ,所以他只做了 题。
这个 的积分机制非常难以理解:为了便于用户更条理化地学习编程,网站会给出若干对关系,每对关系包括两道题目的序号。当且仅当你连续做完这对关系中的两道题时,你能够得到 分(这个关系是双向的)。
这个 允许重复刷同样的题目,但不允许通过同一对关系得到 的分数(每对关系用过后就失效)。
现在一开始, 只做了第 道题()。 没有这么多时间来刷题,所以他刷的每一道题都是以得分为目的的,他不会去刷一道题而不得到分数。
也就是说,如果他连续刷了第 题和第 题,而 和 不存在关系或者这个关系已经失效,那么这个刷题方式就是不合法的。
当然, 会帮助 ,他可以帮助 解出任意若干道题目,这些解出的题目依然会出现上述的连锁效应。
不想帮 太多次,请问 想让所有 对关系失效(即得到全部做题分数)至少需要 帮助多少次。
第一行,,表示总共有多少道题目。
第二行,,表示总共有多少对关系。
第 行,每行两个数 ,,表示一对互相的关系。
最后一行一个数 ,表示 开始就会的那道题目。
仅一个数,表示 至少需要 帮助多少次。
5
2
1 2
4 5
1
xxxxxxxxxx
1
xxxxxxxxxx
5
5
1 2
2 3
3 4
4 5
5 1
1
xxxxxxxxxx
0
xxxxxxxxxx
4
6
1 2
2 3
3 4
4 1
2 4
3 1
1
xxxxxxxxxx
1
对于样例 ,他可以按如下次序刷题:,这样他就可以得到 分,即来自 的分数。
剩下的一分就不得不让 做第 题(或第 题),而 去做第 题(或第 题)了,这样才能得到来自关系对 的分数。
对于 的数据,;
对于 的数据,;
对于 的数据,;
对于 的数据,。
对于全部的数据,,关系对不会重复出现。