classSolution{public:
string complexNumberMultiply(string num1, string num2){int shi1 =0, shi2 =0;int xu1 =0, xu2 =0;
shi1 =getShi(num1);
shi2 =getShi(num2);
xu1 =getXu(num1);
xu2 =getXu(num2);
string ans ="";int shi = shi1 * shi2 - xu1 * xu2;int xu = shi1 * xu2 + xu1 * shi2;
ans +=toString(shi)+"+";
ans +=toString(xu)+"i";return ans;}intgetShi(string s){int len = s.size();int ret =0;int fu =1;for(int i =0; i < len; i ++){if(s[i]=='-'){
fu =-1;continue;}if(s[i]=='+')break;
ret = ret *10+ s[i]-'0';}return ret * fu;}intgetXu(string s){int ret =0;int len = s.size();int flag =0;int fu =1;for(int i =0; i < len; i ++){if(s[i]=='+') flag =1;if(s[i]=='-'&& i !=0){
fu =-1;continue;}if(s[i]=='i')break;if(flag &&isdigit(s[i])){
ret = ret *10+ s[i]-'0';}}return ret * fu;}
string toString(int n){if(n ==0){
string t ="0";return t;}
string ret ="";int fu =0;if(n <0) fu =1, n *=-1;while(n){int t = n %10;
n /=10;
ret.push_back('0'+ t);}reverse(ret.begin(),ret.end());if(fu ==1){
ret ="-"+ ret;}return ret;}};