Raspad

n행 m열 격자에서 연속한 행 구간마다 1로 이루어진 연결 성분의 개수를 구해 모두 더한다. m은 최대 50, n은 최대 100000이다.

어려움8동적 계획법분할 정복유니온 파인드행렬아직 제출이 없습니다시간 제한6초메모리 제한1024 MB

문제

근처의 초원은 nn개의 행과 mm개의 열로 이루어진 정사각형 칸으로 나뉘어 있다. 행은 위에서 아래로 11부터 nn까지, 열은 왼쪽에서 오른쪽으로 11부터 mm까지 번호가 붙어 있다. 어떤 칸은 풀밭("1"로 표시)이고, 어떤 칸은 봄철 폭우로 물에 잠겨 있다("0"로 표시).

한 풀밭 칸에서 위, 아래, 왼쪽, 오른쪽으로 인접한 풀밭 칸으로 한 번씩 이동하는 과정을 반복해 다른 풀밭 칸에 도달할 수 있으면, 두 풀밭 칸은 연결되어 있다. 컴포넌트는 서로 연결된 풀밭 칸의 집합 중 극대인 것이다. 즉 칸 AA가 컴포넌트 KK에 속하면, AA와 인접한 풀밭 칸도 모두 KK에 속한다.

초원 PP와 인덱스 aa, bb (1abn1 \le a \le b \le n)가 주어질 때, PabP_a^b는 원래 초원 PP에서 aa번째 행부터 bb번째 행까지(aa번째 행과 bb번째 행 포함)만 남긴 초원이다. 초원 PabP_a^b의 복잡도는 그 초원에 있는 풀밭 칸의 컴포넌트 개수이다. 가능한 모든 초원 PabP_a^b의 복잡도의 합을 구하시오.

입력

첫째 줄에 초원의 크기를 나타내는 양의 정수 nnmm이 주어진다. (1n1000001 \le n \le 100\,000, 1m501 \le m \le 50)

다음 nn개의 줄에는 초원의 한 행을 나타내는, 길이가 정확히 mm인 문자열이 하나씩 주어진다. 문자열의 각 문자는 숫자 "0" 또는 "1"이다.

출력

모든 복잡도의 합을 출력한다.

힌트

첫 번째 예제 설명: 초원 PabP_a^b의 복잡도를 Pab|P_a^b|로 나타내면 P11=2|P_1^1| = 2, P12=1|P_1^2| = 1, P13=1|P_1^3| = 1, P14=1|P_1^4| = 1, P22=1|P_2^2| = 1, P23=1|P_2^3| = 1, P24=1|P_2^4| = 1, P33=2|P_3^3| = 2, P34=2|P_3^4| = 2, P44=2|P_4^4| = 2이고, 이 수들의 합은 1414이다.