#include <iostream>
using namespace std;


int main(){
	int map[20][20];
	int ans_map[20][20];
	int x,y;
	while(cin>>x>>y,(x!=0)&&(y!=0)){
		long int ans=0;
		for(int i=0;i<y;i++){
			for(int j=0;j<x;j++){
				cin>>map[i][j];
				ans_map[i][j]=0;
			}
		}
		for(int i=0;i<x;i++){
			ans_map[y][i]=0;
		}
		for(int i=0;i<x;i++){
			if(map[0][i]==0){
				ans_map[0][i]=1;
			}
		}
		for(int i=0;i+1<y;i++){
			for(int j=0;j<x;j++){
				if(map[i][j]==2){
					if(i+2<y){
						ans_map[i+2][j]+=ans_map[i][j];
					}else{
						ans_map[y][j]+=ans_map[i][j];
					}
					ans_map[i][j]=0;
				}else if(map[i][j]==1){
					ans_map[i][j]=0;
				}else{ 
					for(int k=-1;k<=1;k++){
						if((j+k<0)||(j+k>x-1)){
							continue;
						}else{
							if(map[i+1][j+k]==0){
								ans_map[i+1][j+k]+=ans_map[i][j];
							}else if((k==0)&&(map[i+1][j+k]==2)){
								ans_map[i+1][j+k]+=ans_map[i][j];
							}else{
							}
						}
					}
				}
			}
		}
		for(int i=0;i<x;i++){
			ans_map[y][i]+=ans_map[y-1][i];
		}
		for(int i=0;i<x;i++){
			ans+=ans_map[y][i];
		}
		cout<<ans<<endl;
		
	}
}