Example

Input

R?????,2?)


Output

29
#include<bits/stdc++.h>
using namespace std;

int n;
string s;
string dp[51][51];

string f(string a,string b){
  if(a=="invalid")return b;
  if(b=="invalid")return a;
  if(a.size()>b.size())return a;
  if(a.size()<b.size())return b;
  return max(a,b);
}

string calc(int l,int r){
  bool flg=true;
  for(int i=l;i<=r;i++){
    if(s[i]=='?')continue;
    if(s[i]<'0'||'9'<s[i])flg=false;
  }
  if(!flg)return "invalid";
  if(s[l]=='0'&&l<r)return "invalid";
  string res="";
  for(int i=l;i<=r;i++){
    if(s[i]=='?')res.push_back('9');
    else res.push_back(s[i]);
  }
  return res;
}

string solve(int l,int r){
  if(dp[l][r]!="")return dp[l][r];
  string res=calc(l,r);
  if(r-l+1>=6){
    if(s[l]=='?'||s[l]=='L'||s[l]=='R'){
      if(s[l+1]=='?'||s[l+1]=='('){
        if(s[r]=='?'||s[r]==')'){
          for(int i=l+3;i+2<=r;i++){
            if(s[i]!='?'&&s[i]!=',')continue;
            string L=solve(l+2,i-1);
            string R=solve(i+1,r-1);
            if(L=="invalid"||R=="invalid")continue;
            if(s[l]=='L'||s[l]=='?')res=f(res,L);
            if(s[l]=='R'||s[l]=='?')res=f(res,R);
          }
        }
      }
    }
  }
  return dp[l][r]=res;
}


int main(){
  cin>>s;
  n=s.size();
  cout<<solve(0,n-1)<<endl;
  return 0;
}