평범한 서수
면접 대비시간 제한1초메모리 제한1024 MB
N과 M이 주어질 때, 집합으로 표현한 N을 적는 데 필요한 중괄호와 쉼표의 개수를 M으로 나눈 나머지를 구합니다.
문제
집합, 집합, 집합. 수학의 모든 것은 결국 집합이다. 자연수도 집합으로 나타낼 수 있다. 예를 들어 수 은 공집합 로 나타낸다. 수 은 로 나타낸다.
그렇다면 는 어떻게 나타낼까? 를 보자. 이것은 공집합과 를 모두 원소로 가지는 집합이다. 이 표현이 로 좋은 이유는 두 가지다. 첫째, 과 은 의 원소다. 둘째, 과 은 의 부분집합이기도 하다.
일반적으로 이면, 수 은 집합 로 나타낸다. 이때 의 표현도 같은 방식으로 재귀적으로 적용한다. 예를 들면 다음과 같다.
따라서 각 에 대해 는 의 원소이면서 동시에 의 부분집합이다. 또 다른 좋은 성질은 을 나타내는 집합의 크기도 이라는 점이다. 그러나 이런 집합을 적는 데 드는 문자 수는 그리 좋지 않다. 자연수 이 주어졌을 때, 위 방식으로 을 나타내는 집합을 적는 데 중괄호와 쉼표가 몇 개 필요한가?
좀 더 정확히 말하면, 을 을 나타내는 집합을 적는 데 필요한 괄호와 쉼표의 개수라고 하자. 은 매우 클 수 있으므로, 어떤 양의 정수 에 대해 을 으로 나눈 나머지를 구하라.
입력
입력은 위에서 설명한 두 정수 ()과 ()이다.
출력
을 으로 나눈 나머지를 출력한다. 즉, 을 으로 나누었을 때 남는 값이다.