import Data.Bool import Data.List main = getLine >> interact (unlines . map (bool "impossible" "possible" . bus) . lines) bus m = validStart m && validFreq m && validLine m validStart m = head m == 'W' && elem 'G' (takeWhile (/='R') m) validFreq m = all (>0) [w,g,r] && g == r && w >= g && w >= r where w = length (filter (=='W') m) g = length (filter (=='G') m) r = length (filter (=='R') m) validLine = all bsucc . takeWhile (not.null) . tails where bsucc ('W':bs) = elem 'G' bs bsucc ('G':bs) = elem 'R' bs bsucc _ = True