#include <bits/stdc++.h>
int N, M;
int Record[101101];
int In_Record[101101];
void INPUT() {
  scanf("%d %d", &N, &M);
  int i;
  int x;
  char temp;
  for (i = 1; i <= M; i++) {
    scanf("\n");
    scanf("%c", &temp);
    scanf("%d", &x);
    In_Record[x] = 1;
    if (temp == '+')
      Record[i] = +x;
    else
      Record[i] = -x;
  }
}
int Check[101101];
int When[101101];
int Cnt[101101];
void PROCESS() {
  int i, now = 0;
  for (i = 1; i <= M; i++) {
    if (Record[i] < 0) {
      Check[-Record[i]]--;
      if (Check[-Record[i]] < 0) {
        now++;
        Check[-Record[i]] = 0;
      }
      Cnt[-Record[i]] += (i - When[-Record[i]]);
    } else {
      Check[+Record[i]]++;
      When[Record[i]] = i;
    }
  }
  for (i = 1; i <= N; i++)
    if (Check[i] > 0) Cnt[i] += (M + 1 - When[i]);
  int All = 0;
  if (now > 0) All++;
  for (i = 1; i <= M; i++) {
    if (Record[i] > 0)
      now++;
    else
      now--;
    if (now > 0) All++;
  }
  int Ansp = 0;
  for (i = 1; i <= N; i++) {
    if (Cnt[i] == All) In_Record[i] = 0;
    if (In_Record[i] == 0) Ansp++;
  }
  printf("%d\n", Ansp);
  for (i = 1; i <= N; i++)
    if (In_Record[i] == 0) printf("%d ", i);
}
int main() {
  INPUT();
  PROCESS();
  return 0;
}
