For problem statement at 0-999/600-699/620-629/622/problemE.txt this is a correct solution, but verifier at 0-999/600-699/620-629/622/verifierE.go ends with test 7 failed:
input:
8
1 2
2 3
2 4
1 5
5 6
4 7
3 8
expected 3 got 4
exit status 1 can you fix the verifier? ```go
package main
import (
"bufio"
"fmt"
"os"
"sort"
)
func main() {
in := bufio.NewReader(os.Stdin)
var n int
fmt.Fscan(in, &n)
adj := make([][]int, n+1)
for i := 0; i < n-1; i++ {
var x, y int
fmt.Fscan(in, &x, &y)
adj[x] = append(adj[x], y)
adj[y] = append(adj[y], x)
}
var dfs func(int, int) (int, []int)
dfs = func(v, p int) (int, []int) {
var all []int
if len(adj[v]) == 1 {
all = append(all, 0)
}
var L int = len(all)
var childLists [][]int
for _, u := range adj[v] {
if u == p {
continue
}
_, lis := dfs(u, v)
childLists = append(childLists, lis)
L += len(lis)
}
for _, lis := range childLists {
for _, dd := range lis {
all = append(all, dd+1)
}
}
sort.Ints(all)
var maxT int
for i := 0; i < L; i++ {
cand := all[i] + L - 1 - i
if cand > maxT {
maxT = cand
}
}
return maxT, all
}
var ans int
for _, u := range adj[1] {
ex, _ := dfs(u, 1)
if ex+1 > ans {
ans = ex + 1
}
}
fmt.Println(ans)
}
```