#include <iostream>
#include <vector>
#include <algorithm>
#include <set>
#include <iterator>
using namespace std;
template<typename Cont>
Cont diff(Cont const &a, Cont const &b) {
using T = typename Cont::value_type;
set<T> sa(begin(a), end(a)),
sb(begin(b), end(b));
Cont result;
set_symmetric_difference(
begin(sa), end(sa),
begin(sb), end(sb),
back_inserter(result));
return result;
}
int main() {
vector<int> a {1, 2, 3, 4, 5},
b {1, 3, 6, 7, 4};
for(int el: diff(a, b)) {
cout << el << " ";
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8c2V0PgojaW5jbHVkZSA8aXRlcmF0b3I+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp0ZW1wbGF0ZTx0eXBlbmFtZSBDb250PgpDb250IGRpZmYoQ29udCBjb25zdCAmYSwgQ29udCBjb25zdCAmYikgewogICAgdXNpbmcgVCA9IHR5cGVuYW1lIENvbnQ6OnZhbHVlX3R5cGU7CiAgICBzZXQ8VD4gc2EoYmVnaW4oYSksIGVuZChhKSksCiAgICAgICAgICAgc2IoYmVnaW4oYiksIGVuZChiKSk7CgogICAgQ29udCByZXN1bHQ7CiAgICBzZXRfc3ltbWV0cmljX2RpZmZlcmVuY2UoCiAgICAgICAgYmVnaW4oc2EpLCBlbmQoc2EpLAogICAgICAgIGJlZ2luKHNiKSwgZW5kKHNiKSwKICAgICAgICBiYWNrX2luc2VydGVyKHJlc3VsdCkpOwogICAgcmV0dXJuIHJlc3VsdDsKfQoKaW50IG1haW4oKSB7Cgl2ZWN0b3I8aW50PiBhIHsxLCAyLCAzLCA0LCA1fSwKICAgICAgICAgICAgICAgIGIgezEsIDMsIDYsIDcsIDR9OwoKICAgIGZvcihpbnQgZWw6IGRpZmYoYSwgYikpIHsKICAgICAgICBjb3V0IDw8IGVsIDw8ICIgIjsKICAgIH0KCXJldHVybiAwOwp9