#include<bits/stdc++.h>#include<bits/extc++.h>#define _rep(i, a, b) for (ll i = (a); i <= (b); ++i)#define _rev(i, a, b) for (ll i = (a); i >= (b); --i)#define _for(i, a, b) for (ll i = (a); i < (b); ++i)#define _rof(i, a, b) for (ll i = (a); i > (b); --i)#define ll long long#define db double#define oo 0x3f3f3f3f#define eps 0.00001#define all(x) x.begin(), x.end()#define met(a, b) memset(a, b, sizeof(a))#define id(x) ((x + 8))#define bin(x) cerr << #x << " is " << bitset<15>(x) << endl#define what_is(x) cerr << #x << " is " << x << endl#define lowbit(x) x &(-x)usingnamespace std;constint maxn =110;int a[maxn], n, dp[maxn][maxn], dpmin[maxn][maxn];char opera[maxn];signedmain(){
ios::sync_with_stdio(0);
cin >> n;_rep(i,1, n){
cin >> opera[i]>> a[i];
a[i + n]= a[i], opera[i + n]= opera[i];}met(dpmin, oo),met(dp,-oo);_rep(i,1,2* n) dp[i][i]= dpmin[i][i]= a[i];_rep(len,2, n){_rep(l,1,2* n - len +1){int r = l + len -1;_rep(k, l, r -1){if(opera[k +1]=='t'){
dp[l][r]=max(dp[l][k]+ dp[k +1][r], dp[l][r]);
dpmin[l][r]=min(dpmin[l][k]+ dpmin[k +1][r], dpmin[l][r]);}else{
dp[l][r]=max(dp[l][r],max(dp[l][k]* dp[k +1][r],max(dpmin[l][k]* dpmin[k +1][r],max(dp[l][k]* dpmin[k +1][r], dpmin[l][k]* dp[k +1][r]))));
dpmin[l][r]=min(dpmin[l][r],min(dp[l][k]* dp[k +1][r],min(dpmin[l][k]* dpmin[k +1][r],min(dp[l][k]* dpmin[k +1][r], dpmin[l][k]* dp[k +1][r]))));}}}}int ans =0;_rep(i,1, n){
ans =max(ans, dp[i][i + n -1]);}
cout << ans << endl;_rep(i,1, n){if(ans == dp[i][i + n -1]){
cout << i <<" ";}}}