#include #include #include #include bool solve(const std::string s) { int numG = std::count_if(s.begin(), s.end(), [](char c) { return c == 'G'; }); int numR = std::count_if(s.begin(), s.end(), [](char c) { return c == 'R'; }); if (numG != numR || s.length() < 3) return false; int num = numG; numG = 0; numR = 0; bool is_possible = true; for (const auto c : s) { if (c == 'W') { if (num < 1) { is_possible = false; break; } } else if (c == 'G') { numG++; num--; } else if (c == 'R') { numR++; if (numG < numR) { is_possible = false; break; } } } return is_possible; } int main(int argc, char const* argv[]) { int T; std::cin >> T; std::vector s(T); for (int i = 0; i < T; i++) { std::cin >> s[i]; } for (int i = 0; i < T; i++) { std::cout << (solve(s[i]) ? "possible" : "impossible") << std::endl; } return 0; }