만드는 중입니다

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

그래프의 꼬리

면접 대비

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

요약
연결된 무방향 그래프에서 꼬리 조건을 만족하는 정점 열 중 가장 긴 것의 정점 수를 구합니다.
난이도

보통10점 중 4점

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

문제

Petya는 어릴 때부터 연을 좋아한다. 연이 날아가는 모습을 보는 것을 특히 좋아하고, 바람에 펄럭이는 연 꼬리를 보는 것이 가장 좋다. 선생님이 수학 시간에 그래프를 설명하면서 연처럼 생긴 그래프를 예로 칠판에 그렸다. Petya는 곧바로 그래프의 꼬리에 주목했다.

그래프의 꼬리는 연결된 정점들의 수열이다. 첫 번째 정점은 두 번째 정점하고만 연결되어 있고, 두 번째 정점은 첫 번째 정점과 세 번째 정점하고만 연결되어 있다. 그 뒤의 정점들은 수열에서 인접한 정점하고만 연결되어 있다. 마지막 정점은 바로 앞 정점하고만 연결되어 있을 수도 있고, 바로 앞 정점과 꼬리에 포함되지 않은 정점 하나에 함께 연결되어 있을 수도 있다.

이제 Petya에게 새로운 취미가 생겼다. 그래프에서 가장 긴 꼬리를 찾는 것이다. 꼬리의 길이는 꼬리에 포함된 정점의 개수로 정한다. 그런데 Petya는 아직 꼬리의 길이를 항상 구하지는 못한다. 도와주세요.

입력

입력 파일의 첫 줄에 그래프의 정점 수 nn (1≤n≤1000001 \le n \le 100000)과 간선 수 mm (1≤m≤2000001 \le m \le 200000)이 주어진다. 다음 mm개의 줄에는 각각 간선이 잇는 두 정점의 번호 ai,bia_i, b_i가 주어진다.

같은 두 정점을 잇는 간선은 최대 하나이며, 정점을 자기 자신과 잇는 간선은 없다. 그래프의 어떤 정점에서든 다른 모든 정점으로 가는 경로가 존재한다.

출력

출력 파일에 그래프에서 가장 긴 꼬리의 길이를 나타내는 정수 하나를 출력한다.

예제1

  1. 예제 1

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