폰트

시간 제한1초메모리 제한256 MB

요약
주어진 단어들로 모든 소문자 26자를 빠짐없이 포함하는 단어 모음 개수를 셉니다.
난이도

보통10점 중 4점

유형
완전 탐색, 비트 연산
정답자
아직 제출이 없습니다

문제

상근이는 자신이 만든 폰트를 시험할 문장을 하나 만들려고 한다. 폰트에는 알파벳 소문자만 들어 있어서 문장도 알파벳 소문자로 써야 한다.

테스트 문장에는 알파벳 소문자 26개가 모두 들어가야 한다.

문제를 많이 풀어 본 사람이라면 여기까지만 읽어도 어떤 문제인지 감이 와야 한다.

상근이에게는 단어 NN개가 실린 사전이 하나 있다. 테스트 문장은 사전에 실린 단어만 이용해서 만들 수 있고, 각 단어는 한 번씩만 사용해야 한다. 또, 단어의 순서는 중요하지 않다. ("uvijek jedem sarmu"와 "jedem sarmu uvijek"는 같은 문장이다)

상근이가 만들 수 있는 테스트 문장의 개수를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 단어의 개수 NN (1≤N≤251 \le N \le 25)이 주어진다. 다음 NN개 줄에는 사전에 실린 단어가 한 줄에 하나씩 주어진다. 단어는 알파벳 소문자로만 이루어져 있고, 길이는 100을 넘지 않는다. 같은 단어가 두 번 주어지는 경우는 없다.

출력

상근이가 만들 수 있는 테스트 문장의 개수를 출력한다.

예제3

  1. 예제 1

    입력
    9
    the
    quick
    brown
    fox
    jumps
    over
    a
    sleazy
    dog
    
    예상 출력
    2
    
  2. 예제 2

    입력
    3
    a
    b
    c
    
    예상 출력
    0
    
  3. 예제 3

    입력
    15
    abcdefghijkl
    bcdefghijklm
    cdefghijklmn
    defghijklmno
    efghijklmnop
    fghijklmnopq
    ghijklmnopqr
    hijklmnopqrs
    ijklmnopqrst
    jklmnopqrstu
    klmnopqrstuv
    lmnopqrstuvw
    mnopqrstuvwx
    nopqrstuvwxy
    opqrstuvwxyz
    
    예상 출력
    8189