module main; import std; // 文字列SとTのうち、異なる文字の個数を返す int check(string S, string T) { assert(S.length == T.length); int res = 0; foreach (i; 0 .. S.length) res += S[i] != T[i]; return res; } void main() { // クエリの処理 foreach (_; 0 .. readln.chomp.to!int) { auto S = readln.chomp; auto len = S.length; int ans = 10 ^^ 9; foreach (i; 0 .. len - 10) { int n1 = check(S[i .. i + 4], "good"), n2 = 10 ^^ 9; foreach (j; i + 4 .. len - 6) { n2 = min(n2, check(S[j .. j + 7], "problem")); } ans = min(ans, n1 + n2); } writeln(ans); } }