#include <bits/stdc++.h>
using namespace std;
#define ll long long
bool operand(string x)
{
if(x=="+")
{
return false;
}
else if(x=="-")
{
return false;
}
else if(x=="*")
{
return false;
}
else if(x=="/")
{
return false;
}
else if(x=="^")
{
return false;
}
else
{
return true;
}
}
int main() {
string b;
cin>>b;
int len=0;
// cout<<b.length()<<endl;
for(int i=0;i<b.length();i++)
{
if(b[i]==',')
{
continue;
}
else
{
len++;
}
}
cout<<len<<endl;
string a[len];
ll j=0;
ll cnt=0;
ll store=0;
for(int i=0;i<b.length();i++)
{
if(b[i]==',')
{ store=i;
//cout<<store<<endl;
for(int k=j;k<i;k++)
{
a[cnt]+=b[k];
// cout<<a[cnt]<<" ";
//cout<<b[k]<<endl;
}
cnt++;
j=i+1;
// cout<<j<<endl;
}
}
// cout<<store<<endl;
for(int f=store+1;f<b.length();f++);
{
a[cnt]+=b[j];
}
//a[cnt+1]=b[]
// cout<<a[0]<<endl;
// cout<<cnt<<len<<endl;
for(int i=0;i<=cnt;i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
stack<string>s;
for(int i=0;i<=cnt;i++)
{
if(operand(a[i])==true)
{ string d=(1,a[i]);
// cout<<d<<endl;
s.push(d);
// cout<<s.top()<<endl;
}
else
{
string op1=s.top();
// cout<<s.top()<<endl;
s.pop();
// string op1=s.top();
// cout<<s.top()<<endl;
if(s.empty())
{ // cout<<"d"<<endl;
//break;
string e="("+op1+a[i]+")";
s.push(e);
}
else
{
string op2=s.top();
s.pop();
string e="("+op2+a[i]+op1+")";
// cout<<"("+op2+a[i]+op1+")"<<endl;
s.push(e);
}
// cout<<op2<<" "<<op1<<endl;
// cout<<op2<<endl;
}
}
cout<<s.top()<<endl;
stack<double>s1;
for(int i=0;i<=cnt;i++)
{
if(operand(a[i]))
{
s1.push(stoi(a[i]));
}
else
{
if(a[i]=="+")
{
int val1=s1.top();
s1.pop();
int val2=s1.top();
s1.pop();
s1.push(val2+val1);
}
else if(a[i]=="-")
{
int val1=s1.top();
s1.pop();
int val2=s1.top();
s1.pop();
s1.push(val2-val1);
}
else if(a[i]=="*")
{
int val1=s1.top();
s1.pop();
int val2=s1.top();
s1.pop();
s1.push(val2*val1);
}
else if(a[i]=="/")
{
double val1=s1.top();
s1.pop();
double val2=s1.top();
s1.pop();
cout<<setprecision(3);
double val3=val2/val1;
// cout<<val3<<endl;
// double rounded = (int)(val3 * 100.0)/100.0;
// cout<<rounded<<endl;
s1.push(val3);
}
else if(a[i]=="^")
{
int val1=s1.top();
s1.pop();
s1.push(val1*val1);
}
}
}
cout<<s1.top()<<endl;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbGwgbG9uZyBsb25nCmJvb2wgb3BlcmFuZChzdHJpbmcgeCkKewoJaWYoeD09IisiKQoJewoJCXJldHVybiBmYWxzZTsKCX0KCWVsc2UgaWYoeD09Ii0iKQoJewoJCQlyZXR1cm4gZmFsc2U7Cgl9CgllbHNlIGlmKHg9PSIqIikKCXsKCQkJcmV0dXJuIGZhbHNlOwoJfQoJZWxzZSBpZih4PT0iLyIpCgl7CgkJCXJldHVybiBmYWxzZTsKCX0KCWVsc2UgaWYoeD09Il4iKQoJewoJCQlyZXR1cm4gZmFsc2U7Cgl9CgllbHNlCgl7CgkJcmV0dXJuIHRydWU7Cgl9Cn0KCmludCBtYWluKCkgewogIHN0cmluZyBiOwogIGNpbj4+YjsKICBpbnQgbGVuPTA7Ci8vICBjb3V0PDxiLmxlbmd0aCgpPDxlbmRsOwogIGZvcihpbnQgaT0wO2k8Yi5sZW5ndGgoKTtpKyspCiAgewogIAlpZihiW2ldPT0nLCcpCiAgCXsKICAJCWNvbnRpbnVlOwogIAl9CiAgCWVsc2UKICAJewogIAkgICBsZW4rKzsJCiAgCX0KICB9CiAgY291dDw8bGVuPDxlbmRsOwogIHN0cmluZyAgYVtsZW5dOwogICBsbCBqPTA7CiAgIGxsIGNudD0wOwogICBsbCBzdG9yZT0wOwogICBmb3IoaW50IGk9MDtpPGIubGVuZ3RoKCk7aSsrKQogICB7CiAgIAkgaWYoYltpXT09JywnKQogICAJIHsgc3RvcmU9aTsKICAgCSAvL2NvdXQ8PHN0b3JlPDxlbmRsOwogICAJIAlmb3IoaW50IGs9ajtrPGk7aysrKQogICAJIAl7CiAgIAkgCQlhW2NudF0rPWJba107CiAgIAkgCS8vCWNvdXQ8PGFbY250XTw8IiAiOwogICAJIAkJLy9jb3V0PDxiW2tdPDxlbmRsOwogICAJIAl9CiAgIAkgCWNudCsrOwogICAJIAlqPWkrMTsKICAgCSAvLwljb3V0PDxqPDxlbmRsOwogICAJIH0KICAgfQogIC8vIGNvdXQ8PHN0b3JlPDxlbmRsOwogICBmb3IoaW50IGY9c3RvcmUrMTtmPGIubGVuZ3RoKCk7ZisrKTsKICAgewogICAJYVtjbnRdKz1iW2pdOwogICAJCiAgIH0KICAgLy9hW2NudCsxXT1iW10KIC8vICBjb3V0PDxhWzBdPDxlbmRsOwovLwljb3V0PDxjbnQ8PGxlbjw8ZW5kbDsKICBmb3IoaW50IGk9MDtpPD1jbnQ7aSsrKQogIHsKICAgICAgIGNvdXQ8PGFbaV08PCIgIjsKICB9CiAgY291dDw8ZW5kbDsKICAJc3RhY2s8c3RyaW5nPnM7Cglmb3IoaW50IGk9MDtpPD1jbnQ7aSsrKQoJeyAKCQlpZihvcGVyYW5kKGFbaV0pPT10cnVlKQoJCXsgIHN0cmluZyBkPSgxLGFbaV0pOwoJLy8JY291dDw8ZDw8ZW5kbDsKCQkJcy5wdXNoKGQpOwoJCS8vCWNvdXQ8PHMudG9wKCk8PGVuZGw7CgkJfQoJICAgZWxzZSAKCSAgIHsgIAoJICAgCSBzdHJpbmcgb3AxPXMudG9wKCk7CgkgIC8vIAkgY291dDw8cy50b3AoKTw8ZW5kbDsKCSAgIAkgcy5wb3AoKTsKCSAgIAkvLyBzdHJpbmcgb3AxPXMudG9wKCk7CgkgICAvLwljb3V0PDxzLnRvcCgpPDxlbmRsOwoJICAgaWYocy5lbXB0eSgpKQoJICAgeyAvLyBjb3V0PDwiZCI8PGVuZGw7CgkgICAvL2JyZWFrOwoJICAgCXN0cmluZyBlPSIoIitvcDErYVtpXSsiKSI7CgkgICAJcy5wdXNoKGUpOwoJICAgfQoJICAgZWxzZQoJICAgewoJICAgCSBzdHJpbmcgb3AyPXMudG9wKCk7CgkgICAJcy5wb3AoKTsKCSAgIAlzdHJpbmcgZT0iKCIrb3AyK2FbaV0rb3AxKyIpIjsKCSAgIC8vCWNvdXQ8PCIoIitvcDIrYVtpXStvcDErIikiPDxlbmRsOwoJICAgCXMucHVzaChlKTsKCSAgIH0KCSAgIAoJICAgCS8vIGNvdXQ8PG9wMjw8IiAiPDxvcDE8PGVuZGw7CgkgIC8vIAkgY291dDw8b3AyPDxlbmRsOwoJICAgfQoJfQpjb3V0PDxzLnRvcCgpPDxlbmRsOwpzdGFjazxkb3VibGU+czE7CmZvcihpbnQgaT0wO2k8PWNudDtpKyspCnsKICBpZihvcGVyYW5kKGFbaV0pKQogIHsgCiAgCSBzMS5wdXNoKHN0b2koYVtpXSkpOwogIH0KICBlbHNlCiAgewogIAlpZihhW2ldPT0iKyIpCiAgCXsKICAJCWludCB2YWwxPXMxLnRvcCgpOwogIAkJczEucG9wKCk7CiAgCQlpbnQgdmFsMj1zMS50b3AoKTsKICAJCXMxLnBvcCgpOwogIAkJczEucHVzaCh2YWwyK3ZhbDEpOwogIAl9CiAgCWVsc2UgaWYoYVtpXT09Ii0iKQogIAl7CiAgCSAgCWludCB2YWwxPXMxLnRvcCgpOwogIAkJczEucG9wKCk7CiAgCQlpbnQgdmFsMj1zMS50b3AoKTsKICAJCXMxLnBvcCgpOwogIAkJczEucHVzaCh2YWwyLXZhbDEpOwkKICAJfQogIAllbHNlIGlmKGFbaV09PSIqIikKICAJewogIAkJCWludCB2YWwxPXMxLnRvcCgpOwogIAkJczEucG9wKCk7CiAgCQlpbnQgdmFsMj1zMS50b3AoKTsKICAJCXMxLnBvcCgpOwogIAkJczEucHVzaCh2YWwyKnZhbDEpOwogIAl9CiAgCWVsc2UgaWYoYVtpXT09Ii8iKQogIAl7CiAgCQkJZG91YmxlIHZhbDE9czEudG9wKCk7CiAgCQlzMS5wb3AoKTsKICAJCWRvdWJsZSB2YWwyPXMxLnRvcCgpOwogIAkJczEucG9wKCk7CiAgCQkgY291dDw8c2V0cHJlY2lzaW9uKDMpOwogIAkJZG91YmxlIHZhbDM9dmFsMi92YWwxOwogIAkvLwljb3V0PDx2YWwzPDxlbmRsOwogIAkvLwlkb3VibGUgcm91bmRlZCA9IChpbnQpKHZhbDMgKiAxMDAuMCkvMTAwLjA7CiAgCS8vCWNvdXQ8PHJvdW5kZWQ8PGVuZGw7CiAgCQlzMS5wdXNoKHZhbDMpOwogIAl9CiAgCWVsc2UgaWYoYVtpXT09Il4iKQogIAl7CiAgCQlpbnQgdmFsMT1zMS50b3AoKTsKICAJCXMxLnBvcCgpOwogIAkJczEucHVzaCh2YWwxKnZhbDEpOwogIAl9CiAgCQogIH0KfQpjb3V0PDxzMS50b3AoKTw8ZW5kbDsKCgp9