#include <stdio.h>
#include<string.h>
int binarysearch(int a[],int key,int n)
{  int left=0,right=n,mid;
   while(left<right)
   {  mid=(left+right)/2;
      if(a[mid]==key)  return mid;
      else if(key<a[mid])  right=mid;
      else left=mid+1;
   }
   return 0;
}
int main()
{  int a[10000],b[10000];
   int i,n,t,k,m;
   m=0;
   scanf("%d",&n);
   for(i=0;i<n;i++)
     scanf("%d",&a[i]);
   scanf("%d",&t);
   for(i=0;i<t;i++)
     scanf("%d",&b[i]);
   for(i=0;i<t;i++)
     if(binarysearch(a,b[i],n))  m++;
   printf("%d\n",m);
   return 0;
}
/*有3个数字位置是 0 1 2
第一次查找
mid = (0 + 2) / 2 = 1，比较1的位置
第二次比较,如果取mid,而不是mid-1 +1的话
mid = (0 +1 ) / 2 = 0, 比较0的位置
mid = (0+2) / 2 = 1，比较1的位置，1已经比较过了，所以不对
*/ 


