#include <iostream>
#include <string>
#include <sstream>
#include <cstring>
using namespace std;
int main() {
string str="-5e^3+8e^4i";
string str2=str;
string a;
for(int i=0;i<str2.length();i++){
a=to_string(str2.at(i));
if(a=="e")
str2.replace(i,1,"+");
}
bool twoItems=false;
bool eAll=false;
for(int i=1;i<str.length();i++){
a=to_string(str2.at(i));
if(a== "+" || a=="-")
twoItems=true;
if(a=="e")
eAll=true;
}
// your code goes here
bool e1,e2,isi;
e1=false;
e2=false;
for(int i=0;i<str.length();i++){
a=to_string(str2.at(i));
if(a=="i")
isi==true;
}
if(twoItems){
string s1=str.substr(1,str.find("+","-"));
string s2=str.substr(str.find("+","-"), str.length());
for(int i=0;i<s1.length();i++){
a=to_string(str2.at(i));
if(a=="e"){
e1=true;
s1.replace(i,1,"e");
}
}
for(int i=0;i<s2.length();i++){
a=to_string(str2.at(i));
if(a=="e"){
e2=true;
s2.replace(i,1,"e");
}
}
}
int x,y,z,q;
if(e2==true && e1==true && isi==true && twoItems){
std::stringstream ss(str);
ss>>x>>z>>y>>q;
x=x^z;
y=y^q;
}if(e2==false && e1==true && isi==true && twoItems){
std::stringstream ss(str);
ss>>x>>y>>q;
y=y^q;
}if(e2==false && e1==true && isi==true && twoItems){
std::stringstream ss(str);
ss>>x>>z>>y;
x=x^z;
}if(e2==false && e1==false && isi==true && twoItems){
std::stringstream ss(str);
ss>>x>>y;
}if( eAll==true && isi==true && !twoItems){
std::stringstream ss(str);
ss>>y>>q;
y=y^q;
}if(eAll==false && isi==true && !twoItems){
std::stringstream ss(str);
ss>>y;
}if( eAll==true && isi==false && !twoItems){
std::stringstream ss(str);
ss>>x>>z;
x=x^z;
}if(eAll==false && isi==false && !twoItems){
std::stringstream ss(str);
ss>>x;
}
cout<<x<<" "<<y<<endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8c3N0cmVhbT4KI2luY2x1ZGUgPGNzdHJpbmc+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCQoJc3RyaW5nIHN0cj0iLTVlXjMrOGVeNGkiOwoJc3RyaW5nIHN0cjI9c3RyOwoJc3RyaW5nIGE7Cglmb3IoaW50IGk9MDtpPHN0cjIubGVuZ3RoKCk7aSsrKXsKCQkgYT10b19zdHJpbmcoc3RyMi5hdChpKSk7CgkJaWYoYT09ImUiKQoJCXN0cjIucmVwbGFjZShpLDEsIisiKTsKCQkKCX0KCQoJCglib29sIHR3b0l0ZW1zPWZhbHNlOwoJYm9vbCBlQWxsPWZhbHNlOwoJCglmb3IoaW50IGk9MTtpPHN0ci5sZW5ndGgoKTtpKyspewoJCWE9dG9fc3RyaW5nKHN0cjIuYXQoaSkpOwoJCWlmKGE9PSAiKyIgfHwgYT09Ii0iKQoJCXR3b0l0ZW1zPXRydWU7CgkJaWYoYT09ImUiKQoJCWVBbGw9dHJ1ZTsKCX0KCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCWJvb2wgZTEsZTIsaXNpOwoJZTE9ZmFsc2U7CgllMj1mYWxzZTsKCgkKCQoJZm9yKGludCBpPTA7aTxzdHIubGVuZ3RoKCk7aSsrKXsKCQlhPXRvX3N0cmluZyhzdHIyLmF0KGkpKTsKCQlpZihhPT0iaSIpCgkJaXNpPT10cnVlOwoJfQoJCgkKaWYodHdvSXRlbXMpewoJCgkKCXN0cmluZyBzMT1zdHIuc3Vic3RyKDEsc3RyLmZpbmQoIisiLCItIikpOwoJc3RyaW5nIHMyPXN0ci5zdWJzdHIoc3RyLmZpbmQoIisiLCItIiksIHN0ci5sZW5ndGgoKSk7CgkKCQoJZm9yKGludCBpPTA7aTxzMS5sZW5ndGgoKTtpKyspewoJCWE9dG9fc3RyaW5nKHN0cjIuYXQoaSkpOwoJCWlmKGE9PSJlIil7CgkJCWUxPXRydWU7CgkJCXMxLnJlcGxhY2UoaSwxLCJlIik7CgkJfQoJfQoJCglmb3IoaW50IGk9MDtpPHMyLmxlbmd0aCgpO2krKyl7CgkJYT10b19zdHJpbmcoc3RyMi5hdChpKSk7CgkJaWYoYT09ImUiKXsKCQkJZTI9dHJ1ZTsKCQkJIHMyLnJlcGxhY2UoaSwxLCJlIik7CgkJfQoJfQp9CgkKCQoJCglpbnQgeCx5LHoscTsKCWlmKGUyPT10cnVlICYmIGUxPT10cnVlICYmIGlzaT09dHJ1ZSAmJiB0d29JdGVtcyl7CglzdGQ6OnN0cmluZ3N0cmVhbSBzcyhzdHIpOwoJc3M+Png+Pno+Pnk+PnE7Cgl4PXheejsKCXk9eV5xOwoJfWlmKGUyPT1mYWxzZSAmJiBlMT09dHJ1ZSAmJiBpc2k9PXRydWUgJiYgdHdvSXRlbXMpewoJc3RkOjpzdHJpbmdzdHJlYW0gc3Moc3RyKTsKCXNzPj54Pj55Pj5xOwoJeT15XnE7Cgl9aWYoZTI9PWZhbHNlICYmIGUxPT10cnVlICYmIGlzaT09dHJ1ZSAmJiB0d29JdGVtcyl7CglzdGQ6OnN0cmluZ3N0cmVhbSBzcyhzdHIpOwoJc3M+Png+Pno+Pnk7Cgl4PXheejsKCX1pZihlMj09ZmFsc2UgJiYgZTE9PWZhbHNlICYmIGlzaT09dHJ1ZSAmJiB0d29JdGVtcyl7CglzdGQ6OnN0cmluZ3N0cmVhbSBzcyhzdHIpOwoJc3M+Png+Pnk7Cgl9aWYoIGVBbGw9PXRydWUgJiYgaXNpPT10cnVlICYmICF0d29JdGVtcyl7CglzdGQ6OnN0cmluZ3N0cmVhbSBzcyhzdHIpOwoJc3M+Pnk+PnE7Cgl5PXlecTsKCX1pZihlQWxsPT1mYWxzZSAmJiBpc2k9PXRydWUgJiYgIXR3b0l0ZW1zKXsKCXN0ZDo6c3RyaW5nc3RyZWFtIHNzKHN0cik7Cglzcz4+eTsKCX1pZiggZUFsbD09dHJ1ZSAmJiBpc2k9PWZhbHNlICYmICF0d29JdGVtcyl7CglzdGQ6OnN0cmluZ3N0cmVhbSBzcyhzdHIpOwoJc3M+Png+Pno7Cgl4PXheejsKCX1pZihlQWxsPT1mYWxzZSAmJiBpc2k9PWZhbHNlICYmICF0d29JdGVtcyl7CglzdGQ6OnN0cmluZ3N0cmVhbSBzcyhzdHIpOwoJc3M+Png7Cgl9CgkKCQoJCgljb3V0PDx4PDwiICAgICAgICI8PHk8PGVuZGw7CgkKCQoJCgkKCQoJcmV0dXJuIDA7Cn0=
prog.cpp: In function ‘int main()’:
prog.cpp:47:41: error: invalid conversion from ‘const char*’ to ‘std::__cxx11::basic_string<char>::size_type {aka long unsigned int}’ [-fpermissive]
string s1=str.substr(1,str.find("+","-"));
^
In file included from /usr/include/c++/6/string:52:0,
from /usr/include/c++/6/bits/locale_classes.h:40,
from /usr/include/c++/6/bits/ios_base.h:41,
from /usr/include/c++/6/ios:42,
from /usr/include/c++/6/ostream:38,
from /usr/include/c++/6/iostream:39,
from prog.cpp:1:
/usr/include/c++/6/bits/basic_string.h:2053:7: note: initializing argument 2 of ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::find(const _CharT*, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type) const [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’
find(const _CharT* __s, size_type __pos = 0) const
^~~~
prog.cpp:48:39: error: invalid conversion from ‘const char*’ to ‘std::__cxx11::basic_string<char>::size_type {aka long unsigned int}’ [-fpermissive]
string s2=str.substr(str.find("+","-"), str.length());
^
In file included from /usr/include/c++/6/string:52:0,
from /usr/include/c++/6/bits/locale_classes.h:40,
from /usr/include/c++/6/bits/ios_base.h:41,
from /usr/include/c++/6/ios:42,
from /usr/include/c++/6/ostream:38,
from /usr/include/c++/6/iostream:39,
from prog.cpp:1:
/usr/include/c++/6/bits/basic_string.h:2053:7: note: initializing argument 2 of ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::find(const _CharT*, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type) const [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’
find(const _CharT* __s, size_type __pos = 0) const
^~~~