module main; // https://chiwawa-star.hatenablog.com/entry/2016/06/27/004207 より // 文字列処理 import std; bool check(string S) { int R, G, W; // 後ろから見ていく foreach_reverse (s; S) { final switch (s) { //Rが来たら系統を増やす case 'R': R++; break; //Rを持っているGが来たらG++,R--する case 'G': if (R >= 1) { G++; R--; } else { //Rを持たないGはfalse return false; } break; //Wの場合は3つの選択肢がある case 'W': //RGを持つ場合 if (G >= 1) { G--; W++; //RGが無く,RGW+を持っている場合 } else if (W >= 1) { W++; //RG,RGW+のいづれも持たない場合 } else { return false; } break; } } return R == 0 && G == 0; } void main() { // テストケースの処理 foreach (_; 0 .. readln.chomp.to!int) { auto S = readln.chomp; writeln(check(S) ? "possible" : "impossible"); } }