#include <iostream>
#include <iterator>
#include <vector>
#include <unordered_set>
#include <algorithm>
int main() {
std::vector<int> a = {1,2,3,4,5,5};
std::vector<int> b = {5,5,5,5,4};
std::vector<int> c;
std::unordered_set<int> t(a.begin(), a.end());
for (auto &x : b) {
auto it = t.find(x);
if (it != t.end()) {
c.push_back(x);
t.erase(it);
}
}
for (auto &x : c) {
std::cout << x << std::endl;
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aXRlcmF0b3I+CiNpbmNsdWRlIDx2ZWN0b3I+CiNpbmNsdWRlIDx1bm9yZGVyZWRfc2V0PgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKaW50IG1haW4oKSB7CiAgICBzdGQ6OnZlY3RvcjxpbnQ+IGEgPSB7MSwyLDMsNCw1LDV9OwogICAgc3RkOjp2ZWN0b3I8aW50PiBiID0gezUsNSw1LDUsNH07CiAgICBzdGQ6OnZlY3RvcjxpbnQ+IGM7CiAgICBzdGQ6OnVub3JkZXJlZF9zZXQ8aW50PiB0KGEuYmVnaW4oKSwgYS5lbmQoKSk7CgogICAgZm9yIChhdXRvICZ4IDogYikgewogICAgICAgIGF1dG8gaXQgPSB0LmZpbmQoeCk7CiAgICAgICAgaWYgKGl0ICE9IHQuZW5kKCkpIHsKICAgICAgICAgICAgYy5wdXNoX2JhY2soeCk7CiAgICAgICAgICAgIHQuZXJhc2UoaXQpOwogICAgICAgIH0KICAgIH0KCiAgICBmb3IgKGF1dG8gJnggOiBjKSB7CiAgICAgICAgc3RkOjpjb3V0IDw8IHggPDwgc3RkOjplbmRsOwogICAgfQp9