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
import java.util.Arrays;
import java.util.Scanner;
public class Main {
	
	static boolean search(int[] S,int a,int b,int target){
		if(a<=b){
			if(S[(a+b)/2]==target){
				return true;
			}else if(S[(a+b)/2]<target){
				return search(S,((a+b)/2)+1,b,target);
			}else{
				return search(S,a,((a+b)/2)-1,target);
			}
		}else{
			return false;
		}
	}
	
	public static void main(String[] args) {
		Scanner scan=new Scanner(System.in);
		int n=scan.nextInt();
		int S[]=new int[n];
		for(int i=0;i<n;i++){
			S[i]=scan.nextInt();
		}
		Arrays.sort(S);
		int q=scan.nextInt();
		int count=0;
		int x;
		for(int i=0;i<q;i++){
			x=scan.nextInt();
			if(search(S,0,n-1,x)){
				count++;
			}
		}
		System.out.println(count);
		scan.close();
	}

}