import qualified Data.ByteString.Char8 as B
import Data.Bool

data Factor = Zero | One | Two deriving (Eq, Show)

readInt :: B.ByteString -> Int
readInt = maybe undefined fst . B.readInt

readInts :: B.ByteString -> [Int]
readInts = map readInt . B.words

main = do
  n <- readLn
  as <- readInts <$> B.getLine
  putStrLn $ bool "No" "Yes" (adjacent4 n as)

adjacent4 n as
  | length fs == n = length (filter (== Two) fs) >= div (length fs) 2
  | otherwise = length (filter (== Two) fs) >= div (length fs + 1) 2
  where
    fs = filter (/= One) (map factors2 as)

factors2 x
  | mod x 4 == 0 = Two
  | mod x 2 == 0 = One
  | otherwise = Zero