For problem statement at 1000-1999/1300-1399/1330-1339/1332/problemE.txt this is a correct solution, but verifier at 1000-1999/1300-1399/1330-1339/1332/verifierE.go ends with All tests passed can you fix the verifier? ```go
package main
import (
"bufio"
"fmt"
"os"
)
const mod int64 = 998244353
const inv2 int64 = (mod + 1) / 2
func pow(a, b int64) int64 {
res := int64(1)
a %= mod
for b > 0 {
if b&1 == 1 {
res = res * a % mod
}
a = a * a % mod
b >>= 1
}
return res
}
func main() {
in := bufio.NewReader(os.Stdin)
var n, m, L, R int64
fmt.Fscan(in, &n, &m, &L, &R)
N := R - L + 1
E := R/int64(2) - (L-int64(1))/int64(2)
diff := (2*E - N) % mod
if diff < 0 {
diff += mod
}
nm := n * m
if nm%2 == 1 {
fmt.Println(pow(N%mod, nm))
} else {
term1 := pow(N%mod, nm)
term2 := pow(diff, nm)
ans := (term1 + term2) % mod * inv2 % mod
fmt.Println(ans)
}
}
```