#include <iostream>
#include <cstdio>
using namespace std;
int book[1001][1001], a[1001][1001], n, m, l;
int next[2][4] = {{1, -1, 0, 0}, {0, 0, 1, -1}};
struct q { int x, y; };
void bfs(int xxx, int yyy)
{
l = l + 1;
q qq[1001];
int head = 0, tail = 1;
qq[0].x = xxx; qq[0].y = yyy;
while (head != tail)
{
for (int i = 0; i < 4; i++)
{
qq[tail].x = qq[head].x + next[0][i];
qq[tail].y = qq[head].y + next[1][i];
int xx = qq[tail].x, yy = qq[tail].y;
if (xx <= n && yy <= m && xx >= 1 && yy >= 1 && a[xx][yy] != 0 && book[xx][yy] != 1)
{
book[xx][yy] = 1;
tail++;
}
}
head++;
}
}
int main()
{
cin >> n >> m;
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= m; j++)
{
char z;
scanf("%c", &z);
a[i][j] = int(z) - int('0');
}
scanf("\n");
}
for (int i = 1; i <= n; i++)
for (int j = 1; j <= m; j++)
{
if (book[i][j] == 1) continue;
if (a[i][j] > 0) bfs(i, j);
book[i][j] = 1;
}
cout << l << endl;
return 0;
}