#include <iostream>
#include<complex>

namespace std
{
	template <typename charT, typename traits> 
	std::basic_ostream<charT, traits> &operator <<
	(std::basic_ostream<charT, traits> &strm, const std::complex<double>& c)	
	{
		strm<<c.real()<<"+"<<c.imag()<<"*i"<<std::endl;
		return strm;
	}
}

int main() {
	// your code goes here
	std::cout<<std::complex<double>(1.0,1.0);
	return 0;
}