← Home
package main

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

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)
		evens := make([]int64, 0)
		var maxOdd int64 = -1
		for i := 0; i < n; i++ {
			var x int64
			fmt.Fscan(in, &x)
			if x%2 == 1 {
				if x > maxOdd {
					maxOdd = x
				}
			} else {
				evens = append(evens, x)
			}
		}
		if maxOdd == -1 || len(evens) == 0 {
			fmt.Fprintln(out, 0)
			continue
		}
		sort.Slice(evens, func(i, j int) bool { return evens[i] < evens[j] })
		var ans int64 = 0
		m := maxOdd
		for _, x := range evens {
			if x > m {
				ans++
				m += x
			}
			ans++
			m += x
		}
		fmt.Fprintln(out, ans)
	}
}