import Data.List.Split
import Data.List

getMultipleInt :: IO [Int]
getMultipleInt = getLine >>= \x -> (return . (map read)) $ splitOn " " x

ans :: Int -> [Int] -> Int
ans s [] = 0
ans s [d] = if s == d then 1 else 0
ans s d@(z:zs) = if s >= x then 1 + (ans (s-x) xs) else 0
    where
        sorted@(x:xs) = sort d

main = do
    first <- getMultipleInt
    dat <- getMultipleInt
    putStrLn . show $ ans (first !! 1) dat