#include <bits/stdc++.h>
using namespace std;
char A[100000];
int B[100000];
char C[100000];
set<int> f;
int t;
int main() {
  int n, m;
  scanf("%d%d", &n, &m);
  for (int i = 0; i < m; i++) {
    scanf("%*c%c%d", A + i, B + i);
    B[i]--;
    if (!C[B[i]]) {
      if (A[i] == '+') {
        f.insert(B[i]);
        C[B[i]] = '-';
      } else {
        t++;
        C[B[i]] = '+';
      }
    }
  }
  memset(C, 0, sizeof(C));
  for (int i = 0; i < m; i++) {
    if (A[i] == '+') {
      if (t) C[B[i]] = 1;
      set<int>::iterator t0 = f.find(B[i]);
      if (t0 != f.end()) f.erase(t0);
      t++;
      for (set<int>::iterator i = f.begin(); i != f.end(); i++) C[*i] = 1;
      f.clear();
    } else {
      for (set<int>::iterator i = f.begin(); i != f.end(); i++) C[*i] = 1;
      f.clear();
      t--;
      f.insert(B[i]);
      if (t) C[B[i]] = 1;
    }
  }
  vector<int> res;
  for (int i = 0; i < n; i++)
    if (!C[i]) res.push_back(i + 1);
  printf("%lu\n", res.size());
  for (vector<int>::iterator i = res.begin(); i != res.end(); i++)
    printf("%d ", *i);
  puts("");
  return 0;
}
