여덟 왕자
시간 제한8초메모리 제한512 MB
N개의 둥근 탁자 좌석에 여덟 왕자를 서로 이웃하거나, N이 짝수일 때 정반대에 앉지 않도록 배치하는 경우의 수를 구한다.
문제
먼 왕국에 여덟 왕자가 살았다. 서로 사이가 나빠서 마주칠 때마다 다툼이 벌어졌다.
어느 날 연회가 열려 여덟 왕자가 모두 같은 원탁에 앉아야 했다. 왕자들은 늘 기분이 좋지 않았기 때문에 다음 중 하나라도 일어나면 반드시 다툼이 시작된다.
- 어떤 왕자가 다른 왕자의 바로 옆자리에 앉는다.
- 어떤 왕자가 다른 왕자의 정반대 자리에 앉는다. 서로 험한 눈빛을 주고받기 때문이다. 이 경우는 원탁의 자리 수가 짝수일 때만 생긴다.
그래서 다툼을 피하려면 각 왕자가 앉을 자리를 신중히 정해야 한다. 원탁의 자리 수가 주어질 때, 여덟 왕자가 모두 다툼 없이 앉는 방법의 수를 구하라.
입력
입력은 여러 줄로 이루어진다. 각 줄에는 원탁의 자리 수를 나타내는 정수 이 하나씩 주어진다. 0 하나만 적힌 줄에서 입력이 끝난다.
모든 은 을 만족한다.
출력
각 마다 여덟 왕자가 다툼 없이 앉는 방법의 수를 한 줄에 하나씩 출력한다. 회전하거나 뒤집어서 겹치는 배치도 서로 다른 배치로 센다. 왕자는 서로 구별되므로 같은 자리 집합에 서로 다른 왕자를 앉힌 배치도 다른 배치로 센다.
답은 를 넘지 않는다.