#include<bits/stdc++.h>
#define int long long
using namespace std;
typedef long long ll;
const int MAXN=55,mod=998244353,inf=0x3f3f3f3f;
int n,f[MAXN<<1|1][MAXN<<1|1],g[MAXN<<1|1][MAXN<<1|1],ans=-inf;
char c[MAXN<<1|1];
signed main(){
memset(f,-inf,sizeof(f));
memset(g,inf,sizeof(g));
cin.tie(nullptr)->sync_with_stdio(false);
cin>>n;
for(int i=1;i<=n;i++){
cin>>c[i]>>f[i][i];
g[i][i]=g[i+n][i+n]=f[i+n][i+n]=f[i][i];
c[i+n]=c[i];
}
for(int len=2;len<=n;++len)
for(int i=1;i<=n;i++){
int j=i+len-1;
for(int k=i;k<j;k++){
if(c[k+1]=='t'){
f[i][j]=max(f[i][j],f[i][k]+f[k+1][j]);
g[i][j]=min(g[i][j],g[i][k]+g[k+1][j]);
}else{
f[i][j]=max(f[i][j],max(max(f[i][k]*f[k+1][j],g[i][k]*g[k+1][j]),max(f[i][k]*g[k+1][j],g[i][k]*f[k+1][j])));
g[i][j]=min(g[i][j],min(min(g[i][k]*g[k+1][j],f[i][k]*f[k+1][j]),min(f[i][k]*g[k+1][j],g[i][k]*f[k+1][j])));
}
}
}
for(int i=1;i<=n;i++)
ans=max(ans,f[i][i+n-1]);
cout<<ans<<'\n';
for(int i=1;i<=n;i++)
if(f[i][i+n-1]==ans)
cout<<i<<" ";
return 0;
}