#include <iostream>
#include <cstdio>
using namespace std;
#define rep(i,n) for(int i=0;i<n;i++)
#define REP(i,n,a) for(int i=a;i<n;i++)
int main(){
	int X,Y;
	int mp[23][23];
	int obj[22][22];
	int sum = 0;
	while(cin >> X >> Y && X && Y){
		rep(i,22)rep(j,22)mp[i][j]=0;
		rep(i,22)rep(j,22)obj[i][j]=1;
		REP(i,X+1,1)mp[1][i]=1;
		
		rep(i,Y)rep(j,X){
			cin >> obj[1+i][1+j];
		}
		
		REP(i,Y+1,1	)REP(j,X+1,1){
			if(obj[i][j]==1){
				mp[i][j]=0;
			}else if(obj[i][j]==2){
				if(obj[i-1][ j ]==0)mp[i][j] =mp[i-1][ j ];
				if(obj[i-2][ j ]==2)mp[i][j]+=mp[i-2][ j ];
			}else{
				if(obj[i-1][j-1]==0)mp[i][j]+=mp[i-1][j-1];
				if(obj[i-1][ j ]==0)mp[i][j]+=mp[i-1][ j ];
				if(obj[i-1][j+1]==0)mp[i][j]+=mp[i-1][j+1];
				if(obj[i-2][ j ]==2)mp[i][j]+=mp[i-2][ j ];
			}
		}
		
		sum = 0;
		for(int i=1;i<=X;i++){
			sum += mp[Y][i];
			if(obj[Y-1][i]==2)sum+=mp[Y-1][i];
		}
		cout << sum << endl;
	}
}