#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef unsigned long long ull; static const double EPS = 1e-8; static const double PI = 4.0 * atan(1.0); static const double PI2 = 8.0 * atan(1.0); #define REP(i,n) for(int i=0;i<(int)n;++i) #define ALL(c) (c).begin(),(c).end() #define CLEAR(v) memset(v,0,sizeof(v)) #define MP(a,b) make_pair((a),(b)) #define ABS(a) ((a)>0?(a):-(a)) #define FOR(i,s,n) for(int i=s;i<(int)n;++i) #define INF (1000000000) #define GOOD "good" #define GOOD_L (4) #define PROB "problem" #define PROB_L (7) int good[100], prob[100]; void solve() { string S; cin >> S; REP(i, S.length()) { good[i] = prob[i] = 0; if (i > S.length() - GOOD_L) good[i] = INF; else REP(j, GOOD_L) if (S[i + j] != GOOD[j]) ++good[i]; if (i > S.length() - PROB_L) prob[i] = INF; else REP(j, PROB_L) if (S[i + j] != PROB[j]) ++prob[i]; } int res = INF; REP(i, S.length()) FOR(j, i + GOOD_L, S.length()) res = min(res, good[i] + prob[j]); cout << res << endl; } int main(int argc, char **argv) { int T; cin >> T; REP(i, T) solve(); return 0; }