O Canada

N x N 격자에서 2 x 2 블록의 색을 뒤집는 연산이 허용될 때, 서로 도달 가능한 격자 쌍의 개수를 센다.

보통6비트 연산해시맵수학행렬아직 제출이 없습니다시간 제한1초메모리 제한512 MB

문제

이 문제에서 격자는 N×NN \times N 크기의 칸 배열이고, 각 칸의 색은 빨강 또는 하양이다.

몇 번의 변환으로 격자 AA를 격자 BB로 바꿀 수 있으면, 그리고 그럴 때만 AABB는 닮았다고 한다. 한 번의 변환은 격자에서 2×22 \times 2 정사각형 하나를 골라 그 안에 있는 네 칸의 색을 모두 뒤집는 것이다. 정사각형 안의 빨간 칸은 하얀 칸이 되고, 하얀 칸은 빨간 칸이 된다.

격자 GG개가 주어진다. 닮은 격자 쌍의 개수를 구하라. 격자에 11번부터 GG번까지 번호를 붙였을 때, 1i<jG1 \le i < j \le G이고 ii번 격자와 jj번 격자가 닮은 쌍 (i,j)(i, j)의 개수를 세면 된다.

입력

첫째 줄에 격자의 크기 NN이 주어진다 (2N102 \le N \le 10). 둘째 줄에 격자의 개수 GG가 주어진다 (2G100002 \le G \le 10000). 이어서 N×GN \times G개의 줄이 주어진다. 각 줄에는 문자 NN개가 있고, 각 문자는 그 칸의 색을 나타내는 R 또는 W다. R는 빨강, W는 하양이다. 처음 두 줄 다음의 NN개 줄은 첫 번째 격자를, 그다음 NN개 줄은 두 번째 격자를 나타내며, 이런 식으로 이어진다.

출력

닮은 격자 쌍의 개수를 출력한다.