package main
import (
"bufio"
"fmt"
"os"
)
func main() {
in := bufio.NewReader(os.Stdin)
out := bufio.NewWriter(os.Stdout)
defer out.Flush()
var t int
fmt.Fscan(in, &t)
for tc := 0; tc < t; tc++ {
var n int
var s string
fmt.Fscan(in, &n, &s)
sorted := true
for i := 1; i < n; i++ {
if s[i-1] > s[i] {
sorted = false
break
}
}
if sorted {
fmt.Fprintln(out, 0)
continue
}
zeros := 0
for i := 0; i < n; i++ {
if s[i] == '0' {
zeros++
}
}
var ans []int
for i := 0; i < n; i++ {
if i < zeros && s[i] == '1' {
ans = append(ans, i+1)
} else if i >= zeros && s[i] == '0' {
ans = append(ans, i+1)
}
}
fmt.Fprintln(out, 1)
fmt.Fprint(out, len(ans))
for _, v := range ans {
fmt.Fprint(out, " ", v)
}
fmt.Fprintln(out)
}
}