For problem statement at 1000-1999/1700-1799/1750-1759/1753/problemC.txt this is a correct solution, but verifier at 1000-1999/1700-1799/1750-1759/1753/verifierC.go ends with All 100 tests passed. can you fix the verifier? ```go
package main
import (
"bufio"
"fmt"
"io"
"os"
)
const MOD int64 = 998244353
func main() {
data, _ := io.ReadAll(os.Stdin)
idx := 0
nextInt := func() int {
sign := 1
val := 0
n := len(data)
for idx < n && (data[idx] < '0' || data[idx] > '9') && data[idx] != '-' {
idx++
}
if idx < n && data[idx] == '-' {
sign = -1
idx++
}
for idx < n && data[idx] >= '0' && data[idx] <= '9' {
val = val*10 + int(data[idx]-'0')
idx++
}
return val * sign
}
t := nextInt()
const MAXN = 200000
inv := make([]int64, MAXN+5)
inv[1] = 1
for i := 2; i <= MAXN; i++ {
inv[i] = MOD - (MOD/int64(i))*inv[int(MOD%int64(i))]%MOD
}
ps := make([]int64, MAXN+5)
for i := 1; i <= MAXN; i++ {
ps[i] = (ps[i-1] + inv[i]*inv[i]%MOD) % MOD
}
out := bufio.NewWriter(os.Stdout)
defer out.Flush()
inv2 := (MOD + 1) / 2
for ; t > 0; t-- {
n := nextInt()
a := make([]int, n)
zeros := 0
for i := 0; i < n; i++ {
a[i] = nextInt()
if a[i] == 0 {
zeros++
}
}
x := 0
for i := 0; i < zeros; i++ {
if a[i] == 1 {
x++
}
}
if x == 0 {
fmt.Fprintln(out, 0)
continue
}
mm := (int64(n) * int64(n-1)) % MOD
mm = (mm * inv2) % MOD
ans := (mm * ps[x]) % MOD
fmt.Fprintln(out, ans)
}
}
```