← 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
	fmt.Fscan(in, &t)

	for i := 0; i < t; i++ {
		var n int
		fmt.Fscan(in, &n)

		cnt := 0
		minOps := 32

		for j := 0; j < n; j++ {
			var a int
			fmt.Fscan(in, &a)
			if a%2 == 0 {
				cnt++
				ops := 0
				for a%2 == 0 {
					a >>= 1
					ops++
				}
				if ops < minOps {
					minOps = ops
				}
			}
		}

		if cnt == n {
			fmt.Fprintln(out, minOps+cnt-1)
		} else {
			fmt.Fprintln(out, cnt)
		}
	}
}
```