import Control.Applicative import Control.Monad import Data.Bool (bool) main :: IO () main = do n <- readLn map solve <$> replicateM n getLine >>= mapM_ putStrLn solve :: String -> String solve bs = bool "impossible" "possible" $ last bs == 'R' && last (filter (/= 'R') bs) == 'G' && f (0, 0) bs where f (_, g) [] = g == 0 f (w, g) (b:bs) | b == 'R' = if g > 0 then f (w, g - 1) bs else False | b == 'G' = if w > 0 then f (w - 1, g + 1) bs else False | otherwise = f (w + 1, g) bs