#include<iostream>
#include<algorithm>
using namespace std;

int X,Y;
int c[15][15];
int dp[15][15];
int main(){
	while(cin>>X>>Y,X|Y){
		int ans=0;
		for(int i=0;i<Y;i++)
			for(int j=0;j<X;j++)
				cin>>c[i][j];
		fill_n((int*)dp,15*15,0);
		for(int j=0;j<X;j++){
			if(c[0][j]!=1)dp[0][j]=1;
		}cout<<endl;
		for(int i=0;i<Y;i++){
			for(int j=0;j<X;j++){
				if(dp[i][j]==0)continue;
				if(Y-1==i || c[i][j]==2 && Y-2==i){
					ans += dp[i][j];
					continue;
				}
				for(int dx=-1;dx<=1;dx++){
					if(j+dx<0 || X<=j+dx)continue;
					if(c[i][j]==2){
						if(dx==0 && c[i+2][j]!=1){
							dp[i+2][j] += dp[i][j];
						}
					}
					else{
						if(c[i+1][j+dx]==0)dp[i+1][j+dx] += dp[i][j];
						else if(c[i+1][j+dx]==2 && dx==0)dp[i+1][j] += dp[i][j];
					}
				}
			}
		}
		cout<<ans<<endl;
	}
}