← Home
For problem statement at 2000-2999/2000-2099/2030-2039/2036/problemF.txt this is a correct solution, but verifier at 2000-2999/2000-2099/2030-2039/2036/verifierF.go ends with All 202 tests passed can you fix the verifier? ```go
package main

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

func g(n uint64) uint64 {
	switch n % 4 {
	case 0:
		return n
	case 1:
		return 1
	case 2:
		return n + 1
	default:
		return 0
	}
}

func calc(n, i, k uint64) uint64 {
	res := g(n)
	if n >= k {
		m := (n - k) >> i
		exc := g(m) << i
		if m&1 == 0 {
			exc ^= k
		}
		res ^= exc
	}
	return res
}

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

	var t int
	fmt.Fscan(in, &t)
	for j := 0; j < t; j++ {
		var l, r, i, k uint64
		fmt.Fscan(in, &l, &r, &i, &k)
		fmt.Fprintln(out, calc(r, i, k)^calc(l-1, i, k))
	}
}
```