#include <bits/stdc++.h>
using namespace std;
bool flag[100010];
char c1[100010];
int c2[100010];
bool on[100010];
int main() {
  int n, m;
  while (scanf("%d%d", &n, &m) != EOF) {
    int i, c, d;
    memset(flag, 0, sizeof(flag));
    c = 0;
    d = 0;
    memset(on, 0, sizeof(on));
    for (i = 1; i <= m; i++) cin >> c1[i] >> c2[i];
    for (i = 1; i <= m; i++) {
      if (c1[i] == '+') {
        on[c2[i]] = 1;
        if (c > 0) flag[c2[i]] = 1;
        c++;
      } else {
        if (on[c2[i]] == 1) on[c2[i]] = 0, c--;
        if ((i != m && (c1[i + 1] != '+' || c2[i + 1] != c2[i])) || c > 0)
          flag[c2[i]] = 1;
      }
    }
    c = 0;
    d = 0;
    memset(on, 0, sizeof(on));
    for (i = m; i > 0; i--) {
      if (c1[i] == '-') {
        on[c2[i]] = 1;
        if (c > 0) flag[c2[i]] = 1;
        c++;
      } else {
        if (on[c2[i]] == 1) on[c2[i]] = 0, c--;
        if ((i != 1 && (c1[i - 1] != '-' || c2[i - 1] != c2[i])) || c > 0)
          flag[c2[i]] = 1;
      }
    }
    int cot = 0;
    for (i = 1; i <= n; i++) {
      if (flag[i] == 0) cot++;
    }
    printf("%d\n", cot);
    for (i = 1; i <= n && flag[i] != 0; i++)
      ;
    if (i != n + 1) cout << i++;
    for (; i <= n; i++) {
      if (flag[i] == 0) printf(" %d", i);
    }
    cout << endl;
  }
  return 0;
}
