For problem statement at 2000-2999/2100-2199/2110-2119/2115/problemD.txt this is a correct solution, but verifier at 2000-2999/2100-2199/2110-2119/2115/verifierD.go ends with reference runtime error: exit status 2
5
10
73
0
15
15
1152921504606846971
1152921504606846975
0
0
263884751698461741
44176838605166056
341172298145778395
1152921504606845370
1152921504606846975
932979927677087223
0
0
1152921504606846975
1152921504606846975
0
1152921504606846975
535596011109665443
0
1106254410000660481
1152921504606846975
0
1152921504606846975
1152921504606846975
475620534037727377
1152921503751864319
0
0
4576285687810
1152921504606846975
897523379342028010
1152921504606846975
1152921504606846975
257334550161474175
381740582303527883
332473115697928749
597848593401238499
1152921504606846975
1014082958436577924
442916630291855988
1152921504606846975
1152921504606846975
766150596504742211
646409102999336773
67790125415367374
1152921504590856191
1152921504606846975
751192233844912430
1152921504606846975
1152921504606846975
39409267958475415
90915763948607458
0
1152921504606826132
626902596639253301
0
1152921504606846975
1152921504606846975
1152921504606846975
699905006975141167
736572511250248003
65536
0
1152921504606846975
839000307702162819
1152921504606846975
466046189490505885
0
1027544396533280512
1152921504606846975
965097204241964266
1152920576382337023
0
1030942532788301386
0
0
1152921504606846975
1152921490792644607
897291481011807015
1152921504606846975
0
412654767815137163
0
818747245888072400
650980932560517888
0
229933368775864413
1152921504606846975
1152921504606846975
192697820464993357
12418220032
459508629871797748
1152921504606846975
705568048327203108
0
1133600824356237903
745782165688635281
340001420492716832
1152921504606846975
699682469501027083
764172198242885826
0
0
0
737115844521049294
1152921504606782415
460799672445014178
0
373502371285501876
500912393662662117
607747655457351959
1033760848478674923
200621792442602175
1152921504606846975
722820931042842645
174271859898610933
0
1152921504606846975
39412101903186599
1152921218275999743
792663420313207611
1152921504606846975
471417094993057324
0
113258393842146902
1152921504606846975
0
788862291317319958
1152921504606846975
194117619138008750
panic: runtime error: negative shift amount
goroutine 1 [running]:
main.main()
/home/ubuntu/codeforces/2000-2999/2100-2199/2110-2119/2115/2115D.go:83 +0x598
exit status 1 can you fix the verifier? ```go
package main
import (
"io"
"os"
"strconv"
)
type FastScanner struct {
data []byte
idx int
}
func (fs *FastScanner) skip() {
for fs.idx < len(fs.data) && fs.data[fs.idx] <= ' ' {
fs.idx++
}
}
func (fs *FastScanner) NextUint64() uint64 {
fs.skip()
var v uint64
for fs.idx < len(fs.data) {
b := fs.data[fs.idx]
if b < '0' || b > '9' {
break
}
v = v*10 + uint64(b-'0')
fs.idx++
}
return v
}
func (fs *FastScanner) NextString() string {
fs.skip()
start := fs.idx
for fs.idx < len(fs.data) && fs.data[fs.idx] > ' ' {
fs.idx++
}
return string(fs.data[start:fs.idx])
}
func main() {
data, _ := io.ReadAll(os.Stdin)
fs := FastScanner{data: data}
t := int(fs.NextUint64())
out := make([]byte, 0, t*24)
for ; t > 0; t-- {
n := int(fs.NextUint64())
a := make([]uint64, n)
d := make([]uint64, n)
var base uint64
for i := 0; i < n; i++ {
a[i] = fs.NextUint64()
base ^= a[i]
}
for i := 0; i < n; i++ {
b := fs.NextUint64()
d[i] = a[i] ^ b
}
c := fs.NextString()
var basis [60]uint64
var owner [60]byte
for i := n - 1; i >= 0; i-- {
v := d[i]
for bit := 59; bit >= 0 && v != 0; bit-- {
if ((v >> uint(bit)) & 1) == 0 {
continue
}
if basis[bit] == 0 {
basis[bit] = v
owner[bit] = c[i]
break
}
v ^= basis[bit]
}
}
ans := base
for bit := 59; bit >= 0; bit-- {
if basis[bit] == 0 {
continue
}
cur := (ans >> uint(bit)) & 1
if owner[bit] == '0' {
if cur == 1 {
ans ^= basis[bit]
}
} else {
if cur == 0 {
ans ^= basis[bit]
}
}
}
out = strconv.AppendUint(out, ans, 10)
out = append(out, '\n')
}
_, _ = os.Stdout.Write(out)
}
```