#include <bits/stdc++.h>
using namespace std;
string v[102];
char buf[102];
int n;
int ant[102];
int cnt[102];
queue<int> q;
vector<int> ans;
void add(int b) {
  for (int i = 0; i < n; i++) {
    if (v[b][i] == '1') {
      cnt[i]++;
      if (cnt[i] == ant[i]) {
        q.push(i);
      }
    }
  }
  ans.push_back(b);
}
int main() {
  cin >> n;
  for (int i = 0; i < n; i++) {
    scanf("%s", buf);
    v[i] = buf;
  }
  for (int i = 0; i < n; i++) {
    scanf("%d", &ant[i]);
  }
  for (int i = 0; i < n; i++) {
    if (ant[i] == 0) {
      q.push(i);
    }
  }
  while (!q.empty()) {
    int b = q.front();
    q.pop();
    if (ant[b] != cnt[b]) continue;
    add(b);
  }
  cout << ans.size() << endl;
  for (int i = 0; i < ans.size(); i++) {
    cout << ans[i] + 1 << endl;
  }
  return 0;
}
