#include <bits/stdc++.h>
using namespace std;
struct node {
  int id;
  char st;
} a[100008];
bool f[100008], tmp[100008];
int siz;
int main() {
  int n, m, i, ans;
  char str[5];
  scanf("%d%d", &n, &m);
  memset(f, 0, sizeof(f));
  for (i = 0; i < m; i++) {
    scanf("%s%d", str, &a[i].id);
    a[i].st = str[0];
  }
  siz = 0;
  memset(tmp, 0, sizeof(tmp));
  for (i = 0; i < m; i++) {
    if (!tmp[a[i].id] && a[i].st == '-')
      ++siz;
    else
      tmp[a[i].id] = true;
  }
  for (i = 0; i < m; i++) {
    if (a[i].st == '+' && (siz != 0 || (i != 0 && (a[i - 1].id != a[i].id ||
                                                   a[i - 1].st != '-'))))
      f[a[i].id] = true;
    else if (a[i].st == '-' &&
             (siz != 1 ||
              (i != m - 1 && (a[i + 1].id != a[i].id || a[i + 1].st != '+'))))
      f[a[i].id] = true;
    if (a[i].st == '+')
      ++siz;
    else
      --siz;
  }
  ans = 0;
  for (i = 1; i <= n; i++)
    if (!f[i]) ++ans;
  printf("%d\n", ans);
  for (i = 1; i <= n; i++)
    if (!f[i]) printf("%d ", i);
  return 0;
}
