#include<bits/stdc++.h>
using namespace std;
int ysf[220],a[220];
int dp[220][220],xp[220][220];
int main()
{
int n;
cin>>n;
getchar();
for(int i=1;i<=n;i++)
{
char c=getchar();
if(c=='t')
{
ysf[i]=1;
ysf[i+n]=1;
}
else
{
ysf[i]=0;
ysf[i+n]=0;
}
getchar();
cin>>a[i];
a[i+n]=a[i];
getchar();
}
for(int i=1;i<=2*n;i++)
{
for(int j=1;j<=2*n;j++)
{
dp[i][j]=-99999999;
xp[i][j]=99999999;
}
}
for(int i=1;i<=n*2;i++)
{
dp[i][i]=xp[i][i]=a[i];
}
for(int len=2;len<=n;len++)
{
for(int i=1;i<=2*n-len+1;i++)
{
int j=i+len-1;
for(int k=i;k<j;k++)
{
if(ysf[k+1]==1)
{
dp[i][j]=max(dp[i][j],dp[i][k]+dp[k+1][j]);
xp[i][j]=min(xp[i][j],xp[i][k]+xp[k+1][j]);
}
else
{
dp[i][j]=max({dp[i][j],dp[i][k]*dp[k+1][j],xp[i][k]*xp[k+1][j],xp[i][k]*dp[k+1][j],dp[i][k]*xp[k+1][j]});
xp[i][j]=min({xp[i][j],dp[i][k]*dp[k+1][j],xp[i][k]*xp[k+1][j],xp[i][k]*dp[k+1][j],dp[i][k]*xp[k+1][j]});
}
}
}
}
int ans=-99999999;
for(int i=1;i<=n;i++)
{
ans=max(ans,dp[i][i+n-1]);
}
cout<<ans<<endl;
for(int i=1;i<=n;i++)
{
if(dp[i][i+n-1]==ans)
{
cout<<i<<" ";
}
}
return 0;
}