module Main where import qualified Data.Set as S import Data.List import Data.Bits solve :: [Int] -> Int solve xs = length numlist where onswitches = sublists $ xs numlist = nub $ map getNumFromSwitches $ onswitches getNumFromSwitches :: [Int] -> Int getNumFromSwitches = foldr xor 0 sublists :: [Int] -> [[Int]] sublists [] = [[]] sublists (x:xs) = sublists xs ++ map (x:) (sublists xs) main :: IO() main = do _ <- getLine l <- getLine let xs = map read $ words l print $ solve xs