#include #define rep(i,n) for(int i=0;i<=n;i++) using namespace std; int dp[2][30][30][30][30]; void M(int &a,int b){if(a> s; dp[0][0][0][0][0]=1; int n=s.size(),a=0,t=0,r=1; rep(i,n-1) { rep(K,n/5)rep(U,K)rep(R,U)rep(O,R) if(dp[t][K][U][R][O]) { int f=s[i]=='?'; if(s[i]=='K'||f) M(dp[r][K+1][U][R][O],dp[t][K][U][R][O]); if(s[i]=='U'||f) M(dp[r][K][U+1][R][O],dp[t][K][U][R][O]); if(s[i]=='R'||f) M(dp[r][K][U][R+1][O],dp[t][K][U][R][O]); if(s[i]=='O'||f) M(dp[r][K][U][R][O+1],dp[t][K][U][R][O]); if((s[i]=='I'||f)&&K&&U&&R&&O) { M(dp[r][K-1][U-1][R-1][O-1],dp[t][K][U][R][O]+1); M(a,dp[t][K][U][R][O]); } M(dp[r][K][U][R][O],dp[t][K][U][R][O]); } r=t;t=1-t; } cout<