Problem:
Search I

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.

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.

Constraints

n ≤ 10000

q ≤ 500

0 ≤ an element in S ≤ 109

0 ≤ an element in T ≤ 109

Sample Input 1

5
1 2 3 4 5
3
3 4 1

Sample Output 1

3

Sample Input 2

3
3 1 2
1
5

Sample Output 2

0

Sample Input 3

5
1 1 2 2 3
2
1 2

Sample Output 3

2

Notes

Solution in C# (judge verdict: Wrong Answer)

using System;
using System.Collections.Generic;
using System.Text;

class Program
{
    public void Proc()
    {
        // Linear Search
        int itemCount = int.Parse(Console.ReadLine());
        int[] itemList = new int[itemCount];
        string[] inpt = Console.ReadLine().Split(' ');
        for(int i=0; i<itemCount; i++)
        {
            itemList[i] = int.Parse(inpt[i]);
        }

        int searchCount = int.Parse(Console.ReadLine());
        int[] searchList = new int[searchCount];
        inpt = Console.ReadLine().Split(' ');
        for (int i = 0; i < searchCount; i++)
        {
            searchList[i] = int.Parse(inpt[i]);
        }

        // ?????????
        Array.Sort<int>(itemList);
        Array.Sort<int>(searchList);

        int cnt = 0;
        int idx = 0;
        int sIdx = 0;
        while(idx <= itemList.Length -1 && sIdx <= searchList.Length -1)
        {
            if(itemList[idx] == searchList[sIdx])
            {
                cnt++;
                idx++;
            } else if(itemList[idx] > searchList[sIdx])
            {
                sIdx++;
            } else
            {
                idx++;
            }
        }
        Console.WriteLine(cnt);
    }

    static void Main(string[] args)

    {

        Program prg = new Program();
        prg.Proc();

    }
}