#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