만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

배신자

면접 대비

시간 제한1초메모리 제한1024 MB

요약
친구 관계와 배신자의 번호가 주어질 때, 배신자가 그룹을 나눈 뒤 가장 큰 그룹의 인원수를 구합니다.
난이도

보통10점 중 5점

유형
그래프, BFS, 구현
정답자
아직 제출이 없습니다

문제

김한양은 아웃사이더, 일명 아싸이다. 한 마디로, 친구가 별로 없다. 주변을 둘러보니 인싸(인사이더, 각종 행사나 모임에 적극적으로 참여하면서 사람들과 잘 어울려 지내는 사람을 이르는 말)인 동기들이 많이 보인다. 가만히 보니 동기들은 이미 파를 갈라 몰려다니고 있다. 여기서 '파'는 친구 관계로 연결된 사람들의 모임을 뜻한다. 친구의 친구도 같은 파로 보기 때문에, 파의 크기는 무한히 커질 수도 있다. 김한양은 최대한 빨리 많은 친구를 사귀고 싶어서, 인원이 가장 많은 파에 들어가고 싶어 한다.

그런데 동기들 중에 배신자가 한 명 있다. 배신자는 자신이 속한 파 안에서 정치질을 해서 사람들이 두루두루 친하게 지내지 못하게 만들고, 자신을 중심으로 파를 갈기갈기 찢어 놓는다. 예를 들어 1과 2, 2와 3, 3과 4, 4와 5가 친구이고 배신자가 2라고 하자. 겉으로는 (1, 2, 3, 4, 5)가 한 파처럼 보이지만, 실제로는 (1, 2) 조합과 (2, 3, 4, 5) 조합으로만 어울려 다닐 수 있다. 파가 둘로 쪼개지는 것이다.

친구 관계가 계속 이어지다가 배신자가 포함된 사이클이 생기면, 사이클에 속한 친구들끼리 배신자의 행태를 공유해서 배신자를 파에서 쫓아낸다. 예를 들어 (1, 2), (2, 3), (3, 1), (3, 4)의 친구 관계가 있고 3이 배신자라고 하자. 1과 2는 정보를 공유해 그들의 그룹에서 배신자 3을 축출한다. 결국 이들은 (1, 2) 조합과 (3, 4) 조합, 파 2개로 나뉜다.

배신자가 모든 파에서 축출되면 배신자는 친구 없이 홀로 다녀야 하므로 크기가 1인 파가 된다.

동기들의 친구 관계와 배신자가 주어졌을 때, 가장 큰 파의 인원수를 구해 김한양을 도와주자. A가 B를 친구로 여기면 B도 A를 친구로 여긴다. 주어지는 친구 관계에 중복은 없다. 자기 자신과 친구를 맺는 경우는 없으므로, 서로 다른 두 사람을 잇는 친구 관계만 주어진다.

입력

첫째 줄에 N(1 ≤ N ≤ 200,000)과 M(1 ≤ M ≤ 200,000)이 주어진다. N은 동기의 수, M은 친구 관계 정보의 개수이다.

둘째 줄부터 M개의 줄에 걸쳐 두 정수 A와 B가 공백으로 구분되어 주어진다. 이는 동기 A와 동기 B가 서로 친구라는 뜻이다.

마지막 줄에 배신자의 번호 X(1 ≤ X ≤ N)가 주어진다.

출력

가장 큰 파의 인원수를 출력한다.

예제2

  1. 예제 1

    입력
    5 4
    1 2
    2 3
    3 4
    4 5
    2
    
    예상 출력
    4
    
  2. 예제 2

    입력
    10 10
    1 2
    2 3
    3 4
    4 1
    4 5
    6 7
    7 8
    7 9
    8 9
    4 10
    4
    
    예상 출력
    4