#include<iostream>
#include<algorithm>
#include<vector>
#include<set>
using namespace std;
int NumberofElementsInIntersection (int a[], int b[], int n, int m ){
// Your code goes here
int i=0,j=0,count=0;
set<int> s1,s2;
vector<int> v(n+m);
vector<int>::iterator it;
for(i=0;i<n;i++)
s1.insert(a[i]);
for(i=0;i<m;i++)
s2.insert(b[i]);
it=set_intersection(s1.begin(),s1.end(),s2.begin(),s2.end(),v.begin());
return (it-v.begin());
}
int main(){
int a[] = {1, 2, 3, 4, 5, 6};
int b[] = {3, 4, 5, 6, 7};
cout<<NumberofElementsInIntersection(a,b,6,5);
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPGFsZ29yaXRobT4KI2luY2x1ZGU8dmVjdG9yPgojaW5jbHVkZTxzZXQ+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBOdW1iZXJvZkVsZW1lbnRzSW5JbnRlcnNlY3Rpb24gKGludCBhW10sIGludCBiW10sIGludCBuLCBpbnQgbSApewogICAgICAgIC8vIFlvdXIgY29kZSBnb2VzIGhlcmUKICAgICAgICBpbnQgaT0wLGo9MCxjb3VudD0wOwogICAgICAgIHNldDxpbnQ+IHMxLHMyOwogICAgICAgIHZlY3RvcjxpbnQ+IHYobittKTsKICAgICAgICB2ZWN0b3I8aW50Pjo6aXRlcmF0b3IgaXQ7CiAgICAgICAgZm9yKGk9MDtpPG47aSsrKQogICAgICAgICAgICBzMS5pbnNlcnQoYVtpXSk7CiAgICAgICAgZm9yKGk9MDtpPG07aSsrKQogICAgICAgICAgICBzMi5pbnNlcnQoYltpXSk7CiAgICAgICBpdD1zZXRfaW50ZXJzZWN0aW9uKHMxLmJlZ2luKCksczEuZW5kKCksczIuYmVnaW4oKSxzMi5lbmQoKSx2LmJlZ2luKCkpOwogICAgICAgcmV0dXJuIChpdC12LmJlZ2luKCkpOwp9CgppbnQgbWFpbigpewogICAgaW50IGFbXSA9IHsxLCAyLCAzLCA0LCA1LCA2fTsKICAgIGludCBiW10gPSB7MywgNCwgNSwgNiwgN307CiAgICBjb3V0PDxOdW1iZXJvZkVsZW1lbnRzSW5JbnRlcnNlY3Rpb24oYSxiLDYsNSk7CiAgICByZXR1cm4gMDsKfQ==