← Home
For problem statement at 0-999/800-899/860-869/863/problemD.txt this is a correct solution, but verifier at 0-999/800-899/860-869/863/verifierD.go ends with All 100 tests passed. can you fix the verifier? ```go
package main

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
	in := bufio.NewReader(os.Stdin)
	out := bufio.NewWriter(os.Stdout)
	defer out.Flush()

	var n, q, m int
	fmt.Fscan(in, &n, &q, &m)

	a := make([]int, n+1)
	for i := 1; i <= n; i++ {
		fmt.Fscan(in, &a[i])
	}

	type Query struct {
		t, l, r int
	}
	queries := make([]Query, q)
	for i := 0; i < q; i++ {
		fmt.Fscan(in, &queries[i].t, &queries[i].l, &queries[i].r)
	}

	for i := 0; i < m; i++ {
		var curr int
		fmt.Fscan(in, &curr)

		for j := q - 1; j >= 0; j-- {
			t, l, r := queries[j].t, queries[j].l, queries[j].r

			if curr >= l && curr <= r {
				if t == 1 {
					if curr == l {
						curr = r
					} else {
						curr--
					}
				} else {
					curr = l + r - curr
				}
			}
		}

		if i > 0 {
			fmt.Fprint(out, " ")
		}
		fmt.Fprint(out, a[curr])
	}
	fmt.Fprintln(out)
}
```