← Home
package main

import (
	"bufio"
	"bytes"
	"os"
)

type FastScanner struct {
	r *bufio.Reader
}

func NewFastScanner() *FastScanner {
	return &FastScanner{r: bufio.NewReaderSize(os.Stdin, 1<<20)}
}

func (fs *FastScanner) NextInt64() int64 {
	var c byte
	var err error
	for {
		c, err = fs.r.ReadByte()
		if err != nil {
			return 0
		}
		if c > ' ' {
			break
		}
	}
	var n int64
	for {
		n = n*10 + int64(c-'0')
		c, err = fs.r.ReadByte()
		if err != nil || c <= ' ' {
			break
		}
	}
	return n
}

func main() {
	fs := NewFastScanner()
	t := int(fs.NextInt64())
	var out bytes.Buffer

	for ; t > 0; t-- {
		n := int(fs.NextInt64())
		px := fs.NextInt64()
		py := fs.NextInt64()
		qx := fs.NextInt64()
		qy := fs.NextInt64()

		var sum int64
		var mx int64
		for i := 0; i < n; i++ {
			a := fs.NextInt64()
			sum += a
			if a > mx {
				mx = a
			}
		}

		low := int64(0)
		if 2*mx > sum {
			low = 2*mx - sum
		}

		dx := px - qx
		dy := py - qy
		d2 := dx*dx + dy*dy

		if d2 >= low*low && d2 <= sum*sum {
			out.WriteString("Yes\n")
		} else {
			out.WriteString("No\n")
		}
	}

	os.Stdout.Write(out.Bytes())
}