#include <vector>
#include <iostream>
#include <iomanip>
using namespace std;
using Vector = vector<int>;
Vector operator&(const Vector& a, const Vector& b)
{
if (a.size() != b.size()) throw runtime_error("a.size() != b.size()");
Vector c(a.size());
for(int i = 0; i < a.size(); ++i)
c[i] = a[i] > b[i] ? a[i] : b[i];
return c;
}
int main(int argc, char * argv[])
{
vector<int> a = { 1,2,3,4,5,6,7,8 };
vector<int> b = { 8,7,6,5,4,3,2,1 };
for(auto i: a&b) cout << i << " ";
}
I2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aW9tYW5pcD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp1c2luZyBWZWN0b3IgPSB2ZWN0b3I8aW50PjsKClZlY3RvciBvcGVyYXRvciYoY29uc3QgVmVjdG9yJiBhLCBjb25zdCBWZWN0b3ImIGIpCnsKICAgIGlmIChhLnNpemUoKSAhPSBiLnNpemUoKSkgdGhyb3cgcnVudGltZV9lcnJvcigiYS5zaXplKCkgIT0gYi5zaXplKCkiKTsKICAgIFZlY3RvciBjKGEuc2l6ZSgpKTsKICAgIGZvcihpbnQgaSA9IDA7IGkgPCBhLnNpemUoKTsgKytpKQogICAgICAgIGNbaV0gPSBhW2ldID4gYltpXSA/IGFbaV0gOiBiW2ldOwogICAgcmV0dXJuIGM7Cn0KCgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqIGFyZ3ZbXSkKewogICAgdmVjdG9yPGludD4gYSA9IHsgMSwyLDMsNCw1LDYsNyw4IH07CiAgICB2ZWN0b3I8aW50PiBiID0geyA4LDcsNiw1LDQsMywyLDEgfTsKCiAgICBmb3IoYXV0byBpOiBhJmIpIGNvdXQgPDwgaSA8PCAiICI7Cn0K