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

public class Main {
  public static void main(String[] args) {
    try (Scanner sc = new Scanner(System.in)) {
      solve(sc);
    }
  }

  static void solve(Scanner sc) {
    int n = sc.nextInt();
    int[] S = new int[n];
    for (int i = 0; i < n; i++) {
      S[i] = sc.nextInt();
    }

    int q = sc.nextInt();
    int sum = 0;
    for (int i = 0; i < q; i++) {
      if (binarySearch(S, sc.nextInt()) != -1)
        sum++;
    }

    System.out.println(sum);
  }

  static int binarySearch(int[] arr, int target) {
    // 探索範囲
    int begin = 0;
    int end = arr.length;

    while (begin < end) {
      int center = (begin + end) / 2;
      if (arr[center] == target) {
        return center;
      } else {
        if (arr[center] > target) {
          end = center;// 前を探す
        } else {
          begin = center + 1;// 後ろを探す
        }
      }
    }
    return -1;
  }
}

