varchain operator * ( varchain c1, const varchain& c2 ) { c1.repr.reserve(c1.repr.size() + c2.repr.size()); c1.repr.insert(end(c1.repr), begin(c2.repr), end(c2.repr)); c1.normalize(); return c1; }
varchain operator * ( varchain c1, const varchain& c2 ) { c1.repr.reserve(c1.size() + c2.size()); for (auto e : c2.repr) c1.repr.push_back(e); c1.normalize(); return c1; }