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 = [v1,v2,v3,v4] let es = filter (\[a,b] -> elem a cand && elem b cand) abs guard $ length es == 4 guard $ map length (group (sort (concat es))) == [2,2,2,2]