#include <algorithm>
#include <string>
#include <vector>
namespace otherns {
class Property {
public:
const std::string &getName() const { return m_name; }
private:
std::string m_name;
};
}
namespace otherns {
bool operator==(const otherns::Property &a, const otherns::Property &b) {
return a.getName() == b.getName();
}
}
/* Merge, second takes priority */
std::vector<otherns::Property>
merge_props(const std::vector<otherns::Property> &xs,
const std::vector<otherns::Property> &ys) {
std::vector<otherns::Property> ans = ys;
for (const auto &x : xs) {
if (std::find(ans.begin(), ans.end(), x) == ans.end()) {
ans.push_back(x);
}
}
return ans;
}
int main(){}
I2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPHZlY3Rvcj4KCm5hbWVzcGFjZSBvdGhlcm5zIHsKCmNsYXNzIFByb3BlcnR5IHsKcHVibGljOgogIGNvbnN0IHN0ZDo6c3RyaW5nICZnZXROYW1lKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lOyB9Cgpwcml2YXRlOgogIHN0ZDo6c3RyaW5nIG1fbmFtZTsKfTsKCn0KCm5hbWVzcGFjZSBvdGhlcm5zIHsKYm9vbCBvcGVyYXRvcj09KGNvbnN0IG90aGVybnM6OlByb3BlcnR5ICZhLCBjb25zdCBvdGhlcm5zOjpQcm9wZXJ0eSAmYikgewogIHJldHVybiBhLmdldE5hbWUoKSA9PSBiLmdldE5hbWUoKTsKfQp9CgovKiBNZXJnZSwgc2Vjb25kIHRha2VzIHByaW9yaXR5ICovCnN0ZDo6dmVjdG9yPG90aGVybnM6OlByb3BlcnR5PgptZXJnZV9wcm9wcyhjb25zdCBzdGQ6OnZlY3RvcjxvdGhlcm5zOjpQcm9wZXJ0eT4gJnhzLAogICAgICAgICAgICBjb25zdCBzdGQ6OnZlY3RvcjxvdGhlcm5zOjpQcm9wZXJ0eT4gJnlzKSB7CiAgc3RkOjp2ZWN0b3I8b3RoZXJuczo6UHJvcGVydHk+IGFucyA9IHlzOwogIGZvciAoY29uc3QgYXV0byAmeCA6IHhzKSB7CiAgICBpZiAoc3RkOjpmaW5kKGFucy5iZWdpbigpLCBhbnMuZW5kKCksIHgpID09IGFucy5lbmQoKSkgewogICAgICBhbnMucHVzaF9iYWNrKHgpOwogICAgfQogIH0KICByZXR1cm4gYW5zOwp9CgoKCgppbnQgbWFpbigpe30=