#include <iostream>
#include <string>
#include <vector>
#include <sstream>
#include <iterator>
#include <algorithm>
#include <functional>
std::wstring unique(const std::wstring& s1, const std::wstring& s2)
{
std::wstring s1_ = s1;
std::wstring s2_ = s2;
std::sort(s1_.begin(), s1_.end());
std::sort(s2_.begin(), s2_.end());
std::wstring out;
std::set_symmetric_difference(s1_.begin(), s1_.end(), s2_.begin(), s2_.end(), std::back_inserter(out));
return out;
}
int main()
{
std::vector<std::wstring> seqs = {L"абвг", L"гдежз", L"жзик"};
std::wcout << std::accumulate(seqs.begin(), seqs.end(), std::wstring(), [](std::wstring s1, std::wstring s2) {return unique(s1, s2);}) << std::endl;
}