#include <vector>
#include <type_traits>
using namespace std;
template <class S, class T> vector<typename std::common_type<S, T>::type> operator+(const vector<S> &a, const vector<T> &b)
{
vector<typename std::common_type<S, T>::type> result;
result.reserve(a.size());
for(unsigned int i = 0; i < a.size();++i){
result[i] = a[i] + b[i];
}
return result;
}
int main() {
vector<double> bla;
bla = bla + bla;
return 0;
}
I2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPHR5cGVfdHJhaXRzPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnRlbXBsYXRlIDxjbGFzcyBTLCBjbGFzcyBUPiB2ZWN0b3I8dHlwZW5hbWUgc3RkOjpjb21tb25fdHlwZTxTLCBUPjo6dHlwZT4gb3BlcmF0b3IrKGNvbnN0IHZlY3RvcjxTPiAmYSwgY29uc3QgdmVjdG9yPFQ+ICZiKQp7CiAgICB2ZWN0b3I8dHlwZW5hbWUgc3RkOjpjb21tb25fdHlwZTxTLCBUPjo6dHlwZT4gcmVzdWx0OwogICAgcmVzdWx0LnJlc2VydmUoYS5zaXplKCkpOwogICAgZm9yKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IGEuc2l6ZSgpOysraSl7CiAgICAgICAgcmVzdWx0W2ldID0gYVtpXSArIGJbaV07CiAgICB9CiAgICByZXR1cm4gcmVzdWx0Owp9CgppbnQgbWFpbigpIHsKICAgIHZlY3Rvcjxkb3VibGU+IGJsYTsKICAgIGJsYSA9IGJsYSArIGJsYTsKICAgIHJldHVybiAwOwp9