순례자의 기억과 감명받은 신
시간 제한8초메모리 제한1024 MB
격자 위 (1,1)에서 (N,N)으로 가는 단조 경로들이 만드는 서로 다른 0/1 문자열마다 등장 횟수 X에 대해 X^2+1을 더한 합을 구한다.
문제
순례자는 영원히 끝나지 않을 것만 같은 순례를 계속하고 있다. 지상에는 총 개의 성지가 있다. 이 성지들은 격자 모양으로 배치가 되어있으며, 위쪽에서 번째, 왼쪽에서 번째 성지를 번 성지라고 한다. 성지에 도착한 순례자는 흑색 시련과 백색 시련 둘 중 하나를 반드시 받게 된다. 흑색 시련이란 본인의 업을 치르게 되는 "카르마에 의한 시련"이고, 백색 시련은 본인의 격을 높이기 위한 "상승을 위한 시련"이다.
순례자는 "현세"를 뜻하는 번 성지에서 시련을 받는 것으로 순례를 시작한다. 번 성지의 시련을 받은 순례자는 번 성지와 번 성지 중 하나로 이동하여 시련을 계속 받는 것을 반복한다. 그렇게 "해탈"을 뜻하는 번 성지에 도달하여 마지막 시련을 받아, 총 개의 성지를 방문한 한 번의 순례가 끝난다.
이런 방식으로 총 가지의 서로 다른 순례를 할 수 있다. 그렇게 순례자는 해탈의 경지에 도달하기 위하여, 모든 방식의 순례를 정확히 한 번씩 시행했다.
모든 순례가 끝나 잠시 쉬고 있는 순례자는 이번 순례의 기억을 되새기고 있다. 순례자의 기억은 순례자가 순례 중 이동할 수 있는 가능성이 있는 순서대로 한 개 이상의 성지를 나열한 것이다. 정확히 말해서, 개의 성지 , , , 로 이루어진 기억은, , , ()의 모든 조건을 만족해야 한다.
예를 들면, 일 때, 순례자가 떠올릴 수 있는 기억은 다음과 같이 총 가지가 있다.

자애롭고 전지전능하신 신께서는 이 모든 것을 지켜보았고, 큰 감명을 받았다. 신은 어떤 성지에서 시련을 받았느냐보다도 어떤 시련을 받았느냐를 더 중요히 여기기 때문에, 순례자의 기억에 등장하는 성지를 모두 그 성지에 대응되는 시련으로 바꿔 인식한다. 신은 순례자의 기억을 모두 보고 나서, 한 번 이상 등장하는 기억에 대해, 이 기억이 총 번 등장한다면 만큼 감명받는다. 이렇게 신이 감명하는 정도의 총합을 구하여라.
입력
첫 번째 줄에, 격자의 크기를 의미하는 자연수 이 주어진다.
다음 개의 줄의 번째 줄에, 길이 의 0과 1로만 구성된 문자열이 주어진다. 번째 문자가 0이라는 것은, 번 성지에서 흑색 시련을 받는다는 것을 의미하고, 1이라는 것은 번 성지에서 백색 시련을 받는다는 것을 의미한다.
출력
첫 번째 줄에, 신이 감명하는 정도를 구하여 로 나눈 나머지를 출력한다.