#include <bits/stdc++.h>
using namespace std;

int main()
{
  int X, Y, c[15][15], dp[15][16];

  while(cin >> X >> Y, X) {
    fill_n( *dp, 15 * 16, 0);
    for(int i = 0; i < X; i++) {
      dp[0][i] = 1;
    }


    for(int i = 0; i < Y; i++) {
      for(int j = 0; j < X; j++) {
        cin >> c[i][j];
      }
    }
    int ret = 0;
    for(int i = 0; i < Y; i++) {
      for(int j = 0; j < X; j++) {
        if(c[i][j] == 0) {
          for(int k = -1; k <= 1; k++) {
            if(j + k < 0 || j + k >= X) continue;
            if(i + 1 >= Y) {
              if(k == 0) ret += dp[i][j];
            } else {
              if(c[i + 1][j + k] == 2 && k != 0) continue;
              dp[i + 1][j + k] += dp[i][j];
            }
          }
        } else if(c[i][j] == 1) {
          continue;
        } else {
          if(i + 2 >= Y) ret += dp[i][j];
          else dp[i + 2][j] += dp[i][j];
        }
      }
    }
    cout << ret << endl;
  }
}