You are given a sequence of n integers S and a sequence of different q integers T. Write a program which outputs C, the number of integers in T which are also in the set S.

Notes

Constraints

* Elements in S is sorted in ascending order
* n ≤ 100000
* q ≤ 50000
* 0 ≤ an element in S ≤ 109
* 0 ≤ an element in T ≤ 109

Input

In the first line n is given. In the second line, n integers are given. In the third line q is given. Then, in the fourth line, q integers are given.

Output

Print C in a line.

Examples

Input

5
1 2 3 4 5
3
3 4 1


Output

3


Input

3
1 2 3
1
5


Output

0


Input

5
1 1 2 2 3
2
1 2


Output

2
#include<cstdio>
#include<iostream>
#include<vector>
#include<algorithm>
#include<cstring>
using namespace std;
int main(){
  int n;
  cin>>n;
  vector<int> vc(n);	
  for(int i=0;i<n;i++)
  cin>>vc[i];
  int ans = 0,q,a;
  cin>>q;
  sort(vc.begin(),vc.end());
  while(q--){
  cin>>a; 
  
  if(binary_search(vc.begin(),vc.end(),a))
  ans++;
  
}
printf("%d\n",ans);	
	
}
