순환로
시간 제한1초메모리 제한1024 MB
S에서 출발해 같은 칸을 두 번 지나지 않고 걸을 때, 걷기가 끝날 수 있는 칸의 개수를 구합니다.
문제
베이트랜드의 수도 바이트타운에 비트라는 소년이 산다. 그는 고향 도시를 돌아다니며 산책하기를 좋아한다.
바이트타운의 도로망은 개의 광장과 이 광장들을 잇는 개의 거리로 이루어져 있다. 어느 광장에서든 거리를 따라 다른 모든 광장으로 갈 수 있다.
어떤 광장에서 출발해 거리를 따라 움직여 같은 광장으로 돌아올 수 있다면, 그 경로를 순환로라고 부른다. 단, 경로 중간에 어떤 광장이나 거리도 두 번 지나면 안 된다. 바이트타운 도로망의 특징은 어떤 광장도 두 개 이상의 순환로에 속하지 않는다는 점이다.
비트는 방금 앞으로의 산책 방법에 관한 새 계획을 세웠다. 매일 그는 집 앞 광장에서 출발한다. 출발한 광장에서 거리 하나를 골라 따라가면 다음 광장에 도착하고, 거기서 다시 다른 거리를 골라 계속 나아간다. 한 번의 산책에서 그는 같은 광장을 두 번 방문하지 않는다. 그는 모든 거리가 이미 방문한 광장으로 이어지는 광장에 도착할 때까지 걷는다. 그런 광장에 이르면 그날 산책을 마친 것으로 하고 버스를 타고 집으로 돌아간다.
비트의 산책이 끝날 수 있는 서로 다른 광장의 수를 구하는 프로그램을 작성하라.
입력
첫 줄에 공백으로 구분된 정수 , , 가 주어진다. 은 광장의 수, 은 거리의 수, 는 비트의 집 앞에 있는 광장의 번호이다. 제약은 , , 이다.
이어지는 개의 줄에는 각각 정수 와 가 주어진다 (, , ). 이는 광장 와 사이에 거리가 있다는 뜻이다. 두 광장 사이의 거리는 최대 하나뿐이다.
출력
정수 하나를 한 줄에 출력한다. 그 값은 비트의 산책이 끝날 수 있는 광장의 수이다.