#include <iostream>
using namespace std;
struct Complex { double realPart, imaginaryPart; };
istream &operator>>(istream &input, Complex &complex)
{
char plus,letter;
if (input >> complex.realPart >> plus) {
if (plus!='+' )
input.setstate(ios::failbit);
else if (input >> complex.imaginaryPart>>letter) {
if (letter!='i')
input.setstate(ios::failbit);
}
}
return input;
}
int main() {
Complex c;
if (cin>>c)
cout << "Succeeded: ";
else cout << "Failed: ";
cout <<c.realPart<<"+"<<c.imaginaryPart<<"i"<<endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnN0cnVjdCBDb21wbGV4IHsgZG91YmxlIHJlYWxQYXJ0LCBpbWFnaW5hcnlQYXJ0OyB9OyAKCmlzdHJlYW0gJm9wZXJhdG9yPj4oaXN0cmVhbSAmaW5wdXQsIENvbXBsZXggJmNvbXBsZXgpCnsKCWNoYXIgcGx1cyxsZXR0ZXI7CiAgICBpZiAoaW5wdXQgPj4gY29tcGxleC5yZWFsUGFydCA+PiBwbHVzKSAgewogICAgCWlmIChwbHVzIT0nKycgKSAKICAgICAgICAgICAgaW5wdXQuc2V0c3RhdGUoaW9zOjpmYWlsYml0KTsKICAgICAgICBlbHNlIGlmIChpbnB1dCA+PiBjb21wbGV4LmltYWdpbmFyeVBhcnQ+PmxldHRlcikgewogICAgICAgICAgICAgaWYgKGxldHRlciE9J2knKQogICAgICAgIAkgICAgIGlucHV0LnNldHN0YXRlKGlvczo6ZmFpbGJpdCk7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIGlucHV0Owp9CgppbnQgbWFpbigpIHsKCUNvbXBsZXggYzsgCglpZiAoY2luPj5jKSAKCSAgIGNvdXQgPDwgIlN1Y2NlZWRlZDogIjsgCgllbHNlIGNvdXQgPDwgIkZhaWxlZDogIjsKCWNvdXQgPDxjLnJlYWxQYXJ0PDwiKyI8PGMuaW1hZ2luYXJ5UGFydDw8ImkiPDxlbmRsOwoJcmV0dXJuIDA7Cn0=