← Home
For problem statement at 1000-1999/1700-1799/1720-1729/1725/problemI.txt this is a correct solution, but verifier at 1000-1999/1700-1799/1720-1729/1725/verifierI.go ends with case 3 failed: expected 4 got 12
input:
3
1 2
2 3
exit status 1 can you fix the verifier? ```go
package main

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

func main() {
	scanner := bufio.NewScanner(os.Stdin)
	scanner.Split(bufio.ScanWords)

	if !scanner.Scan() {
		return
	}
	nStr := scanner.Text()
	n, _ := strconv.Atoi(nStr)

	const mod = 998244353

	ans := int64(1)
	for i := 1; i <= 2*n-3; i += 2 {
		ans = (ans * int64(i)) % mod
	}

	parent := make([]int, n+1)
	size := make([]int64, n+1)
	for i := 1; i <= n; i++ {
		parent[i] = i
		size[i] = 1
	}

	find := func(i int) int {
		r := i
		for r != parent[r] {
			r = parent[r]
		}
		c := i
		for c != r {
			nxt := parent[c]
			parent[c] = r
			c = nxt
		}
		return r
	}

	for i := 1; i < n; i++ {
		scanner.Scan()
		u, _ := strconv.Atoi(scanner.Text())
		scanner.Scan()
		v, _ := strconv.Atoi(scanner.Text())

		rootU := find(u)
		rootV := find(v)

		su := size[rootU]
		sv := size[rootV]

		term := (su * sv) % mod
		term = (term * term) % mod

		ans = (ans * term) % mod

		parent[rootV] = rootU
		size[rootU] += sv
	}

	fmt.Println(ans)
}
```