#include <string>
#include <vector>
#include <sstream>
#include <iostream>
#include <algorithm>
#include <map>
#include <list>
#include <set>
#include <numeric>
#include <queue>
#include <stack>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <cctype>
#include <cstring>
#include <climits>
#include <cfloat>
#include <ctime>
#include <complex>
#include <cassert>
#include <iomanip>
using namespace std;
typedef long long LL;
typedef pair<int,int> P;

int table[102][102];
bool done[102][102];
int H,W;
int ret=0;
int dx[2][6]={{0,1,0,-1,-1,-1},{1,1,1,0,-1,0}};
int dy[2][6]={{-1,0,1,1,0,-1},{-1,0,1,1,0,-1}};
void search(int i, int j)
{
	done[i][j]=true;
	for(int k=0;k<6;k++){
		int x=i+dx[j%2][k];
		int y=j+dy[j%2][k];
		if(0<=x&&x<=W&&
		   0<=y&&y<=H){
			if(table[x][y]==1){
				ret++;
			}
			else if(!done[x][y]) 
			{
				search(x,y);
			}
		}
	}
}
int main() {
	cin >> W >> H;
	for(int i=1;i<=H;i++){
		for(int j=1;j<=W;j++){
			cin >> table[j][i];
		}
	}
	H+=1;
	W+=1;
	search(0,0);
	cout << ret << endl;
}