For problem statement at 1000-1999/1300-1399/1380-1389/1380/problemG.txt this is a correct solution, but verifier at 1000-1999/1300-1399/1380-1389/1380/verifierG.go ends with All 100 tests passed can you fix the verifier? ```go
package main
import (
"bufio"
"io"
"os"
"sort"
"strconv"
)
const mod int64 = 998244353
func nextInt(data []byte, idx *int) int {
n := len(data)
for *idx < n && (data[*idx] < '0' || data[*idx] > '9') {
*idx++
}
val := 0
for *idx < n && data[*idx] >= '0' && data[*idx] <= '9' {
val = val*10 + int(data[*idx]-'0')
*idx++
}
return val
}
func modPow(a, e int64) int64 {
res := int64(1)
for e > 0 {
if e&1 == 1 {
res = res * a % mod
}
a = a * a % mod
e >>= 1
}
return res
}
func main() {
data, _ := io.ReadAll(os.Stdin)
idx := 0
n := nextInt(data, &idx)
c := make([]int, n)
for i := 0; i < n; i++ {
c[i] = nextInt(data, &idx)
}
sort.Ints(c)
pref := make([]int64, n+1)
for i := 0; i < n; i++ {
pref[i+1] = pref[i] + int64(c[i])
}
invN := modPow(int64(n), mod-2)
ans := make([]int64, n)
for k := 1; k <= n; k++ {
m := n - k
if m == 0 {
ans[k-1] = 0
continue
}
var s int64
right := m
w := int64(1)
for right > 0 {
left := right - k
if left < 0 {
left = 0
}
s += w * (pref[right] - pref[left])
right = left
w++
}
ans[k-1] = (s % mod) * invN % mod
}
out := make([]byte, 0, n*12)
for i, v := range ans {
if i > 0 {
out = append(out, ' ')
}
out = strconv.AppendInt(out, v, 10)
}
out = append(out, '\n')
w := bufio.NewWriterSize(os.Stdout, 1<<20)
w.Write(out)
w.Flush()
}
```