	#include <iostream>
	#define rep2(x,from,to) for(int x=(from);(x)<(to);(x)++)
	#define rep(x,to) rep2(x,0,to)
	using namespace std;
	int main(){
		int x, y;
		while(cin >> x >> y && (x||y) ) {
			int b[15][15] = {};
			rep(i,y) {
				rep(j,x) {
					cin >> b[i][j];
				}
			}
			int ret[20][20] = {};
			rep(i,x) {
				if(b[0][i] == 0) {
					ret[0][i+1] = 1;
				}
			}
			rep2(i,1,y) {
				rep(j,x) {
					if(b[i][j] == 0) {
						ret[i][j+1] += ret[i-1][j] + ret[i-1][j+1] + ret[i-1][j+2];
						rep2(k,-1,2) {
							if(b[i-1][j+k] == 2) ret[i][j+1] -= ret[i-1][j+k+1];
						}
					} else if(b[i][j] == 2) {	
						if(b[i-1][j] == 0) ret[i][j+1] += ret[i-1][j+1];
						if(y <= i+2 || b[i+2][j] != 1) ret[i+2][j+1] += ret[i][j+1];
					}
				}
			}
			int ans = 0;
			rep2(i,y-1,y+2) {
				rep(j,x) {
					if(y <= i || b[i][j] != 2) ans += ret[i][j+1];
				}
			}
			cout << ans << endl;
		}
	}