For problem statement at 1000-1999/1800-1899/1840-1849/1842/problemF.txt this is a correct solution, but verifier at 1000-1999/1800-1899/1840-1849/1842/verifierF.go ends with failed to read n: EOF
exit status 1 can you fix the verifier? ```go
package main
import (
"bufio"
"fmt"
"os"
"strconv"
"strings"
)
func main() {
scanner := bufio.NewScanner(os.Stdin)
scanner.Scan()
n, _ := strconv.Atoi(scanner.Text())
adj := make([][]int, n)
for i := 0; i < n-1; i++ {
scanner.Scan()
parts := strings.Fields(scanner.Text())
u, _ := strconv.Atoi(parts[0])
v, _ := strconv.Atoi(parts[1])
u--
v--
adj[u] = append(adj[u], v)
adj[v] = append(adj[v], u)
}
ans := make([]int, n+1)
dist := make([]int, n)
freq := make([]int, n)
pref := make([]int, n+1)
queue := make([]int, 0, n)
for r := 0; r < n; r++ {
for i := 0; i < n; i++ {
dist[i] = -1
}
dist[r] = 0
queue = append(queue[:0], r)
maxDist := 0
for len(queue) > 0 {
u := queue[0]
queue = queue[1:]
for _, v := range adj[u] {
if dist[v] == -1 {
dist[v] = dist[u] + 1
if dist[v] > maxDist {
maxDist = dist[v]
}
queue = append(queue, v)
}
}
}
for i := 0; i <= maxDist; i++ {
freq[i] = 0
}
for i := 0; i < n; i++ {
freq[dist[i]]++
}
pref[0] = 0
idx := 1
for d := 0; d <= maxDist; d++ {
for i := 0; i < freq[d]; i++ {
pref[idx] = pref[idx-1] + d
idx++
}
}
base := n - 1
for k := 1; k <= n; k++ {
val := k*base - 2*pref[k]
if val > ans[k] {
ans[k] = val
}
}
}
out := make([]string, n+1)
for i := 0; i <= n; i++ {
out[i] = strconv.Itoa(ans[i])
}
fmt.Println(strings.Join(out, " "))
}
```