#include<bits/stdc++.h>
using namespace std;
string order1;
long long l=0,repeatc=0;
int repeat(long long k,long long i,long long m,int p)
{
long long s=0;
for(i;i<=m;i++)
{
int count=0;
if(order1[i]=='F')
{
i+=3;
while(order1[i]>='0'&&order1[i]<='9')
{
count=count*10+(order1[i]-48);
i++;
}
}
else if(order1[i]=='B')
{
i+=3;
while(order1[i]>='0'&&order1[i]<='9')
{
count=count*10-(order1[i]-48);
i++;
}
}
else if(order1[i]=='R')
{
int k=0;
i+=7;
while(order1[i]>='0'&&order1[i]<='9')
{
k=k*10+(order1[i]-48);
i++;
}
i=repeat(k,i,m,p+1);
}
s+=count;
if(p!=0)
{
repeatc=s*k;
}
if(order1[i]==']') break;
}
if(p==0) l+=(repeatc+s)*k;
return i;
}
int main()
{
//freopen("1.in","r",stdin);
//freopen("1.out","w",stdout);
getline(cin,order1);
int m=order1.length();
for(int i=0;i<=m;i++)
{
int count=0;
if(order1[i]=='F')
{
i+=3;
while(order1[i]>='0'&&order1[i]<='9')
{
count=count*10+(order1[i]-48);
i++;
}
}
else if(order1[i]=='B')
{
i+=3;
while(order1[i]>='0'&&order1[i]<='9')
{
count=count*10-(order1[i]-48);
i++;
}
}
else if(order1[i]=='R')
{
int k=0;
i+=7;
while(order1[i]>='0'&&order1[i]<='9')
{
k=k*10+(order1[i]-48);
i++;
}
i=repeat(k,i,m,0);
}
l+=count;
}
if(l<0) l*=-1;
cout<<l;
return 0;
}
//FD 100 REPEAT 5[FD 100 BK 50] BK 100
// 11111111112222222222333333
//012345678901234567890123456789012345
/*
REPEAT 5[FD 50 REPEAT 10[FD 100]]
*/