package main
import (
"io"
"os"
"strings"
)
type FastScanner struct {
data []byte
idx int
n int
}
func NewFastScanner() *FastScanner {
data, _ := io.ReadAll(os.Stdin)
return &FastScanner{data: data, n: len(data)}
}
func (fs *FastScanner) skip() {
for fs.idx < fs.n {
c := fs.data[fs.idx]
if c > ' ' {
return
}
fs.idx++
}
}
func (fs *FastScanner) NextInt64() int64 {
fs.skip()
sign := int64(1)
if fs.data[fs.idx] == '-' {
sign = -1
fs.idx++
}
var v int64
for fs.idx < fs.n {
c := fs.data[fs.idx]
if c < '0' || c > '9' {
break
}
v = v*10 + int64(c-'0')
fs.idx++
}
return v * sign
}
func (fs *FastScanner) NextString() string {
fs.skip()
start := fs.idx
for fs.idx < fs.n && fs.data[fs.idx] > ' ' {
fs.idx++
}
return string(fs.data[start:fs.idx])
}
func abs64(x int64) int64 {
if x < 0 {
return -x
}
return x
}
func main() {
fs := NewFastScanner()
t := int(fs.NextInt64())
var out strings.Builder
out.Grow(t * 4)
for i := 0; i < t; i++ {
n := int(fs.NextInt64())
x := fs.NextInt64()
y := fs.NextInt64()
s := fs.NextString()
var a int64
for j := 0; j < n; j++ {
if s[j] == '4' {
a++
}
}
b := int64(n) - a
ax := abs64(x)
ay := abs64(y)
var d int64
if ax > b {
d += ax - b
}
if ay > b {
d += ay - b
}
if d <= a {
out.WriteString("YES\n")
} else {
out.WriteString("NO\n")
}
}
os.Stdout.WriteString(out.String())
}