#include <bits/stdc++.h>
using namespace std;
int n, m, ans;
int c[20], v[20];
string s[20];
void gen_ans(int idx) {
  for (int i = 0; i < m; i++)
    if (v[i] > c[i]) return;
  if (idx == n) {
    bool ok = true;
    for (int i = 0; i < m; i++) ok &= c[i] == v[i];
    ans += ok;
  } else {
    for (int i = 0; i < m; i++)
      if (s[i][idx] == '0') v[i]++;
    gen_ans(idx + 1);
    for (int i = 0; i < m; i++)
      if (s[i][idx] == '0') v[i]--;
    for (int i = 0; i < m; i++)
      if (s[i][idx] == '1') v[i]++;
    gen_ans(idx + 1);
    for (int i = 0; i < m; i++)
      if (s[i][idx] == '1') v[i]--;
  }
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  cin >> n >> m;
  for (int i = 0; i < m; i++) cin >> s[i] >> c[i];
  gen_ans(0);
  cout << ans << endl;
  return 0;
}
