import qualified Data.Set as S solve :: [([Int], String)] -> Int solve = go (S.fromList [0..9]) where go s [] = head $ S.elems s go s ((nn,yn):xs) | yn == "YES" = go (S.intersection s (S.fromList nn)) xs | yn == "NO" = go (S.difference s (S.fromList nn)) xs main :: IO () main = do n <- readLn :: IO Int ll <- map words . lines <$> getContents :: IO [[String]] let xs = map (\l -> (map (read :: String -> Int) (init l), last l)) ll print $ solve xs