For problem statement at 0-999/900-999/910-919/911/problemD.txt this is a correct solution, but verifier at 0-999/900-999/910-919/911/verifierD.go ends with all tests passed can you fix the verifier? package main
import (
"bufio"
"fmt"
"io"
"os"
)
type FastReader struct {
r io.Reader
buf []byte
idx int
n int
}
func NewFastReader(r io.Reader) *FastReader {
return &FastReader{r: r, buf: make([]byte, 1<<16)}
}
func (fr *FastReader) refill() {
n, _ := fr.r.Read(fr.buf)
fr.n = n
fr.idx = 0
}
func (fr *FastReader) nextByte() byte {
if fr.idx >= fr.n {
fr.refill()
if fr.n == 0 {
return 0
}
}
b := fr.buf[fr.idx]
fr.idx++
return b
}
func (fr *FastReader) NextInt() int {
sign := 1
b := fr.nextByte()
for (b < '0' || b > '9') && b != '-' {
if b == 0 {
return 0
}
b = fr.nextByte()
}
if b == '-' {
sign = -1
b = fr.nextByte()
}
val := 0
for b >= '0' && b <= '9' {
val = val*10 + int(b-'0')
b = fr.nextByte()
}
return val * sign
}
func main() {
in := NewFastReader(os.Stdin)
out := bufio.NewWriter(os.Stdout)
defer out.Flush()
n := in.NextInt()
a := make([]int, n)
for i := 0; i < n; i++ {
a[i] = in.NextInt()
}
parity := 0
for i := 0; i < n; i++ {
for j := i + 1; j < n; j++ {
if a[i] > a[j] {
parity ^= 1
}
}
}
m := in.NextInt()
for i := 0; i < m; i++ {
l := in.NextInt()
r := in.NextInt()
k := r - l + 1
pairs := k * (k - 1) / 2
if pairs%2 == 1 {
parity ^= 1
}
if parity == 1 {
fmt.Fprintln(out, "odd")
} else {
fmt.Fprintln(out, "even")
}
}
}