package main import ( "bufio" "fmt" "os" "strconv" "strings" ) var sc = bufio.NewScanner(os.Stdin) func next() string { sc.Split(bufio.ScanWords) if !sc.Scan() { panic("could not scan a word from the reader") } return sc.Text() } func nextInt() int { i, e := strconv.Atoi(next()) if e != nil { panic(e) } return i } func nextLong() int64 { i, e := strconv.ParseInt(next(), 10, 64) if e != nil { panic(e) } return i } func nextLine() string { sc.Split(bufio.ScanLines) if !sc.Scan() { panic("could not scan a line from the reader") } return sc.Text() } func solve() (res string) { res = "impossible" sr := strings.NewReader(next()) var W0, W1, G, R int for { b, e := sr.ReadByte() if e != nil { break } switch b { case byte('W'): W0++ W1++ case byte('G'): W0 = 0 G++ case byte('R'): R++ } if R > G || G > W1 { return } } if W0 == 0 && G == R { res = "possible" } return } func main() { N := nextInt() for i := 0; i < N; i++ { fmt.Println(solve()) } }