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.Scanner;

public class Main {

	public static int n;
	public static int[] S;
	public static int q;
	public static int[] T;

	public static void main(String[] args) {

		int t = 0;
		Scanner sc = new Scanner(System.in);

		n = sc.nextInt();
		S = new int[n];
		for (int i = 0; i < n; i++) {
			S[i] = sc.nextInt();
		}
		q = sc.nextInt();
		T = new int[q];
		for (int i = 0; i < q; i++) {
			T[i] = sc.nextInt();
		}

		for (int i = 0; i < q; i++) {
			if (binarySearch(T[i])) {
				t++;
			}
		}
		System.out.println(t);
	}

	public static boolean binarySearch(int x) {
		int l = 0;
		int r = n - 1;
		while (true) {
			if (l < r) {
				int m = (l + r) / 2;
				if (S[m] < x) {
					l = m + 1;
				} else {
					r = m;
				}
			} else {
				break;
			}
		}
		if (S[l] == x) {
			return true;
		} else {
			return false;
		}
	}

}
