쪼개기와 합치기
시간 제한1초메모리 제한512 MB
1xL 판을 1x1과 1x2 조각으로 채운 두 상태가 주어질 때, 분할과 병합으로 한 상태를 다른 상태로 바꾸는 최소 연산 횟수와 그 방법의 수를 구한다.
문제
격자가 조각과 조각으로 나누어져 있다.
두 가지 연산을 수행할 수 있다. 조각 하나를 조각 두 개로 쪼개는 연산과 이어 붙은 조각 두 개를 조각 하나로 합치는 연산이다.

격자의 초기 상태와 목표 상태가 주어졌을 때 수행해야 하는 연산의 최소 횟수와 그 횟수로 상태를 바꾸는 방법의 가짓수를 구한다.
입력
첫 번째 줄에 격자의 길이 이 주어진다 ().
두 번째 줄에 초기 상태의 조각 수 이 주어진다 ().
세 번째 줄에 개의 수 이 주어진다. 왼쪽 조각부터 순서대로 적은 각 조각의 길이이며 각 수는 1 또는 2이다. 개 수의 합은 이다.
네 번째 줄에 목표 상태의 조각 수 이 주어진다 ().
다섯 번째 줄에 개의 수 이 세 번째 줄과 같은 방식으로 주어진다.
출력
첫 번째 줄에 필요한 연산의 최소 횟수와 그 횟수로 상태를 바꾸는 방법의 가짓수를 공백으로 구분해 출력한다. 가짓수가 커질 수 있으므로 로 나눈 나머지를 출력한다.