#include <bits/stdc++.h>
using namespace std;
class A{
public:
int a;
string s;
};
template <typename T> class myClass {
vector<T>arr;
public:
myClass(vector<T> param) : arr(param) {}
T add() {
T sum={};
for(int i=0;i<arr.size();i++){
// cout<<arr[i]<<" ";
sum+=arr[i];
}
return sum;
}
};
template <> class myClass<A> {
vector<A>arr;
public:
myClass(vector<A> param) : arr(param) {}
A add() {
A sum={};
for(int i=0;i<arr.size();i++){
sum.a+=arr[i].a;
sum.s+=" "+arr[i].s;
}
return sum;
}
};
int main()
{
vector<int>v;
v.push_back(2);
v.push_back(5);
myClass<int> obj(v);
int s=obj.add();
cout<<s<<endl;
vector<A>vOfA;
vOfA.push_back({3, "abc"});
vOfA.push_back({5, "xyz"});
myClass<A> objOfA(vOfA);
A ss=objOfA.add();
cout<<ss.a<<" "<<ss.s<<endl;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNsYXNzIEF7CnB1YmxpYzoKICAgIGludCBhOwogICAgc3RyaW5nIHM7Cn07Cgp0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgbXlDbGFzcyB7CiAgICB2ZWN0b3I8VD5hcnI7CnB1YmxpYzoKICAgIG15Q2xhc3ModmVjdG9yPFQ+IHBhcmFtKSA6IGFycihwYXJhbSkge30KICAgIFQgYWRkKCkgewogICAgICAgIFQgc3VtPXt9OwogICAgICAgIGZvcihpbnQgaT0wO2k8YXJyLnNpemUoKTtpKyspewogICAgICAgICAgICAvLyBjb3V0PDxhcnJbaV08PCIgICI7CiAgICAgICAgICAgIHN1bSs9YXJyW2ldOwogICAgICAgIH0KICAgICAgICAKICAgICAgICByZXR1cm4gc3VtOwogICAgfQp9OwoKdGVtcGxhdGUgPD4gY2xhc3MgbXlDbGFzczxBPiB7CiAgICB2ZWN0b3I8QT5hcnI7CnB1YmxpYzoKICAgIG15Q2xhc3ModmVjdG9yPEE+IHBhcmFtKSA6IGFycihwYXJhbSkge30KICAgIEEgYWRkKCkgewogICAgICAgIEEgc3VtPXt9OwogICAgICAgIGZvcihpbnQgaT0wO2k8YXJyLnNpemUoKTtpKyspewogICAgICAgICAgICBzdW0uYSs9YXJyW2ldLmE7CiAgICAgICAgICAgIHN1bS5zKz0iICIrYXJyW2ldLnM7CiAgICAgICAgfQogICAgICAgIHJldHVybiBzdW07CiAgICB9Cn07CmludCBtYWluKCkKewogICAgdmVjdG9yPGludD52OwogICAgdi5wdXNoX2JhY2soMik7CiAgICB2LnB1c2hfYmFjayg1KTsKICAgIG15Q2xhc3M8aW50PiBvYmoodik7CiAgICAKICAgIGludCBzPW9iai5hZGQoKTsKICAgIGNvdXQ8PHM8PGVuZGw7CiAgICAKICAgIHZlY3RvcjxBPnZPZkE7CiAgICB2T2ZBLnB1c2hfYmFjayh7MywgImFiYyJ9KTsKICAgIHZPZkEucHVzaF9iYWNrKHs1LCAieHl6In0pOwogICAgCiAgICBteUNsYXNzPEE+IG9iak9mQSh2T2ZBKTsKICAgIEEgc3M9b2JqT2ZBLmFkZCgpOwogICAgY291dDw8c3MuYTw8IiAgIjw8c3Muczw8ZW5kbDsKfQ==