차로별 진로 안내
시간 제한2초메모리 제한1024 MB
m개 방향의 공집합이 아닌 부분집합을 n개 차선에 배정하되, 차선이 왼쪽에서 오른쪽으로 갈수록 허용 방향이 단조 증가하고 모든 방향이 어느 차선에서든 허용되는 경우의 수를 구한다.
문제
복잡한 교차로에서 교통을 정리할 때, 서로 다른 진로를 가진 운전자들의 주행 궤적이 겹치지 않도록 하기 위해 운전자가 어떤 차로로 교차로에 접근했는지에 따라 허용되는 진로를 제한한다. 이를 위해 <<차로별 진로 안내>> 표지가 사용되며, 오른쪽 그림은 상트페테르부르크의 한 교차로 앞에 설치된 그러한 표지의 예이다.
개의 도로가 만나는 교차로로 이어지는 도로 하나를 생각하자. 이 도로로 교차로에 접근한 운전자는 개의 서로 다른 방향으로 계속 주행할 수 있다. 즉, 자신이 온 도로로 되돌아가거나, 나머지 개의 도로 중 하나로 갈 수 있다. 접근하는 운전자의 시점에서 왼쪽에서 오른쪽으로 가능한 방향에 1부터 까지 번호를 붙이자. 번호 1은 유턴으로, 운전자가 교차로로 들어온 도로로 되돌아가는 방향이고, 번호 2는 가장 왼쪽 도로로 향하는 방향이며, 이런 식으로 번호가 붙는다.
도로에 개의 차로가 있다고 하자. 차로에도 왼쪽에서 오른쪽으로 1부터 까지 번호를 붙이며, 가장 왼쪽 차로가 1번, 그 다음 차로가 2번이고, 이런 식으로 번호가 붙는다. <<차로별 진로 안내>> 표지는 각 차로에서 개의 가능한 방향 중 일부 방향으로의 주행을 허용한다. 이때 다음 조건을 만족해야 한다.
- 번 차로에서 번 방향으로의 주행이 허용되고 번 차로에서 번 방향으로의 주행이 허용되며 이면, 이다.
- 각 차로에서는 적어도 한 방향으로의 주행이 허용된다.
- 각 방향으로는 적어도 한 차로에서의 주행이 허용된다.
교통안전검사국은 이러한 교차로 앞에 설치할 수 있는 <<차로별 진로 안내>> 표지가 몇 가지인지 궁금해한다. 이 질문에 대한 답을 구하자.
입력
입력 파일은 두 정수 과 을 포함한다(, ).
출력
출력 파일에 교차로 앞에 설치할 수 있는 <<차로별 진로 안내>> 표지의 가짓수를 하나의 수로 출력한다.
힌트
예제에서는 다음과 같은 <<차로별 진로 안내>> 표지가 가능하다.