← Home
For problem statement at 1000-1999/1900-1999/1950-1959/1950/problemD.txt this is a correct solution, but verifier at 1000-1999/1900-1999/1950-1959/1950/verifierD.go ends with All tests passed can you fix the verifier?  ```go
package main

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

func main() {
	const maxN = 100000
	var binaryDecimals []int
	var generate func(int)
	generate = func(x int) {
		if x > maxN {
			return
		}
		if x > 0 {
			binaryDecimals = append(binaryDecimals, x)
		}
		generate(x * 10)
		generate(x*10 + 1)
	}
	generate(1)

	dp := make([]bool, maxN+1)
	dp[1] = true
	for i := 1; i <= maxN; i++ {
		if dp[i] {
			for _, b := range binaryDecimals {
				if i*b <= maxN {
					dp[i*b] = true
				}
			}
		}
	}

	scanner := bufio.NewScanner(os.Stdin)
	scanner.Split(bufio.ScanWords)
	writer := bufio.NewWriter(os.Stdout)
	defer writer.Flush()

	scanner.Scan()
	t := atoi(scanner.Text())
	for i := 0; i < t; i++ {
		scanner.Scan()
		n := atoi(scanner.Text())
		if dp[n] {
			fmt.Fprintln(writer, "YES")
		} else {
			fmt.Fprintln(writer, "NO")
		}
	}
}

func atoi(s string) int {
	res := 0
	for i := 0; i < len(s); i++ {
		res = res*10 + int(s[i]-'0')
	}
	return res
}
```