#include #include #include #include #include #include #include #include #include #include #include #include #define REP(i, n) for(int i = 0;i < (n); i++) #define REP2(i, x, n) for(int i = (x); i < (n); i++) #define REPR(i, n) for(int i = (n); i >= 0; i--) #define ALL(a) (a).begin(),(a).end() #define SORT(c) sort((c).begin(),(c).end()) #define DESCSORT(c) sort(c.begin(), c.end(), greater()) #define LL long long int #define LD long double #define PI 3.14159265358979 using namespace std; //================================================ int main() { ios::sync_with_stdio(false); cin.tie(0); int T; cin >> T; vectorans(T); string S; REP(i, T) { cin >> S; bool flag = false; int wCount = 0, gCount = 0, rCount = 0; int posW = -1, posG = -1, posR = -1; REP(j, S.size()) { if (S[j] == 'W') { wCount++; posW = j; } else if (S[j] == 'G') { if (wCount == 0) { ans[i] = "impossible"; flag = true; } else { wCount--; gCount++; posG = j; } } else if (S[j] == 'R') { if (gCount == 0) { ans[i] = "impossible"; flag = true; } else { gCount--; rCount++; posR = j; } } if (flag) break; } if (flag) continue; if (gCount != 0 || rCount == 0) { ans[i] = "impossible"; } else if (posW < posG && posG < posR) { ans[i] = "possible"; } else { ans[i] = "impossible"; } } REP(i, T) cout << ans[i] << "\n"; return 0; }