#include<bits/stdc++.h>
using namespace std;
const int N=55;
int a[2*N];
char b[2*N];
int fmx[2*N][2*N];
int fmn[2*N][2*N];
int main(){
int n;scanf("%d",&n);
for(int i=1;i<=2*n;i++){
if(i&1){
char c;cin>>c;
if(i==1) b[n]=c;
else{
b[i/2]=c;
b[i/2+n]=c;
}
}
else{
scanf("%d",&a[i/2]);
a[i/2+n]=a[i/2];
}
}
memset(fmx,-0x3f,sizeof fmx);
memset(fmn,0x3f,sizeof fmn);
for(int i=1;i<=2*n;i++){
fmx[i][i]=a[i];
fmn[i][i]=a[i];
}
for(int len=2;len<=n;len++){
for(int l=1;l+len-1<=2*n;l++){
int r=l+len-1;
for(int k=l;k<r;k++){
if(b[k]=='t'){
fmx[l][r]=max(fmx[l][r],fmx[l][k]+fmx[k+1][r]);
fmn[l][r]=min(fmn[l][r],fmn[l][k]+fmn[k+1][r]);
}
else if(b[k]=='x'){
fmx[l][r]=max(fmx[l][r],fmx[l][k]*fmx[k+1][r]);
fmx[l][r]=max(fmx[l][r],fmn[l][k]*fmn[k+1][r]);
fmx[l][r]=max(fmx[l][r],fmx[l][k]*fmn[k+1][r]);
fmx[l][r]=max(fmx[l][r],fmn[l][k]*fmx[k+1][r]);
fmn[l][r]=min(fmn[l][r],fmn[l][k]*fmn[k+1][r]);
fmn[l][r]=min(fmn[l][r],fmx[l][k]*fmn[k+1][r]);
fmn[l][r]=min(fmn[l][r],fmn[l][k]*fmx[k+1][r]);
fmn[l][r]=min(fmn[l][r],fmx[l][k]*fmx[k+1][r]);
}
}
}
}
int ans=0;
for(int i=1;i<=n;i++){
ans=max(ans,fmx[i][i+n-1]);
}
printf("%d\n",ans);
for(int i=1;i<=n;i++){
if(fmx[i][i+n-1]==ans){
printf("%d ",i);
}
}
return 0;
}