#include <stdio.h>

int main(void){
	int x,y,i,j;
	while(scanf("%d%d",&x,&y),x,y){
		int masu[20][20]={ 0 };
		int dp[20][20]={0};
		int ans=0;
		for(i=1;i<=y;i++){
			for(j=1;j<=x;j++){
				scanf("%d",&masu[i][j]);
			}
		}
		for(i=0;i<=y;i++)masu[i][0]=1;
		for(j=0;j<=x;j++)masu[0][j]=1;
		
		for(j=1;j<=x;j++){
			if(masu[1][j]==0)dp[1][j]=1;
		}
		for(i=2;i<=y;i++){
			for(j=1;j<=x;j++){
				if(masu[i][j]==0){
					if(masu[i-1][j-1]==0)dp[i][j]+=dp[i-1][j-1];
					if(masu[i-1][j]==0)	 dp[i][j]+=dp[i-1][j];
					if(masu[i-1][j+1]==0)dp[i][j]+=dp[i-1][j+1];
					if(masu[i-2][j]==2){
						dp[i][j]+=dp[i-2][j];
					}
				}
				if(masu[i][j]==1){
					dp[i][j]=0;
				}
				if(masu[i][j]==2){
					if(masu[i-1][j]==0)dp[i][j]=dp[i-1][j];
					if(masu[i-2][j]==2)dp[i][j]+=dp[i-2][j];
				}
			}
		}
		/*
		for(i=1;i<=y;i++){
			for(j=1;j<=x;j++){
				printf("%d",dp[i][j]);
			}
			puts("");
		}
		*/
		for(i=1;i<=x;i++){
			ans+=dp[y][i];
			if(masu[y-1][i]==2)ans+=dp[y-1][i];
		}
		
		printf("%d\n",ans);
	}
	
	return 0;
}