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