← Home
```go
package main

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

func main() {
	in := bufio.NewReader(os.Stdin)
	out := bufio.NewWriter(os.Stdout)
	defer out.Flush()

	var t int
	if _, err := fmt.Fscan(in, &t); err != nil {
		return
	}
	for ; t > 0; t-- {
		var n int
		fmt.Fscan(in, &n)
		zeros, ones := 0, 0
		for i := 0; i < n; i++ {
			var x int
			fmt.Fscan(in, &x)
			if x == 0 {
				zeros++
			} else {
				ones++
			}
		}
		if zeros >= n/2 {
			k := n / 2
			fmt.Fprintln(out, k)
			for i := 0; i < k; i++ {
				if i > 0 {
					fmt.Fprint(out, " ")
				}
				fmt.Fprint(out, 0)
			}
			fmt.Fprintln(out)
		} else {
			k := ones
			if k%2 == 1 {
				k--
			}
			fmt.Fprintln(out, k)
			for i := 0; i < k; i++ {
				if i > 0 {
					fmt.Fprint(out, " ")
				}
				fmt.Fprint(out, 1)
			}
			fmt.Fprintln(out)
		}
	}
}
```