#include <string>
#include <iostream>
#include <iomanip>
using namespace std;
template<typename Second>
class myPair: public pair<int,Second>
{
public:
myPair(const Second& s = Second(), int j = 0)
:pair<int,Second>(j,s)
{}
void out() const
{ cout
<< "(" << this->first
<< ":" << this->second << ")\n";
}
};
int main(int argc, const char * argv[])
{
myPair<double> d(3.1415926);
myPair<string> s("Hello",3);
d.out();
s.out();
}
I2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aW9tYW5pcD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp0ZW1wbGF0ZTx0eXBlbmFtZSBTZWNvbmQ+CmNsYXNzIG15UGFpcjogcHVibGljIHBhaXI8aW50LFNlY29uZD4KewpwdWJsaWM6CiAgICBteVBhaXIoY29uc3QgU2Vjb25kJiBzID0gU2Vjb25kKCksIGludCBqID0gMCkKICAgIDpwYWlyPGludCxTZWNvbmQ+KGoscykKICAgIHt9CgogICAgdm9pZCBvdXQoKSBjb25zdAogICAgeyBjb3V0CiAgICAgICAgPDwgIigiIDw8IHRoaXMtPmZpcnN0CiAgICAgICAgPDwgIjoiIDw8IHRoaXMtPnNlY29uZCA8PCAiKVxuIjsKICAgIH0KCn07CgoKaW50IG1haW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiBhcmd2W10pCnsKICAgIG15UGFpcjxkb3VibGU+IGQoMy4xNDE1OTI2KTsKICAgIG15UGFpcjxzdHJpbmc+IHMoIkhlbGxvIiwzKTsKCiAgICBkLm91dCgpOwogICAgcy5vdXQoKTsKCn0KCg==