#include <stdio.h>
#include <stdlib.h>


int n, m;
char c[500][501];
int seen[500][500];

void Init();
int GetNeighbours(int, int);
void Zero(int, int);
int Check(int, int);
int Walk(int, int, int, int, int);

int main()
{
    char temp[2];
    int i, j, l;

    scanf("%d%d", &n, &m);
    gets(temp);

    for (i=0;i<n;i++)
    {
        gets(c[i]);
    }

    for (i=0;i<n;i++)
        for (j=0;j<m;j++)
        {
            if (c[i][j] == '1')
            {
                l = GetNeighbours(i,j);
                if (l == 0)
                    c[i][j] = '0';
                if (l == 1)
                {
                    Zero(i,j);
                }
            }
        }

    l = 0;
    for (i=0;i<n;i++)
        for (j=0;j<m;j++)
            if (c[i][j] == '1')
                {
                    if (Check(i,j) == 1)
                        l++;
                }

    printf("%d", l);
    return 0;
}

void Init()
{
    int i, j;

    for (i=0;i<n;i++)
        for (j=0;j<m;j++)
            seen[i][j] = 0;
}

int GetNeighbours(int a, int b)
{
    int l = 0;
    if (a - 1 >= 0)
        if (c[a-1][b] == '1')
            l++;
    if (a + 1 < n)
        if (c[a+1][b] == '1')
            l++;
    if (b - 1 >= 0)
        if (c[a][b-1] == '1')
            l++;
    if (b + 1 < m)
        if (c[a][b+1] == '1')
            l++;
    return l;
}

void Zero(int a, int b)
{
    int l;

    c[a][b] = '0';
    if (a - 1 >= 0)
        if (c[a-1][b] == '1')
        {
            l = GetNeighbours(a-1,b);
            if (l == 0)
                c[a-1][b] = '0';
            if (l == 1)
                Zero(a-1,b);
        }

    if (a + 1 < n)
        if (c[a+1][b] == '1')
        {
            l = GetNeighbours(a+1,b);
            if (l == 0)
                c[a+1][b] = '0';
            if (l == 1)
                Zero(a+1, b);
        }

    if (b - 1 >= 0)
        if (c[a][b-1] == '1')
        {
            l = GetNeighbours(a,b-1);
            if (l == 0)
                c[a][b-1] = '0';
            if (l == 1)
                Zero(a, b-1);
        }

    if (b + 1 < m)
        if (c[a][b+1] == '1')
        {
            l = GetNeighbours(a,b+1);
            if (l == 0)
                c[a][b+1] = '0';
            if (l == 1)
                Zero(a, b+1);
        }
}

int Check(int a, int b)
{
    int l = 0;

    Init();
    seen[a][b] = 1;

    if (a - 1 >= 0)
        if (c[a-1][b] == '1')
        {
            l = Walk(a, b, a-1, b, 1);
            if (l == 1) return 1;
        }

    if (a + 1 < n)
        if (c[a+1][b] == '1')
        {
            l = Walk(a, b, a+1, b, 1);
            if (l == 1) return 1;
        }

    if (b - 1 >= 0)
        if (c[a][b-1] == '1')
        {
            l = Walk(a, b, a, b-1, 1);
            if (l == 1) return 1;
        }

    if (b + 1 < m)
        if (c[a][b+1] == '1')
        {
            l = Walk(a, b, a, b+1, 1);
            if (l == 1) return 1;
        }

    return 0;
}

int Walk(int x, int y, int a, int b, int l)
{
    int l2;
    seen[a][b] = 1;

    if (a - 1 >= 0)
        if ((a-1 == x) && (b == y) && (l > 2))
            return 1;
    if (a + 1 < n)
        if ((a+1 == x) && (b == y) && (l > 2))
            return 1;
    if (b - 1 >= 0)
        if ((a == x) && (b-1 == y) && (l > 2))
            return 1;
    if (b + 1 < m)
        if ((a == x) && (b+1 == y) && (l > 2))
            return 1;

    if (a - 1 >= 0)
        if ((c[a-1][b] == '1') && (seen[a-1][b] == 0))
        {
            l2 = Walk(x, y, a-1, b, l+1);
            if (l2 == 1) return 1;
        }
    if (a + 1 < n)
        if ((c[a+1][b] == '1') && (seen[a+1][b] == 0))
        {
            l2 = Walk(x, y, a+1, b, l+1);
            if (l2 == 1) return 1;
        }
    if (b - 1 >= 0)
        if ((c[a][b-1] == '1') && (seen[a][b-1] == 0))
        {
            l2 = Walk(x, y, a, b-1, l+1);
            if (l2 == 1) return 1;
        }
    if (b + 1 < m)
        if ((c[a][b+1] == '1') && (seen[a][b+1] == 0))
        {
            l2 = Walk(x, y, a, b+1, l+1);
            if (l2 == 1) return 1;
        }
    return 0;
}