import java.util.*;
public class T1 {
/**
* BFS广度优先算法
* 最后AC 40%,请大神帮助提点
* 写得不好,请多担待
* ----------------------
*/
public static void main(String[] args){
Scanner in = Scanner(System.);
n = in.nextInt();
m = in.nextInt();
Map<String, ArrayList<String>> map = HashMap<>();
String depart = in.next();
String destination = in.next();
for (i=0; i<m; i++) {
String from = in.next();
String to = in.next();
if (!map.containsKey(from))
map.put(from, new ArrayList<String>());
//经提示后添加以下三行: 需要记录往返路线
if(!map.containsKey(to)) //记录回程路线
map.put(to, new ArrayList<String>());
map.get(to).add(from);
map.get(from).add(to);
}
Queue<String> queue = LinkedList<>();
Set<String> visited = HashSet<>();
queue.add(depart);
visited.add(depart);
step = 0;
while (!queue.isEmpty()) {
size = queue.size();
step++;
while (size > 0) {
size--;
String curr = queue.poll();
// visited.add(curr);
ArrayList<String> des = map.get(curr);
if (des != null) {
(String str : des) {
if (str.equals(destination) || str == destination) {
System..println(step);
return;
} else {
if (visited.add(str)) {
queue.add(str);
}
}
}
}
else
continue;
}
}
System..println("DISCONNECTED");
}
}