Example

Input

R?????,2?)


Output

29
#include <bits/stdc++.h>
#define rep(i,n) for(int i=0;i<(int)(n);i++)
#define rep1(i,n) for(int i=1;i<=(int)(n);i++)
#define all(c) c.begin(),c.end()
#define pb push_back
#define fs first
#define sc second
#define show(x) cout << #x << " = " << x << endl
#define chmin(x,y) x=min(x,y)
#define chmax(x,y) x=max(x,y)
using namespace std;
int N;
string s;
string mx[50][51];
bool done[50][51];
void change(string& s,string t){
	if(s.size()>t.size()) return;
	if(s.size()<t.size()){
		s=t;
		return;
	}
	if(s<t) s=t;
	return;
}
string calc(int l,int r){
	if(done[l][r]) return mx[l][r];
	string best=mx[l][r];
	if(s[l]=='L'||s[l]=='?'){
		if(r-l>=6) if(s[l+1]=='('||s[l+1]=='?') if(s[r-1]==')'||s[r-1]=='?'){
			for(int c=l+3;c<=r-3;c++) if(s[c]==','||s[c]=='?'){
				string L=calc(l+2,c);
				string R=calc(c+1,r-1);
				if(L[0]!='i'&&R[0]!='i') change(best,L);
			}
		}
	}
	if(s[l]=='R'||s[l]=='?'){
		if(r-l>=6) if(s[l+1]=='('||s[l+1]=='?') if(s[r-1]==')'||s[r-1]=='?'){
			for(int c=l+3;c<=r-3;c++) if(s[c]==','||s[c]=='?'){
				string L=calc(l+2,c);
				string R=calc(c+1,r-1);
				if(L[0]!='i'&&R[0]!='i') change(best,R);
			}
		}
	}
	done[l][r]=1;
	if(best=="") best="invalid";
	return mx[l][r]=best;
}
int main(){
	cin>>s;
	N=s.size();
	rep(l,N){
		string t;
		for(int r=l+1;r<=N;r++){
			if(s[r-1]=='L'||s[r-1]=='R'||s[r-1]=='('||s[r-1]==')'||s[r-1]==',') break;
			if(s[r-1]=='?') t+='9';
			else t+=s[r-1];
			if(t[0]=='0'&&t.size()>1) break;
			mx[l][r]=t;
		}
	}
	cout<<calc(0,N)<<endl;
}