#include <iostream>
using namespace std;

template <typename T1, typename T2>
struct S
{
	T1 x;
	T2 y;
	template <typename T3, typename 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;
}
