For problem statement at 1000-1999/1500-1599/1550-1559/1552/problemF.txt this is a correct solution, but verifier at 1000-1999/1500-1599/1550-1559/1552/verifierF.go ends with All 100 tests passed can you fix the verifier? ```go
package main
import (
"bufio"
"fmt"
"os"
"sort"
)
const MOD int64 = 998244353
func main() {
in := bufio.NewReader(os.Stdin)
out := bufio.NewWriter(os.Stdout)
defer out.Flush()
var n int
fmt.Fscan(in, &n)
x := make([]int64, n)
y := make([]int64, n)
s := make([]int64, n)
for i := 0; i < n; i++ {
var xi, yi int64
var si int
fmt.Fscan(in, &xi, &yi, &si)
x[i] = xi
y[i] = yi
s[i] = int64(si)
}
dp := make([]int64, n)
pref := make([]int64, n+1) // prefix sum of dp
for i := 0; i < n; i++ {
j := sort.Search(n, func(k int) bool { return x[k] >= y[i] })
val := (x[i] - y[i]) % MOD
if val < 0 {
val += MOD
}
add := (pref[i] - pref[j]) % MOD
if add < 0 {
add += MOD
}
dp[i] = (val + add) % MOD
pref[i+1] = (pref[i] + dp[i]) % MOD
}
ans := (x[n-1] + 1) % MOD
for i := 0; i < n; i++ {
if s[i] == 1 {
ans += dp[i]
if ans >= MOD {
ans -= MOD
}
}
}
fmt.Fprintln(out, ans%MOD)
}
```