For problem statement at 0-999/100-199/180-189/182/problemE.txt this is a correct solution, but verifier at 0-999/100-199/180-189/182/verifierE.go ends with reference failed on test 1: exec: "refE.bin": executable file not found in $PATH can you fix the verifier? ```go
package main
import (
"bufio"
"fmt"
"os"
)
const MOD int64 = 1000000007
type Piece struct {
typ int
len int
wid int
}
func nextInt(r *bufio.Reader) int {
sign := 1
val := 0
b, err := r.ReadByte()
for (b < '0' || b > '9') && b != '-' {
if err != nil {
return 0
}
b, err = r.ReadByte()
}
if b == '-' {
sign = -1
b, err = r.ReadByte()
}
for b >= '0' && b <= '9' {
val = val*10 + int(b-'0')
b, err = r.ReadByte()
if err != nil {
break
}
}
return val * sign
}
func main() {
in := bufio.NewReader(os.Stdin)
out := bufio.NewWriter(os.Stdout)
defer out.Flush()
n := nextInt(in)
l := nextInt(in)
pieces := make([]Piece, 0, 2*n)
for i := 0; i < n; i++ {
a := nextInt(in)
b := nextInt(in)
pieces = append(pieces, Piece{typ: i, len: a, wid: b})
if a != b {
pieces = append(pieces, Piece{typ: i, len: b, wid: a})
}
}
m := len(pieces)
byLen := make([][]int, 101)
for idx, p := range pieces {
if p.len <= 100 {
byLen[p.len] = append(byLen[p.len], idx)
}
}
trans := make([][]int, m)
for i := 0; i < m; i++ {
w := pieces[i].wid
if w <= 100 {
for _, j := range byLen[w] {
if pieces[j].typ != pieces[i].typ {
trans[i] = append(trans[i], j)
}
}
}
}
dp := make([][]int64, l+1)
for i := range dp {
dp[i] = make([]int64, m)
}
for i := 0; i < m; i++ {
if pieces[i].len <= l {
dp[pieces[i].len][i] = (dp[pieces[i].len][i] + 1) % MOD
}
}
for s := 0; s <= l; s++ {
for i := 0; i < m; i++ {
val := dp[s][i]
if val == 0 {
continue
}
ns := s + pieces[i].wid
if ns > l {
continue
}
for _, j := range trans[i] {
dp[ns][j] += val
if dp[ns][j] >= MOD {
dp[ns][j] -= MOD
}
}
}
}
var ans int64 = 0
for i := 0; i < m; i++ {
ans += dp[l][i]
if ans >= MOD {
ans -= MOD
}
}
fmt.Fprintln(out, ans%MOD)
}
```