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 Ruby (judge verdict: Accepted)

count = 0
$s = $t = []
STDIN.each_line {|line|
  if count == 0
  elsif count == 1
    $s = line.split " "
  elsif count == 2
  elsif count == 3
    $t = line.split " "
  end

  count += 1
}

$s.map! {|item| item.to_i }
$t.map! {|item| item.to_i }

def search s, value
  l = 0
  r = s.length
  while (l  + 1 < r)
    i = (r + l) / 2
    if s[i] <= value
      l = i
    else
      r = i
    end
  end

  return s[l] == value
end


result = 0
$t.each do |value|
  if search $s, value
    result += 1
  end
end

puts result