#include <iostream>
using namespace std;

int fld[17][17];
int cnt[17][17];

int main()
{
	int X,Y,S;
	while(cin >> X >> Y, (X||Y))
	{
		for(int y=0; y<17; y++)
		for(int x=0; x<17; x++)
		{
			fld[y][x] = 3;
			cnt[y][x] = 0;
		}

		for(int y=0; y< Y; y++)
		for(int x=1; x<=X; x++)
		{
			cin >> fld[y][x];
			cnt[y][x] = ((y==0&&fld[y][x]==0)?1:0);
		}

		for(int y=0; y< Y-1; y++)
		for(int x=1; x<=X  ; x++)
		{
			if(fld[y][x]==0)
			{
				if(fld[y+1][x+1]==0) cnt[y+1][x+1]+=cnt[y][x];
				if(fld[y+1][x-1]==0) cnt[y+1][x-1]+=cnt[y][x];
				if(fld[y+1][x  ]!=1) cnt[y+1][x  ]+=cnt[y][x]; 
			}
			if(fld[y][x]==2&&fld[y+2][x]!=1)
			{
				cnt[y+2][x]+=cnt[y][x];
			}
		}

		S=0;
		for(int y=Y-1; y< Y+2; y++)
		for(int x=1  ; x<=X  ; x++)
		{
			S+=cnt[y][x];
		}

		cout << S << endl;
	}

	return 0;
}