For problem statement at 1000-1999/1100-1199/1180-1189/1188/problemC.txt this is a correct solution, but verifier at 1000-1999/1100-1199/1180-1189/1188/verifierC.go ends with case 9 failed: runtime error: exit status 2
panic: runtime error: integer divide by zero
goroutine 1 [running]:
main.main()
/tmp/build-2049900204/solution.go:30 +0x488
input:
3 1
22 36 52
exit status 1 can you fix the verifier? ```go
package main
import (
"bufio"
"fmt"
"os"
"sort"
)
func main() {
reader := bufio.NewReader(os.Stdin)
var n, k int
if _, err := fmt.Fscan(reader, &n, &k); err != nil {
return
}
a := make([]int, n)
for i := 0; i < n; i++ {
fmt.Fscan(reader, &a[i])
}
sort.Ints(a)
ans := 0
mod := 998244353
prevDp := make([]int, n)
currDp := make([]int, n)
maxX := (a[n-1] - a[0]) / (k - 1)
for x := 1; x <= maxX; x++ {
for i := 0; i < n; i++ {
prevDp[i] = 1
}
for j := 2; j <= k; j++ {
sum := 0
p := 0
for i := 0; i < n; i++ {
for p < i && a[i]-a[p] >= x {
sum += prevDp[p]
if sum >= mod {
sum -= mod
}
p++
}
currDp[i] = sum
}
prevDp, currDp = currDp, prevDp
}
sumK := 0
for i := 0; i < n; i++ {
sumK += prevDp[i]
if sumK >= mod {
sumK -= mod
}
}
if sumK == 0 {
break
}
ans += sumK
if ans >= mod {
ans -= mod
}
}
fmt.Println(ans)
}
```