#include <cstdio>
#include <cstring>
#include <tr1/unordered_set> // chiar nu stiam ca exista chestia asta
#define DIM 276997
using namespace std;
tr1::unordered_set <long long> mySet;
int Q, nr, i;
long long X;
char S[20];
long long read(){
memset(S, 0, sizeof(S));
long long number = 0;
scanf("%s", S + 1);
for(int i = 1; S[i]; i ++)
number = number * 1LL * 10 + (S[i] - '0');
return number;
}
int main(){
freopen("dtcsu.in" ,"r", stdin );
freopen("dtcsu.out","w", stdout);
for(i = 1; i <= DIM; i ++){
X = read();
if( (X & 1) )
mySet.insert(X);
}
scanf("%d", &Q);
for(i = 1; i <= Q; i ++){
X = read();
X /= (X & ( -X ));
if(mySet.find(X) != mySet.end()) // inspired by other well respected programmers
nr ++;
}
printf("%d\n", nr);
fclose(stdin );
fclose(stdout);
return 0;
}