← Home
package main

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

func main() {
	in := bufio.NewReaderSize(os.Stdin, 1<<20)
	out := bufio.NewWriterSize(os.Stdout, 1<<20)
	defer out.Flush()

	var q int
	fmt.Fscan(in, &q)

	var sb strings.Builder
	for ; q > 0; q-- {
		var n int
		var s string
		fmt.Fscan(in, &n, &s)

		if n == 2 {
			if s[0] < s[1] {
				sb.WriteString("YES\n")
				sb.WriteString("2\n")
				sb.WriteByte(s[0])
				sb.WriteByte(' ')
				sb.WriteByte(s[1])
				sb.WriteByte('\n')
			} else {
				sb.WriteString("NO\n")
			}
		} else {
			sb.WriteString("YES\n")
			sb.WriteString("2\n")
			sb.WriteByte(s[0])
			sb.WriteByte(' ')
			sb.WriteString(s[1:])
			sb.WriteByte('\n')
		}
	}

	out.WriteString(sb.String())
}