#define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define INF (1<<29) #define rep(i,n) for(int i=0;i<(int)(n);i++) #define all(v) v.begin(),v.end() #define uniq(v) v.erase(unique(all(v)),v.end()) #define indexOf(v,x) (find(all(v),x)-v.begin()) char *c = "KUROI"; int count(string s) { int cnt = 0; while (1) { int i = 0; bool k = false; rep(j, s.size()) { if (c[i] == s[j]) { i++; if (i == 5) { i = 0; cnt++; k = true; } s[j] = '.'; } } if (!k)break; } return cnt; } bool f(string s, int n) { int a[5] = {}; rep(i, s.size()) { if (s[i] != '?') { if (s[i] == 'K')a[0]++; else if (s[i] == 'U'&&a[0]>a[1])a[1]++; else if (s[i] == 'R'&&a[1]>a[2])a[2]++; else if (s[i] == 'O'&&a[2]>a[3])a[3]++; else if (s[i] == 'I'&&a[3]>a[4])a[4]++; } else { rep(j, 5) { if (a[j]> s; int ans = 0; rep(i, s.size() / 5 + 1) { if (f(s, i))ans = i; } cout << ans << endl; return 0; }