#include<iostream>

using namespace std;

int masu[17][17];

int count;
	int n,m;
void saiki(int x,int y){
	
	if(y<1 || y>n){
		return;
	}
	printf("make %d %d\n",x,y);
	if(x>=m){
		printf("ans %d %d\n",x,y);
		count++;
		return;
	}
	
	if(masu[x][y]==0){
		if(masu[x+1][y-1]==0 && x<=m-2){
			saiki(x+1,y-1);
		}
		if(masu[x+1][y]==0){
			saiki(x+1,y);
		}
		if(masu[x+1][y]==2){
			saiki(x+1,y);
		}
		if(masu[x+1][y+1]==0&& x<=m-2){
			saiki(x+1,y+1);
		}
	}
	if(masu[x][y]==1){
	}
	if(masu[x][y]==2){
		if(masu[x+2][y]!=1){
			saiki(x+2,y);
		}
	}
	
	printf("--- %d %d\n",x,y);
}

int main(){
	scanf("%d%d",&n,&m);
	for(int i=0;i<17;i++){
		for(int j=0;j<17;j++){
			masu[i][j]=0;
		}
	}
	
	for(int i=0;i<n;i++){
		for(int j=1;j<=m;j++){
			cin>>masu[i][j];
		}
	}
	
	count=0;
	
	for(int i=1;i<=n;i++){
		saiki(0,i);
	}
	
	printf("%d\n",count);
}