#include <bits/stdc++.h>
using namespace std;
bool used[100100];
bool res[100100];
int main() {
  int n, m;
  scanf("%d %d", &n, &m);
  memset(used, false, sizeof(used));
  memset(res, false, sizeof(res));
  set<int> s;
  vector<pair<int, char> > in;
  for (int i = 0; i < m; i++) {
    char c;
    int x;
    scanf(" %c %d ", &c, &x);
    x--;
    if (c == '-' && !used[x]) {
      s.insert(x);
    }
    used[x] = true;
    in.push_back(make_pair(x, c));
  }
  for (int i = 0; i < (int)in.size(); i++) {
    char c = in[i].second;
    int x = in[i].first;
    if (c == '+') {
      if (!s.empty()) {
        res[x] = true;
      } else {
        if (i != 0 && in[i - 1].first != x) {
          res[x] = true;
        }
      }
      s.insert(x);
    } else {
      s.erase(x);
      if (!s.empty()) {
        res[x] = true;
      } else {
        if (i != m - 1 && in[i + 1].first != x) {
          res[x] = true;
        }
      }
    }
  }
  vector<int> o;
  for (int i = 0; i < n; i++) {
    if (!res[i]) {
      o.push_back(i + 1);
    }
  }
  printf("%d\n", (int)o.size());
  for (int i = 0; i < (int)o.size(); i++) {
    printf("%d ", o[i]);
  }
  if (o.size() != 0) {
    printf("\n");
  }
  return 0;
}
