← Home
For problem statement at 0-999/900-999/970-979/979/problemC.txt this is a correct solution, but verifier at 0-999/900-999/970-979/979/verifierC.go ends with All tests passed can you fix the verifier? ```go
package main

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
	reader := bufio.NewReader(os.Stdin)
	writer := bufio.NewWriter(os.Stdout)
	defer writer.Flush()

	var n, x, y int
	fmt.Fscan(reader, &n, &x, &y)

	adj := make([][]int, n+1)
	for i := 0; i < n-1; i++ {
		var u, v int
		fmt.Fscan(reader, &u, &v)
		adj[u] = append(adj[u], v)
		adj[v] = append(adj[v], u)
	}

	sz := make([]int, n+1)
	var childWithY int

	var dfs func(u, p int) bool
	dfs = func(u, p int) bool {
		sz[u] = 1
		hasY := (u == y)
		
		for _, v := range adj[u] {
			if v != p {
				containsY := dfs(v, u)
				sz[u] += sz[v]
				if containsY {
					hasY = true
					if u == x {
						childWithY = v
					}
				}
			}
		}
		return hasY
	}

	dfs(x, 0)

	cntX := int64(n - sz[childWithY])
	cntY := int64(sz[y])

	totalPairs := int64(n) * int64(n-1)
	ans := totalPairs - (cntX * cntY)

	fmt.Fprintln(writer, ans)
}
```