#include <iostream>
using namespace std;
int W,H;
int ary[110][110];//[x][y]
int isou[110][110]={};//[x][y]

class coord{
public:
	int x,y;
	coord(){
		x=0;y=0;
	}
	coord(int xx,int yy){
		x=xx;
		y=yy;
	}
};

coord tonari(int x,int y,int m);

void arych(int x,int y){
	coord a;
	if(isou[x][y]==0){
		isou[x][y]=2;
		for(int i=0;i<6;i++){
			a=tonari(x,y,i);
			if(a.x!=0&&a.y!=0&&a.x!=W+1&&a.y!=H+1){
				if(isou[a.x][a.y]==0){
					arych(a.x,a.y);
				}
			}
		}
	}
}



coord tonari(int x,int y,int m){
	switch(m){
	case 0:
		if(y%2==0)return coord(x-1,y-1);
		else return coord(x,y-1);
		break;
	case 1:
		if(y%2==0)return coord(x,y-1);
		else return coord(x+1,y-1);
		break;
	case 2:
		return coord(x+1,y);
		break;
	case 3:
		if(y%2==0)return coord(x,y+1);
		else return coord(x+1,y+1);
		break;
	case 4:
		if(y%2==0)return coord(x-1,y+1);
		else return coord(x,y+1);
		break;
	case 5:
		return coord(x-1,y);
		break;
	}
	return coord();
}

int main(){
	int sum,ti,tj,deb;
	coord c;
	cin>>W>>H;
	for(int i=0;i<=W+1;i++){
		for(int j=0;j<=H+1;j++){
			isou[i][j]=2;
		}
	}
	for(int i=1;i<=H;i++){
		for(int j=1;j<=W;j++){
			cin>>isou[j][i];
		}
	}
	/*
	for(int i=1;i<=W;i++){
		for(int j=1;j<=H;j++){
			cout<<"??´???["<<i<<"]["<<j<<"]="<<isou[i][j]<<" ";//
		}
		cout<<endl;//
	}
	*/
	for(int i=1;i<=W;i++){
		arych(i,1);
		arych(i,H);
	}
	for(int i=1;i<=H;i++){
		arych(1,i);
		arych(W,i);
	}
	sum=0;
	for(int i=1;i<=W;i++){
		for(int j=1;j<=H;j++){
			deb=-sum;
			for(int k=0;k<6;k++){
				c=tonari(i,j,k);
				ti=c.x;
				tj=c.y;
				if(isou[i][j]==1&&isou[ti][tj]==2) sum++;
			}
			deb+=sum;
			//cout<<"??£??\["<<i<<"]["<<j<<"]="<<deb<<" ";//
			
		}
		//cout<<endl;//
	}
	/*
	for(int i=1;i<=W;i++){
		for(int j=1;j<=H;j++){
			cout<<"??´???["<<i<<"]["<<j<<"]="<<isou[i][j]<<" ";//
		}
		cout<<endl;//
	}
	*/
	cout<<sum<<endl;
	return 0;
}