loidc,跑起来

题目背景

loidc 在路上诱拐了一个幼女。(他不是哲学家么!?)

题目描述

现在他已经被 cony 追杀。loidc 逃到一个迷宫中,cony 也追到了这儿。迷宫由编号由 $1$ 到 $n$ 的方块组成。每两个不同的方块将被得知它们是否与另一个相邻。现在已知 loidc 和 cony 所处迷宫的位置。在迷宫中的人可以选择留在原地不动,还是移到相邻的方格中。 迷宫具有如下性质: 它不包括三角形,也就是没有任意三个不同的方块,它们两两相邻, 每一个人到达都能到达任意一个方块。 一次追杀由许多回合组成。在一个回合内,每一个人移一步。每一个回合由 loidc 开始。如果 loidc 与 cony 在同一个方格中相遇,那么我们就可能永远见不到 loidc 了。 loidc 非常害怕,他请求你告诉他是否会被 cony 抓住,多少回合 cony 赶上他。(假设两个人都足够聪明)

输入输出格式

输入格式


第一行有 $4$ 个整数 $n,m,a,b$,它们用单个空格分隔,($2 \leq n \leq 3000, n-1 \leq m \leq 15000,1 \leq a,b \leq n,a < b$)。它们分别表示迷宫中的方块数目,相邻的一对方块(双向)数目,相邻两个方格中有且仅有一条边,loidc,cony所处的位置。下面 $m$ 行,一行包含两个用一个空格分开的整数,表示每一对相邻的方块编号。

输出格式


一个单词 `NO`,如果 cony 不能赶上 loidc;或者一个整数,如果 cony 能赶上 loidc 的最少游戏轮数。

输入输出样例

输入样例 #1

9 11 9 4
1 2
3 2
1 4
4 7
7 5
5 1
6 9
8 5
9 8
5 3
4 8

输出样例 #1

3