좋은 집합
시간 제한1초메모리 제한1024 MB
0부터 2^k - 1까지의 정수 중 AND와 OR 연산에 닫혀 있고 주어진 n개의 정수를 모두 포함하는 공집합이 아닌 집합의 개수를 구합니다.
문제
승현이는 수학자이고, 좋은 농담을 좋아한다.
집합 에 대해, 공집합이 아닌 부분집합 가 다음 두 규칙을 만족하면 를 좋은 집합이라고 한다.
- 임의의 에 대해 비트 AND 연산 의 결과는 에 속한다.
- 임의의 에 대해 비트 OR 연산 의 결과는 에 속한다.
범위 에 속하는 서로 다른 정수 개가 주어진다. 이 개의 정수를 모두 포함하는 좋은 집합의 개수를 구하라.
입력
첫 번째 줄에 정수 와 이 주어진다 (, ).
다음 줄에는 서로 다른 정수 ()이 주어진다.
출력
좋은 집합의 개수를 나타내는 정수 하나를 출력한다.