#include <iostream>
#include <vector>
#include <string>
#include <iterator>
#include <utility>
using namespace std;
template<class T> class ConfigFile
{
string fileName;
vector<pair<string, T>> values;
public:
void Save();
};
template<class T> void ConfigFile<T>::Save()
{
cout << "Generic Save\n";
}
template<> void ConfigFile<vector<int>>::Save()
{
cout << "Specialised Save\n";
}
int main()
{
ConfigFile<int> c;
c.Save();
ConfigFile<vector<int>> s;
s.Save();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8aXRlcmF0b3I+CiNpbmNsdWRlIDx1dGlsaXR5Pgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdGVtcGxhdGU8Y2xhc3MgVD4gY2xhc3MgQ29uZmlnRmlsZQp7CiAgICBzdHJpbmcgZmlsZU5hbWU7CiAJdmVjdG9yPHBhaXI8c3RyaW5nLCBUPj4gdmFsdWVzOwogCnB1YmxpYzoKICAgIHZvaWQgU2F2ZSgpOwp9OwoKdGVtcGxhdGU8Y2xhc3MgVD4gdm9pZCBDb25maWdGaWxlPFQ+OjpTYXZlKCkKewoJY291dCA8PCAiR2VuZXJpYyBTYXZlXG4iOwp9Cgp0ZW1wbGF0ZTw+IHZvaWQgQ29uZmlnRmlsZTx2ZWN0b3I8aW50Pj46OlNhdmUoKQp7Cgljb3V0IDw8ICJTcGVjaWFsaXNlZCBTYXZlXG4iOwp9CgppbnQgbWFpbigpIAp7CglDb25maWdGaWxlPGludD4gYzsKCWMuU2F2ZSgpOwoJCglDb25maWdGaWxlPHZlY3RvcjxpbnQ+PiBzOwoJcy5TYXZlKCk7CgkKCXJldHVybiAwOwp9