#include<iostream>
#include<cstdio>
#include<cstring>

using namespace std;

int x,y;
int fie[20][20];
long long int dp[20][20];
long long int ans=0;

int main(void){
	while(1){
		scanf("%d%d",&x,&y);
		if(x==0 && y==0)break;
		memset(fie,0,sizeof(fie));
		memset(dp,0,sizeof(dp));
		ans=0;

		for(int i=0;i<y;i++){
			for(int j=0;j<x;j++){
				scanf("%d",&fie[j][i]);
			}
		}
		for(int i=0;i<x;i++){
			if(fie[i][0]==0)dp[i][0]=1;
			if(fie[i][0]==2)dp[i][2]=1;
		}
		for(int i=0;i<y;i++){
			for(int j=0;j<x;j++){
				if(fie[j][i]==0){
					for(int k=j-1;k<=j+1;k++){
						if(k>=0 && k<x){
							if(fie[k][i+1]==0){
								dp[k][i+1]+=dp[j][i];
							}
							if(fie[k][i+1]==2 && k==j){
								dp[k][i+1]+=dp[j][i];
							}
						}
					}
				}
				if(fie[j][i]==2){
					dp[j][i+2]+=dp[j][i];
				}
			}
		}
		for(int i=0;i<y;i++){
				for(int j=0;j<x;j++){
					if(i>=y-2 && fie[j][i]==2)ans+=dp[j][i];
					if(i==y-1 && fie[j][i]==0)ans+=dp[j][i];
			}
		}
		printf("%lld\n",ans);
	}
    return 0;
}