#include <iostream>
#include <set>
#include <algorithm>
#include <iterator>
#include <fstream>
using namespace std;
void readSet(set<int>& v, istream_iterator<int>& input) {
int size = *input++;
while (size--) {
v.insert(*input++);
}
}
int main() {
ifstream file("plik.txt");
if (!file.is_open()) {
return 1;
}
istream_iterator<int> input(file);
set<int> a, b;
readSet(a, input);
readSet(b, input);
set<int> intersection;
set_intersection(
a.begin(), a.end(),
b.begin(), b.end(),
inserter(intersection, intersection.end())
);
cout << "Ilosc powtarzajacych sie: " << intersection.size() << "\n";
cout << "Liczby:\n";
copy(
intersection.begin(),
intersection.end(),
ostream_iterator<int>(cout, "\n")
);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c2V0PgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8aXRlcmF0b3I+CiNpbmNsdWRlIDxmc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnZvaWQgcmVhZFNldChzZXQ8aW50PiYgdiwgaXN0cmVhbV9pdGVyYXRvcjxpbnQ+JiBpbnB1dCkgewogICAgaW50IHNpemUgPSAqaW5wdXQrKzsKICAgIHdoaWxlIChzaXplLS0pIHsKICAgICAgICB2Lmluc2VydCgqaW5wdXQrKyk7CiAgICB9Cn0KCmludCBtYWluKCkgewogICAgaWZzdHJlYW0gZmlsZSgicGxpay50eHQiKTsKICAgIGlmICghZmlsZS5pc19vcGVuKCkpIHsKICAgICAgICByZXR1cm4gMTsKICAgIH0KCiAgICBpc3RyZWFtX2l0ZXJhdG9yPGludD4gaW5wdXQoZmlsZSk7CiAgICBzZXQ8aW50PiBhLCBiOwogICAgcmVhZFNldChhLCBpbnB1dCk7CiAgICByZWFkU2V0KGIsIGlucHV0KTsKICAgIAogICAgc2V0PGludD4gaW50ZXJzZWN0aW9uOwogICAgc2V0X2ludGVyc2VjdGlvbigKICAgICAgICBhLmJlZ2luKCksIGEuZW5kKCksCiAgICAgICAgYi5iZWdpbigpLCBiLmVuZCgpLAogICAgICAgIGluc2VydGVyKGludGVyc2VjdGlvbiwgaW50ZXJzZWN0aW9uLmVuZCgpKQogICAgKTsKICAgIAogICAgY291dCA8PCAiSWxvc2MgcG93dGFyemFqYWN5Y2ggc2llOiAiIDw8IGludGVyc2VjdGlvbi5zaXplKCkgPDwgIlxuIjsKICAgIGNvdXQgPDwgIkxpY3pieTpcbiI7CiAgICBjb3B5KAogICAgICAgIGludGVyc2VjdGlvbi5iZWdpbigpLAogICAgICAgIGludGVyc2VjdGlvbi5lbmQoKSwKICAgICAgICBvc3RyZWFtX2l0ZXJhdG9yPGludD4oY291dCwgIlxuIikKICAgICk7CiAgICByZXR1cm4gMDsKfQ==