#include <iostream>
struct A
{
int v = 3;
};
namespace Foo
{
template <int k=11>
int operator+(A const& rhs, A const& lhs)
{
return rhs.v + lhs.v + k;
}
}
using Foo::operator+;
using namespace std;
int main()
{
A a1, a2;
cout << a1 + a2 << endl;
return EXIT_SUCCESS;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKCnN0cnVjdCBBCnsKICAgaW50IHYgPSAzOwp9OwoKCm5hbWVzcGFjZSBGb28KewogICB0ZW1wbGF0ZSA8aW50IGs9MTE+CiAgIGludCBvcGVyYXRvcisoQSBjb25zdCYgcmhzLCBBIGNvbnN0JiBsaHMpCiAgIHsKICAgICAgcmV0dXJuIHJocy52ICsgbGhzLnYgKyBrOwogICB9Cn0KCnVzaW5nIEZvbzo6b3BlcmF0b3IrOwoKCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBtYWluKCkKewoKICAgQSBhMSwgYTI7CgogICBjb3V0IDw8IGExICsgYTIgPDwgZW5kbDsKCiAgIHJldHVybiBFWElUX1NVQ0NFU1M7Cn0K