import java.util.*;

class Main
{
    public static void main(String args[])
    {
	int n, q, C=0;
	long S[] = new long[100000];
	long k;
	int left, right, mid=0;
	Scanner read = new Scanner(System.in);

	//read
	n=read.nextInt();
	for(int i=0; i<n; i++)S[i]=read.nextInt();

	//search
	q=read.nextInt();
	for(int i=0; i<q; i++)
	    {
		left=0;
		right=n;
		k=read.nextInt();
		while(left<right)
		    {
			mid=(left+right)/2;
			if(S[mid]==k)
			    {
				C++;
				break;
			    }
			else if(S[mid]<k)left=mid+1;
			else right=mid;
		    }
	    }

	//print
	read.close();
	System.out.println(C);


    }
} import java.util.*; util.* java class Main
{
    public static void main(String args[])
    {
	int n, q, C=0;
	long S[] = new long[100000];
	long k;
	int left, right, mid=0;
	Scanner read = new Scanner(System.in);

	//read
	n=read.nextInt();
	for(int i=0; i<n; i++)S[i]=read.nextInt();

	//search
	q=read.nextInt();
	for(int i=0; i<q; i++)
	    {
		left=0;
		right=n;
		k=read.nextInt();
		while(left<right)
		    {
			mid=(left+right)/2;
			if(S[mid]==k)
			    {
				C++;
				break;
			    }
			else if(S[mid]<k)left=mid+1;
			else right=mid;
		    }
	    }

	//print
	read.close();
	System.out.println(C);


    }
} Main public static void main(String args[])
    {
	int n, q, C=0;
	long S[] = new long[100000];
	long k;
	int left, right, mid=0;
	Scanner read = new Scanner(System.in);

	//read
	n=read.nextInt();
	for(int i=0; i<n; i++)S[i]=read.nextInt();

	//search
	q=read.nextInt();
	for(int i=0; i<q; i++)
	    {
		left=0;
		right=n;
		k=read.nextInt();
		while(left<right)
		    {
			mid=(left+right)/2;
			if(S[mid]==k)
			    {
				C++;
				break;
			    }
			else if(S[mid]<k)left=mid+1;
			else right=mid;
		    }
	    }

	//print
	read.close();
	System.out.println(C);


    } main {
	int n, q, C=0;
	long S[] = new long[100000];
	long k;
	int left, right, mid=0;
	Scanner read = new Scanner(System.in);

	//read
	n=read.nextInt();
	for(int i=0; i<n; i++)S[i]=read.nextInt();

	//search
	q=read.nextInt();
	for(int i=0; i<q; i++)
	    {
		left=0;
		right=n;
		k=read.nextInt();
		while(left<right)
		    {
			mid=(left+right)/2;
			if(S[mid]==k)
			    {
				C++;
				break;
			    }
			else if(S[mid]<k)left=mid+1;
			else right=mid;
		    }
	    }

	//print
	read.close();
	System.out.println(C);


    } int n n q q C=0; C 0 long S[] = new long[100000]; S new long[100000] 100000 long k; k int left left right right mid=0; mid 0 Scanner read = new Scanner(System.in); read new Scanner(System.in) n=read.nextInt() n read.nextInt() read.nextInt read for(int i=0; i<n; i++)S[i]=read.nextInt(); int i=0; int i=0; i 0 i<n i n i++ i++ i S[i]=read.nextInt(); S[i]=read.nextInt() S[i] S i read.nextInt() read.nextInt read q=read.nextInt() q read.nextInt() read.nextInt read for(int i=0; i<q; i++)
	    {
		left=0;
		right=n;
		k=read.nextInt();
		while(left<right)
		    {
			mid=(left+right)/2;
			if(S[mid]==k)
			    {
				C++;
				break;
			    }
			else if(S[mid]<k)left=mid+1;
			else right=mid;
		    }
	    } int i=0; int i=0; i 0 i<q i q i++ i++ i {
		left=0;
		right=n;
		k=read.nextInt();
		while(left<right)
		    {
			mid=(left+right)/2;
			if(S[mid]==k)
			    {
				C++;
				break;
			    }
			else if(S[mid]<k)left=mid+1;
			else right=mid;
		    }
	    } {
		left=0;
		right=n;
		k=read.nextInt();
		while(left<right)
		    {
			mid=(left+right)/2;
			if(S[mid]==k)
			    {
				C++;
				break;
			    }
			else if(S[mid]<k)left=mid+1;
			else right=mid;
		    }
	    } left=0 left 0 right=n right n k=read.nextInt() k read.nextInt() read.nextInt read while(left<right)
		    {
			mid=(left+right)/2;
			if(S[mid]==k)
			    {
				C++;
				break;
			    }
			else if(S[mid]<k)left=mid+1;
			else right=mid;
		    } left<right left right {
			mid=(left+right)/2;
			if(S[mid]==k)
			    {
				C++;
				break;
			    }
			else if(S[mid]<k)left=mid+1;
			else right=mid;
		    } mid=(left+right)/2 mid (left+right)/2 (left+right) left right 2 if(S[mid]==k)
			    {
				C++;
				break;
			    }
			else if(S[mid]<k)left=mid+1;
			else right=mid; S[mid]==k S[mid] S mid k {
				C++;
				break;
			    } C++ C break; if(S[mid]<k)left=mid+1;
			else right=mid; S[mid]<k S[mid] S mid k left=mid+1 left mid+1 mid 1 right=mid right mid read.close() read.close read System.out.println(C) System.out.println System.out System System.out C String args[] args
import java.util.*;

class Main
{
    public static void main(String args[])
    {
	int n, q, C=0;
	long S[] = new long[100000];
	long k;
	int left, right, mid=0;
	Scanner read = new Scanner(System.in);

	//read
	n=read.nextInt();
	for(int i=0; i<n; i++)S[i]=read.nextInt();

	//search
	q=read.nextInt();
	for(int i=0; i<q; i++)
	    {
		left=0;
		right=n;
		k=read.nextInt();
		while(left<right)
		    {
			mid=(left+right)/2;
			if(S[mid]==k)
			    {
				C++;
				break;
			    }
			else if(S[mid]<k)left=mid+1;
			else right=mid;
		    }
	    }

	//print
	read.close();
	System.out.println(C);


    }
}