#include <bits/stdc++.h>
using namespace std;
int main()
{
vector<pair<int,char>>v={
{10,'s'}, // -10
{2,'m'}, // *2
{5,'a'}, // +5
{2,'n'}, // negate
{3,'m'} // *3
};
int n=v.size();
cout<<"test1"<<endl;
vector<vector<int>>dpx(n+1,vector<int>(2,0)),dpn(n+1,vector<int>(2,0));
dpx[0][1]=1;
dpx[0][0]=1;
dpn[0][1]=1;
dpn[0][0]=1;
for(int i=1;i<=n;i++){
if(v[i-1].second=='a'){
dpx[i][1]=v[i-1].first+max(dpx[i-1][0],dpx[i-1][1]);
dpx[i][0]=max(dpx[i-1][0],dpx[i-1][1]);
dpn[i][1]=v[i-1].first+min(dpn[i-1][0],dpn[i-1][1]);
dpn[i][0]=min(dpn[i-1][0],dpn[i-1][1]);
}
if(v[i-1].second=='s'){
dpx[i][1]=max(dpx[i-1][0],dpx[i-1][1])-v[i-1].first;
dpx[i][0]=max(dpx[i-1][0],dpx[i-1][1]);
dpn[i][1]=min(dpn[i-1][0],dpn[i-1][1])-v[i-1].first;
dpn[i][0]=min(dpn[i-1][0],dpn[i-1][1]);
}
if(v[i-1].second=='m'){
dpx[i][1]=v[i-1].first*max(dpx[i-1][0],dpx[i-1][1]);
dpx[i][0]=max(dpx[i-1][0],dpx[i-1][1]);
dpn[i][1]=v[i-1].first*min(dpn[i-1][0],dpn[i-1][1]);
dpn[i][0]=min(dpn[i-1][0],dpn[i-1][1]);
}
if(v[i-1].second=='d'){
dpx[i][1]=max(dpx[i-1][0],dpx[i-1][1])/v[i-1].first;
dpx[i][0]=max(dpx[i-1][0],dpx[i-1][1]);
dpn[i][1]=min(dpn[i-1][0],dpn[i-1][1])/v[i-1].first;
dpn[i][0]=min(dpn[i-1][0],dpn[i-1][1]);
}
if(v[i-1].second=='n'){
dpx[i][1]=max(dpn[i-1][0]*(-1),dpn[i-1][1]*(-1));
dpx[i][0]=max(dpx[i-1][0],dpx[i-1][1]);
dpn[i][1]=min(dpx[i-1][0]*(-1),dpx[i-1][1]*(-1));
dpn[i][0]=min(dpn[i-1][0],dpn[i-1][1]);
}
}
cout<<" ans "<<max(dpx[n][0],dpx[n][1])<<endl;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpCnsKICAgIHZlY3RvcjxwYWlyPGludCxjaGFyPj52PXsgIAogICAgIHsxMCwncyd9LCAgIC8vIC0xMAogICAgezIsJ20nfSwgICAgLy8gKjIKICAgIHs1LCdhJ30sICAgIC8vICs1CiAgICB7Miwnbid9LCAgICAvLyBuZWdhdGUKICAgIHszLCdtJ30gICAgIC8vICozCiAgICB9OwogICAgaW50IG49di5zaXplKCk7CiAgICBjb3V0PDwidGVzdDEiPDxlbmRsOwogICAgdmVjdG9yPHZlY3RvcjxpbnQ+PmRweChuKzEsdmVjdG9yPGludD4oMiwwKSksZHBuKG4rMSx2ZWN0b3I8aW50PigyLDApKTsKICAgIGRweFswXVsxXT0xOwogICAgZHB4WzBdWzBdPTE7CiAgICBkcG5bMF1bMV09MTsKICAgIGRwblswXVswXT0xOyAgICAKICAgIGZvcihpbnQgaT0xO2k8PW47aSsrKXsKCiAgICAgICAgaWYodltpLTFdLnNlY29uZD09J2EnKXsKCiAgICAgICAgICBkcHhbaV1bMV09dltpLTFdLmZpcnN0K21heChkcHhbaS0xXVswXSxkcHhbaS0xXVsxXSk7CiAgICAgICAgICBkcHhbaV1bMF09bWF4KGRweFtpLTFdWzBdLGRweFtpLTFdWzFdKTsKICAgICAgICAgIGRwbltpXVsxXT12W2ktMV0uZmlyc3QrbWluKGRwbltpLTFdWzBdLGRwbltpLTFdWzFdKTsKICAgICAgICAgIGRwbltpXVswXT1taW4oZHBuW2ktMV1bMF0sZHBuW2ktMV1bMV0pOyAgICAgICAgICAKICAgICAgICB9CiAgICAgICAgaWYodltpLTFdLnNlY29uZD09J3MnKXsKCiAgICAgICAgICBkcHhbaV1bMV09bWF4KGRweFtpLTFdWzBdLGRweFtpLTFdWzFdKS12W2ktMV0uZmlyc3Q7CiAgICAgICAgICBkcHhbaV1bMF09bWF4KGRweFtpLTFdWzBdLGRweFtpLTFdWzFdKTsKICAgICAgICAgIGRwbltpXVsxXT1taW4oZHBuW2ktMV1bMF0sZHBuW2ktMV1bMV0pLXZbaS0xXS5maXJzdDsKICAgICAgICAgIGRwbltpXVswXT1taW4oZHBuW2ktMV1bMF0sZHBuW2ktMV1bMV0pOyAgICAgICAgICAKICAgICAgICB9CiAgICAgICAgaWYodltpLTFdLnNlY29uZD09J20nKXsKIAogICAgICAgICAgZHB4W2ldWzFdPXZbaS0xXS5maXJzdCptYXgoZHB4W2ktMV1bMF0sZHB4W2ktMV1bMV0pOwogICAgICAgICAgZHB4W2ldWzBdPW1heChkcHhbaS0xXVswXSxkcHhbaS0xXVsxXSk7CiAgICAgICAgICBkcG5baV1bMV09dltpLTFdLmZpcnN0Km1pbihkcG5baS0xXVswXSxkcG5baS0xXVsxXSk7CiAgICAgICAgICBkcG5baV1bMF09bWluKGRwbltpLTFdWzBdLGRwbltpLTFdWzFdKTsgICAgICAgICAgCiAgICAgICAgfQogICAgICAgIGlmKHZbaS0xXS5zZWNvbmQ9PSdkJyl7CiAgIAogICAgICAgICAgZHB4W2ldWzFdPW1heChkcHhbaS0xXVswXSxkcHhbaS0xXVsxXSkvdltpLTFdLmZpcnN0OwogICAgICAgICAgZHB4W2ldWzBdPW1heChkcHhbaS0xXVswXSxkcHhbaS0xXVsxXSk7CiAgICAgICAgICBkcG5baV1bMV09bWluKGRwbltpLTFdWzBdLGRwbltpLTFdWzFdKS92W2ktMV0uZmlyc3Q7CiAgICAgICAgICBkcG5baV1bMF09bWluKGRwbltpLTFdWzBdLGRwbltpLTFdWzFdKTsgICAgICAgICAgCiAgICAgICAgfQogICAgICAgIGlmKHZbaS0xXS5zZWNvbmQ9PSduJyl7CgogICAgICAgICAgZHB4W2ldWzFdPW1heChkcG5baS0xXVswXSooLTEpLGRwbltpLTFdWzFdKigtMSkpOwogICAgICAgICAgZHB4W2ldWzBdPW1heChkcHhbaS0xXVswXSxkcHhbaS0xXVsxXSk7CiAgICAgICAgICBkcG5baV1bMV09bWluKGRweFtpLTFdWzBdKigtMSksZHB4W2ktMV1bMV0qKC0xKSk7CiAgICAgICAgICBkcG5baV1bMF09bWluKGRwbltpLTFdWzBdLGRwbltpLTFdWzFdKTsgICAgICAgICAgCiAgICAgICAgfSAgICAgICAgCiAgICB9CgogICAgCiAgICBjb3V0PDwiIGFucyAiPDxtYXgoZHB4W25dWzBdLGRweFtuXVsxXSk8PGVuZGw7CiAgICAKICAgIHJldHVybiAwOwp9