Problem:
Search II

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

Elements in S is sorted in ascending order

n ≤ 100000

q ≤ 50000

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
1 2 3
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 Scala (judge verdict: Accepted)

import java.util.ArrayDeque
import java.util._
import java.io._
import scala.collection.mutable.Set
import scala.io.StdIn._
 
object Main {
    def main(args: Array[String]): Unit = {
     var n = readInt
     var set = Set[String]()
     var list = readLine.split(" ").map(_.toString)
     for(i <- 0 until n){
       set.add(list(i))
     }
     n = readInt
     val temp = readLine.split(" ")
     var count = 0
     for(i <- 0 until n){
       if(set.contains(temp(i)))count += 1
     }
     println(count)
     
     
    }
}