루트가 있는 트리에서 어떤 정점 V의 레벨은 루트에서 V까지의 거리이다. 정점 U가 정점 V의 부모라는 것은 U와 V가 간선으로 연결되어 있고, U의 레벨이 V의 레벨보다 정확히 1 작다는 뜻이다.
다음 재연결 작업을 원하는 만큼 수행할 수 있다.
V를 고른다.V의 조상 중 하나인 정점 U를 고른다.V와 현재 부모를 잇는 간선을 제거한다.U와 V를 간선으로 연결하여 U가 V의 새 부모가 되게 한다.작업 비용은 작업 직전 두 정점의 레벨 차이에서 1을 뺀 값이다. 작업 직전 V의 레벨이 L1, U의 레벨이 L2라면 비용은 L1 - L2 - 1이다.
트리의 높이가 K라는 것은 레벨이 K인 정점이 하나 이상 있고, 레벨이 K + 1인 정점은 없다는 뜻이다. 주어진 트리의 높이를 H 이하로 만들기 위해 필요한 재연결 작업 비용의 최솟값을 구하라. 작업은 여러 번 수행할 수 있다.
첫째 줄에 정점의 수 N이 주어진다. (1 <= N <= 100)
둘째 줄부터 N - 1개의 줄에는 트리의 간선 정보가 주어진다. 각 줄은 a b 형태이며, 이는 a가 b의 부모라는 뜻이다.
정점 번호는 0부터 N - 1까지이고, 루트는 항상 0이다.
마지막 줄에는 목표 높이 H가 주어진다. H는 1 이상 N - 1 이하의 정수이다.
트리의 높이를 H 이하로 만들기 위해 필요한 재연결 작업 비용의 최솟값을 첫째 줄에 출력한다.