지하철

아직 제출이 없습니다시간 제한3초메모리 제한128 MB

문제

어느 도시가 오랜 기간에 걸쳐 지하철을 건설해 왔습니다. 예산 관리가 잘못되어 비용이 크게 과소평가된 탓에, 정작 열차를 살 자금은 남지 않았습니다. 그 결과 역은 너무 많이 지어졌지만 계획했던 터널은 일부만 완공되어, 임의의 두 역 사이를 오갈 수 있는 최소한의 연결만 겨우 확보된 상태입니다. 각 터널은 양방향이며, 터널의 개수는 역의 개수보다 정확히 하나 적습니다. 남은 자금으로는 열차도 몇 대밖에 사지 못했습니다.

체면을 세우기 위해, 이사회는 정해진 수의 지하철 노선으로 최대한 많은 역을 잇도록 노선을 계획해 달라고 요청했습니다. 각 열차는 지정된 하나의 노선을 운행합니다. 노선은 분기할 수 없습니다(한 역에서 나가는 세 개의 터널이 같은 노선에 속할 수는 없습니다). 서로 다른 노선이 같은 역이나 같은 터널을 공유해도 됩니다.

다음을 수행하는 프로그램을 작성하세요.

  • 표준 입력에서 터널망의 구조와 계획할 지하철 노선의 수를 읽습니다.
  • 주어진 수의 노선으로 덮을 수 있는 역의 최대 개수를 계산합니다.
  • 그 결과를 표준 출력에 씁니다.

입력

첫째 줄에 두 정수 nnll이 공백 하나로 구분되어 주어집니다(2n1,000,0002 \le n \le 1{,}000{,}000, 0ln0 \le l \le n). nn은 역의 수, ll은 계획할 지하철 노선의 수입니다. 역에는 11부터 nn까지 번호가 매겨져 있습니다.

이어지는 n1n-1개의 줄에는 각각 서로 다른 두 정수가 공백 하나로 구분되어 주어집니다. i+1i+1번째 줄의 두 정수 aia_i, bib_i(1ai,bin1 \le a_i, b_i \le n)는 ii번째 터널이 잇는 두 역의 번호입니다.

출력

열차 노선으로 덮을 수 있는 역의 최대 개수를 나타내는 정수 하나를 첫째 줄에 출력합니다.

힌트

그림은 (지하철 노선을 표시한) 터널망을 최적 구성 중 하나로 나타낸 것입니다.