나이트 배치
시간 제한1초메모리 제한128 MB
각 열에 최대 한 칸이 막힌 3×n 체스판에서 서로 공격하지 않는 나이트를 최대로 놓고, 그 최대 배치의 가짓수를 센다.
문제
아래 그림과 같이 나이트는 특정 칸을 공격한다 (칸 에 있는 나이트는 X 로 표시된 칸들을 공격한다).

개의 행과 개의 열로 이루어진 크기의 체스판이 있고 (), 나이트를 놓을 수 없는 칸들의 집합 가 주어진다. 행은 위에서 아래로 부터 까지, 열은 왼쪽에서 오른쪽으로 부터 까지 번호를 매긴다.
나이트는 집합 에 속하지 않는 칸에만 놓을 수 있고, 놓인 두 나이트는 서로를 공격해서는 안 된다. 각 열에서 에 속하는 칸은 최대 한 개다. 집합 는 수열 으로 주어지며 각 이다. 이면 번째 열에는 막힌 칸이 없고, 그렇지 않으면 는 그 열에서 유일하게 막힌 칸의 행 번호다.
이 규칙에 따라 놓을 수 있는 나이트의 최대 개수 과, 정확히 개의 나이트를 놓는 서로 다른 배치의 수 을 구하여라.
입력
첫째 줄에 열의 개수를 나타내는 정수 이 주어진다 (). 다음 개의 줄에는 각각 중 하나의 정수가 주어지며, 이는 를 나타내는 수열의 항 이다.
출력
나이트의 최대 개수 과 그 최대를 이루는 배치의 수 을 한 칸의 공백으로 구분하여 출력한다.