import qualified Data.IntSet as S import Data.Bits import Data.List main = do getLine as <- sort . map read . words <$> getLine print (nxor as) nxor = S.size . foldl' (\acc x -> S.union acc (S.map (xor x) acc)) (S.singleton 0)