#include <iostream>
using namespace std;
template <class T1, class T2>
struct S
{
T1 x;
T2 y;
template <class T3, class T4>
S (const S <T3, T4> other) : x (other.x), y (other.y) {}
S (T1 new_x, T2 new_y) : x (new_x), y (new_y) {}
void print (void) {cout << x << " " << y << endl;}
};
int main (void)
{
S <int, int> s = S <double, double> (1.2, 3.4);
s.print ();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdGVtcGxhdGUgPGNsYXNzIFQxLCBjbGFzcyBUMj4Kc3RydWN0IFMKewoJVDEgeDsKCVQyIHk7Cgl0ZW1wbGF0ZSA8Y2xhc3MgVDMsIGNsYXNzIFQ0PgoJUyAoY29uc3QgUyA8VDMsIFQ0PiBvdGhlcikgOiB4IChvdGhlci54KSwgeSAob3RoZXIueSkge30KCVMgKFQxIG5ld194LCBUMiBuZXdfeSkgOiB4IChuZXdfeCksIHkgKG5ld195KSB7fQoJdm9pZCBwcmludCAodm9pZCkge2NvdXQgPDwgeCA8PCAiICIgPDwgeSA8PCBlbmRsO30KfTsKCmludCBtYWluICh2b2lkKQp7CglTIDxpbnQsIGludD4gcyA9IFMgPGRvdWJsZSwgZG91YmxlPiAoMS4yLCAzLjQpOwoJcy5wcmludCAoKTsKCXJldHVybiAwOwp9Cg==