#include <bits/stdc++.h>
using namespace std;
struct Node {
  char s[4];
  int id;
} a[100005];
int n, m, ans[100005], ans0, sum, flag[100005], flag1[100005], be[100005];
int main() {
  scanf("%d%d", &n, &m);
  memset(flag, 1, sizeof(flag));
  memset(flag1, 0, sizeof(flag1));
  memset(be, 0, sizeof(be));
  for (int i = 1; i <= m; ++i) scanf("%s%d", a[i].s, &a[i].id);
  for (int i = m; i >= 1; --i) {
    if (a[i].s[0] == '-')
      be[a[i].id] = 1;
    else
      be[a[i].id] = 0;
  }
  sum = 0;
  for (int i = 1; i <= n; ++i) sum += be[i];
  int last = 0;
  for (int i = 1; i <= m; ++i) {
    if (a[i].s[0] == '-') {
      sum--;
      if (sum > 0) flag1[a[i].id] = 1;
      last = a[i].id;
      if (i != m) flag[a[i].id] = 0;
    } else {
      if (sum > 0 || (a[i].id != last && last)) flag1[a[i].id] = 1;
      sum++;
      flag[a[i].id] = 1;
    }
  }
  ans0 = 0;
  for (int i = 1; i <= n; ++i) {
    if (!flag1[i] && flag[i]) {
      ans0++;
      ans[ans0] = i;
    }
  }
  printf("%d\n", ans0);
  for (int i = 1; i <= ans0; ++i) printf("%d ", ans[i]);
  return 0;
}
