래환이의 수강신청 대작전
면접 대비시간 제한1초메모리 제한1024 MB
학생별로 S_1부터 S_{N-1}까지의 수강 정보가 주어질 때, 모든 학생의 수강 집합이 비지 않고 서로 달라지도록 S_N을 듣는 학생 조합의 수를 구합니다.
문제
한과영에는 개의 과목 이 있고, 래환이와 1번부터 번까지의 학번이 부여된 명의 학생들이 있다. 모든 학생은 최소 하나 이상의 과목을 신청해야 하며, 신청한 과목이 완전히 동일한 학생 쌍은 존재해서는 안 된다.
래환이는 과목 을 신청하면 같이 듣게 될 학생들의 조합이 궁금하다. 과목 을 신청하는 학생들의 학번이 주어졌을 때, 과목 을 신청하는 학생들의 가능한 조합의 가짓수를 구하는 프로그램을 작성하시오. 래환이 자신의 신청 여부는 고려하지 않으며, 오직 명의 학생들의 조합만 고려한다. 아무도 과목 을 신청하지 않는 경우도 가능하다.
입력
첫 번째 줄에는 두 정수 ()과 ()이 주어진다.
다음 개의 줄 중 번째 줄에는 를 신청하는 학생 수와 를 신청하는 학생들의 학번이 공백으로 구분되어 주어진다. 를 신청하는 학생이 없다면 해당 줄에는 하나만 주어진다.
출력
과목 을 신청하는 학생들의 가능한 조합의 가짓수를 출력한다. 가능한 조합이 없다면 을 출력한다.