import Data.List import Control.Monad main = do [n,_] <- map read . words <$> getLine abs <- map (map read . words) . lines <$> getContents print (shikaku n abs) shikaku n abs = length $ do v1 <- [0 .. n-1] v2 <- [v1+1 .. n-1] v3 <- [v2+1 .. n-1] v4 <- [v3+1 .. n-1] let cand = filter (\ab -> intersect ab [v1,v2,v3,v4] == ab) abs guard $ map length (group (sort (concat cand))) == [2,2,2,2]