#include typedef long long ll; typedef unsigned long long ull; #define FOR(i,a,b) for(int (i)=(a);i<(b);i++) #define REP(i,n) FOR(i,0,n) #define RANGE(vec) (vec).begin(),(vec).end() using namespace std; class QueryOfNumberProductSet { public: void solve(void) { int L,M,N; cin>>L>>M>>N; // A[i],B[i] の上限が高々 10^5 であること // A,B にて同じ数字が存在しないこと // から A,B を bitset で扱うと A & B の計算、 B の一律加算が簡単に表現できる bitset<100001> A; bitset<100001> B; REP(i,L) { int x; cin>>x; A.set(x); } REP(i,M) { int x; cin>>x; B.set(x); } int Q; cin>>Q; // O(Q*N/64) REP(v,Q) { cout<<(A & B).count()<solve(); delete obj; return 0; } #endif