#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,a[200],s[200],f[1000][1000],g[1000][1000],ans=-1e9;
signed main(){
cin>>n;
for(int i=1;i<=n;i++){
char c;
cin>>c>>a[i];
a[i+n]=a[i];
s[i+n]=s[i]=((c=='t')?1:0);
}
s[2*n+1]=s[n+1];
memset(f,-1e9,sizeof(f));
memset(g,1e9,sizeof(g));
for(int i=1;i<=2*n;i++){
f[i][i]=g[i][i]=a[i];
}
for(int len=2;len<=n;len++){
for(int i=1;i<=n*2-len+1;i++){
int j=i+len-1;
for(int mid=i;mid<j;mid++){
if(s[mid+1]){
f[i][j]=max(f[i][j],f[i][mid]+f[mid+1][j]);
g[i][j]=min(g[i][j],g[i][mid]+g[mid+1][j]);
}else{
f[i][j]=max(f[i][j],max(f[i][mid]*f[mid+1][j],max(g[i][mid]*g[mid+1][j],max(f[i][mid]*g[mid+1][j],g[i][mid]*f[mid+1][j]))));
g[i][j]=min(g[i][j],min(f[i][mid]*f[mid+1][j],min(g[i][mid]*g[mid+1][j],min(f[i][mid]*g[mid+1][j],g[i][mid]*f[mid+1][j]))));
}
}
}
}
for(int i=1;i<=n;i++){
ans=max(f[i][i+n-1],ans);
}
cout<<ans<<"\n";
for(int i=1;i<=n;i++){
if(f[i][i+n-1]==ans){
cout<<i<<" ";
}
}
return 0;
}