//#include<stdio.h>
//int main()
//{
// int sum = 0;
// int dlrdmftndjqtdj = 0;
// int m, n;
// int i, j;
// int arr[101][101] = {0};
// scanf("%d %d", &m, &n);
// for(i = 0; i < m; i++)
// {
// for(j = 0; j < n; j++)
// {
// scanf("%d", &arr[i][j]);
// }
// }
// for(i = 0; i < m; i++)
// {
// for(j = 0; j < n; j++)
// {
// if(arr[i][j]==1)
// {
// dlrdmftndjqtdj++;
// }
// }
// }
// if(dlrdmftndjqtdj == 0)
// {
// printf("-1");
// }
// else
// {
// while(sum != m*n)
// {
// for(i = 0; i < m; i++)
// {
// for(j = 0; j < n; j++)
// {
// if(arr[i][j]==1)
// {
// sum++;
// }
// }
// }
// for(i = 0; i < m; i++)
// {
// for(j = 0; j < n; j++)
// {
// if(arr[i][j]==1)
// {
// arr[i-1][j] = 1;
// arr[i][j-1] = 1;
// arr[i][j+1] = 1;
// arr[i+1][j] = 1;
// }
// }
// }
// if(sum == m*n)
// {
// break;
// }
// }
// }
//}
#include<stdio.h>
int arr[101][101] = {};
int sum = 0;
int main()
{
int m, n;
int i, j;
scanf("%d %d", &m, &n);
for(i = 0; i < m; i++)
{
for(j = 0; j < n; j++)
{
scanf("%d", &arr[i][j]);
}
}
if() //arr배열에 1이 하나도 없을 떄
{
printf("-1");
}
else
{
while() //모든 arr[i][j]가 1이기 전까지 실행
{
for(i = 0; i < m;i++)
{
for(j = 0; j < n; j++)
{
if(arr[i][j]==1)
{
arr[i-1][j] = 1;
arr[i][j-1] = 1;
arr[i][j+1] = 1;
arr[i+1][j] = 1;
sum++;
}
}
}
if() //모든 arr[i][j]가 1이라면
{
printf("%d", sum);
break;
}
}
}
}