#include <iostream>
#include <vector>
#include <algorithm>
#include <functional>
#include <string>
using namespace std;
const int CAPACITY = 5;
template <typename t>
std::vector<t> inter(const std::vector <t> & v1, const std::vector <t> & v2)
{
vector <t> v3;
std::set_intersection(v1.begin(), v1.end(), v2.begin(), v2.end(), std::back_inserter(v3));
return v3;
}
int main()
{
vector<string> vec1;
string a;
cout << "Enter five stings for vector 1 \n"<< endl;
vec1.push_back("dog");
vec1.push_back("cat");
vec1.push_back("lizard");
vec1.push_back("snake");
vec1.push_back("pig");
vector<string> vec2;
string b;
cout << "Enter five stings for vector 2 \n"<< endl;
vec2.push_back("cat");
vec2.push_back("sheep");
vec2.push_back("cow");
vec2.push_back("snake");
vec2.push_back("fish");
std::sort(vec1.begin(), vec1.end());
std::sort(vec2.begin(), vec2.end());
std::vector<std::string> v3 = inter(vec1, vec2);
for(auto &it: v3)
{
cout << it << endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8ZnVuY3Rpb25hbD4KI2luY2x1ZGUgPHN0cmluZz4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY29uc3QgaW50IENBUEFDSVRZID0gNTsKCnRlbXBsYXRlIDx0eXBlbmFtZSB0PgpzdGQ6OnZlY3Rvcjx0PiBpbnRlcihjb25zdCBzdGQ6OnZlY3RvciA8dD4gJiB2MSwgY29uc3Qgc3RkOjp2ZWN0b3IgPHQ+ICYgdjIpCnsKICAgIHZlY3RvciA8dD4gdjM7ICAgCiAgICBzdGQ6OnNldF9pbnRlcnNlY3Rpb24odjEuYmVnaW4oKSwgdjEuZW5kKCksIHYyLmJlZ2luKCksIHYyLmVuZCgpLCBzdGQ6OmJhY2tfaW5zZXJ0ZXIodjMpKTsKICAgIHJldHVybiB2MzsKfQoKaW50IG1haW4oKQp7CiAgICB2ZWN0b3I8c3RyaW5nPiB2ZWMxOwogICAgc3RyaW5nIGE7CiAgICBjb3V0IDw8ICJFbnRlciBmaXZlIHN0aW5ncyBmb3IgdmVjdG9yIDEgXG4iPDwgZW5kbDsKICAgIHZlYzEucHVzaF9iYWNrKCJkb2ciKTsKICAgIHZlYzEucHVzaF9iYWNrKCJjYXQiKTsKICAgIHZlYzEucHVzaF9iYWNrKCJsaXphcmQiKTsKICAgIHZlYzEucHVzaF9iYWNrKCJzbmFrZSIpOwogICAgdmVjMS5wdXNoX2JhY2soInBpZyIpOwoKICAgICAgICAKICAgIHZlY3RvcjxzdHJpbmc+IHZlYzI7CiAgICBzdHJpbmcgYjsKICAgIGNvdXQgPDwgIkVudGVyIGZpdmUgc3RpbmdzIGZvciB2ZWN0b3IgMiBcbiI8PCBlbmRsOwogICAgdmVjMi5wdXNoX2JhY2soImNhdCIpOwogICAgdmVjMi5wdXNoX2JhY2soInNoZWVwIik7CiAgICB2ZWMyLnB1c2hfYmFjaygiY293Iik7CiAgICB2ZWMyLnB1c2hfYmFjaygic25ha2UiKTsKICAgIHZlYzIucHVzaF9iYWNrKCJmaXNoIik7CgogICAgc3RkOjpzb3J0KHZlYzEuYmVnaW4oKSwgdmVjMS5lbmQoKSk7CiAgICBzdGQ6OnNvcnQodmVjMi5iZWdpbigpLCB2ZWMyLmVuZCgpKTsKICAgIHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiB2MyA9IGludGVyKHZlYzEsIHZlYzIpOwoKICAgIGZvcihhdXRvICZpdDogIHYzKQogICAgewogICAgICBjb3V0IDw8IGl0IDw8IGVuZGw7CiAgICB9CgogICAgcmV0dXJuIDA7Cn0=