main = do
  li <- getLine
  let n = read li
  li <- getLine
  let as = map read $ words li
  let ans = compute n as
  print ans

{-
整数列に対して、似た整数列は、それぞれの要素が-1,+-0,+1の3バリエーションがある。
長さNならば、全部で3^N個ある。
積は、全てが奇数のとき奇数、どれか一つでも偶数があると偶数になる。
aiが奇数のとき、奇数はそれだけ。1つ。aiが偶数のとき、a-1とa+1が奇数。可能性2つ。
それの積が、奇数な似た整数列の個数。これを引けばよい。
-}

compute :: Int -> [Int] -> Int
compute n as = 3^n - product (map f as)

f n
  | even n = 2
  | True   = 1
