← Home
For problem statement at 0-999/800-899/850-859/852/problemB.txt this is a correct solution, but verifier at 0-999/800-899/850-859/852/verifierB.go ends with reference failed on case 1: runtime error: exec: "refB.bin": executable file not found in $PATH

exit status 1 can you fix the verifier? ```go
package main

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

const MOD int64 = 1000000007

type FastScanner struct {
	data []byte
	idx  int
}

func NewFastScanner() *FastScanner {
	data, _ := io.ReadAll(os.Stdin)
	return &FastScanner{data: data}
}

func (fs *FastScanner) NextInt() int {
	n := len(fs.data)
	for fs.idx < n && fs.data[fs.idx] <= ' ' {
		fs.idx++
	}
	sign := 1
	if fs.idx < n && fs.data[fs.idx] == '-' {
		sign = -1
		fs.idx++
	}
	val := 0
	for fs.idx < n {
		c := fs.data[fs.idx]
		if c < '0' || c > '9' {
			break
		}
		val = val*10 + int(c-'0')
		fs.idx++
	}
	return val * sign
}

func conv(a, b []int64, m int) []int64 {
	c := make([]int64, m)
	for i := 0; i < m; i++ {
		if a[i] == 0 {
			continue
		}
		ai := a[i]
		for j := 0; j < m; j++ {
			if b[j] == 0 {
				continue
			}
			idx := i + j
			if idx >= m {
				idx -= m
			}
			c[idx] = (c[idx] + ai*b[j]) % MOD
		}
	}
	return c
}

func powConv(base []int64, exp, m int) []int64 {
	res := make([]int64, m)
	res[0] = 1
	cur := make([]int64, m)
	copy(cur, base)
	for exp > 0 {
		if exp&1 == 1 {
			res = conv(res, cur, m)
		}
		exp >>= 1
		if exp > 0 {
			cur = conv(cur, cur, m)
		}
	}
	return res
}

func main() {
	fs := NewFastScanner()
	N := fs.NextInt()
	L := fs.NextInt()
	M := fs.NextInt()

	A := make([]int64, M)
	for i := 0; i < N; i++ {
		v := fs.NextInt() % M
		A[v]++
	}

	B := make([]int64, M)
	mid := make([]byte, N)
	for i := 0; i < N; i++ {
		v := fs.NextInt() % M
		mid[i] = byte(v)
		B[v]++
	}

	D := make([]int64, M)
	for i := 0; i < N; i++ {
		v := fs.NextInt() % M
		r := int(mid[i]) + v
		if r >= M {
			r -= M
		}
		D[r]++
	}

	p := powConv(B, L-2, M)
	ans := conv(conv(A, p, M), D, M)

	w := bufio.NewWriterSize(os.Stdout, 1<<20)
	fmt.Fprintln(w, ans[0]%MOD)
	w.Flush()
}
```