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.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class Main {
	public static void main(String[] args) throws NumberFormatException, IOException {
		//????????????????????????
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
		
		//?????????
		int n = Integer.parseInt(bf.readLine());
		String[] sString = bf.readLine().split(" ");
		int q = Integer.parseInt(bf.readLine());
		String[] tString = bf.readLine().split(" ");
	
		int count=0;
		

		
		for(int i=0;i<q;i++){
			int search = Integer.parseInt(tString[i]);
			int left=0;
			int right = n;
		while(left<right){
			int mid = (left+right)/2;
			if(Integer.parseInt(sString[mid])==search){
				count++;
				break;
			}else if(Integer.parseInt(sString[mid])>search){
				right=mid;
			}else if(Integer.parseInt(sString[mid])<search){
				left= mid+1;
			}
		}
		}
		System.out.println(count);
	}

 }