만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

DPS

면접 대비

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

요약
팀 이름 S의 글자를 세 사람의 핸들 첫 글자로 만들 수 있는 사람 3명의 조합 수를 구합니다.
난이도

쉬움10점 중 3점

유형
조합론, 수학, 해시맵
정답자
아직 제출이 없습니다

문제

ICPC는 세 명이 한 팀을 이뤄 참가하는 국제 대학생 프로그래밍 대회이다. ICPC에 참가하는 각 팀의 이름은 세 팀원의 핸들 첫 글자를 임의의 순서로 이어 붙인 것이다. 핸들이란 온라인 채점 사이트에서 사용하는 고유한 ID이다.

예를 들어 핸들이 각각 DONGGAS, PICASSO, SEMTEO인 세 명으로 이루어진 팀의 이름은 DPS, DSP, PDS, PSD, SDP, SPD 중 하나이다. 또, 핸들이 각각 RAARARAARA, WBCHO, WEASEL인 세 명으로 이루어진 팀의 이름은 RWW, WRW, WWR 중 하나이다.

팀 이름 SS와 NN명의 핸들이 주어지면, NN명으로 팀 SS를 구성하는 모든 경우의 수를 구한다.

입력

첫째 줄에 팀 이름 SS가 주어진다. 팀 이름 SS는 영어 대문자 3개로 이루어져 있다.

둘째 줄에 사람의 수를 나타내는 양의 정수 NN(3≤N≤50 0003 \le N \le 50\,000)이 주어진다.

셋째 줄부터 NN명의 핸들이 한 줄에 하나씩 주어진다. 각 핸들의 길이는 1 이상 10 이하이다.

모든 사람의 핸들은 영어 대문자로만 이루어진 공백이 없는 문자열이다. 또, 모든 사람의 핸들은 서로 다르다.

출력

첫째 줄에 팀 SS를 구성할 수 있는 모든 경우의 수를 출력한다.

출력값이 32비트 정수형의 표현 범위를 넘을 수 있으므로, 언어에 따라 아래의 64비트 정수형을 사용하여 출력한다.

  • C/C++: long long
  • JAVA: long
  • Kotlin: Long

예제3

  1. 예제 1

    입력
    DPS
    7
    DONGGAS
    PICASSO
    SEMTEO
    DJS
    WBCHO
    RAARARAARA
    WEASEL
    
    예상 출력
    2
    
  2. 예제 2

    입력
    DDD
    4
    DONGGAS
    DJS
    DURAM
    DART
    
    예상 출력
    4
    
  3. 예제 3

    입력
    SGS
    4
    GUMGOOD
    SHIFTPSH
    SHANDY
    SANGPIL
    
    예상 출력
    3