Problem:
Set Intersection

Find the intersection of two sets $A = \{a_0, a_1, ..., a_{n-1}\}$ and $B = \{b_0, b_1, ..., b_{m-1}\}$.

Input

The input is given in the following format.

$n$
$a_0 \; a_1 \; ... \; a_{n-1}$
$m$
$b_0 \; b_1 \; ... \; b_{m-1}$

Elements of $A$ and $B$ are given in ascending order respectively. There are no duplicate elements in each set.

Output

Print elements in the intersection in ascending order. Print an element in a line.

Constraints

$1 \leq n, m \leq 200,000$

$0 \leq a_0 < a_1 < ... < a_{n-1} \leq 10^9$

$0 \leq b_0 < b_1 < ... < b_{m-1} \leq 10^9$

Sample Input 1

4
1 2 5 8
5
2 3 5 9 11

Sample Output 1

2
5

Solution in C++ (judge verdict: Accepted)

#include<iostream>
#include<set>
using namespace std;

int main()
{
    set<int> s1, s2;
    int n, m;

    cin >> n;
   
    int a;

    for( int i = 0; i < n; i++ )
    {
        cin >> a;
        s1.insert(a);
    }

    cin >> m;

    for( int i = 0; i < m; i++ )
    {    
        cin >> a;
        s2.insert(a);
    }

    set<int>::iterator itr1 = s1.begin(), itr2 = s2.begin();
    for(; itr1 != s1.end() && itr2 != s2.end(); )
    {
        if( *itr1 < *itr2 )
            itr1++;
        else if( *itr1 > *itr2 )
            itr2++;
        else
        {    
            cout << *itr1 << endl;
            itr1++;
            itr2++;
        }
    }
    return 0;
}