##Funkcija koja odreduje parnost broja
def iseven(number):
    if number % 2 == 0:
        return True
    else:
        return False

matrica = []
sreca = 0

t = int(input())


##Petlja koja se ponavlja za svako pitanje
for i in range(t):

    ##Unos podataka
    n = int(input())
    matrica.append(list(map(int, input().split())))
    matrica.append(list(map(int, input().split())))


    ##Petlja koja prolazi kroz matricu za jedno pitanje
    for i in range(n):
        
        if i == 0:

            ##Provera da li su brojevi u prvoj koloni iste parnosti
            if iseven(matrica[0][i]) == iseven(matrica[1][i]):
                sreca += 1

            ##Provera da li je barem jedan broj iz prve kolone iste parnosti kao i gornji broj druge kolone
            if iseven(matrica[0][i]) == iseven(matrica[0][i+1]):
                      sreca +=1

            elif iseven(matrica[1][i]) == iseven(matrica[0][i+1]):
                        sreca +=1
        

        else:

            ##Provera da li su brojevi u odredenoj koloni iste parnosti
            if iseven(matrica[0][i]) == iseven(matrica[1][i]):
                sreca += 1

            
            if (i != n-1):
                ##Provera da li su donji broj iz trenutne kolone i gornji broj iz sledece kolone iste parnosti
                if iseven(matrica[1][i]) == iseven(matrica[0][i+1]):
                    sreca += 1
                    
                ##Ako prethodna provera vrati netacno, onda se proverava da li su donji brojevi trenutne i sledece kolone iste parnosti, ako jesu,
                ##onda gornji i donji broj sledece kolone menjanju mesta i nastavlja se petlja
                elif iseven(matrica[1][i]) == iseven(matrica[1][i+1]):
                    matrica[0][i+1], matrica[1][i+1] = matrica[1][i+1], matrica[0][i+1]
                    sreca += 1




    print(sreca)
    sreca = 0
    matrica.clear()