#include <bits/stdc++.h>
using namespace std;
struct Action {
  char c;
  int id;
};
int main() {
  int n, m;
  scanf(" %d %d", &n, &m);
  vector<Action> actions(m);
  for (auto& act : actions) {
    scanf(" %c %d", &act.c, &act.id);
  }
  set<int> loggedIn;
  for (int i = 1; i <= n; i++) {
    loggedIn.insert(i);
  }
  set<int> hasActed;
  for (auto& act : actions) {
    if (act.c == '+' && hasActed.count(act.id) == 0) loggedIn.erase(act.id);
    hasActed.insert(act.id);
  }
  int unconfirmed = n - hasActed.size();
  set<int> leaders = loggedIn;
  if (loggedIn.size() <= unconfirmed && actions[0].c == '+') {
    leaders.insert(actions[0].id);
  }
  set<int> missing;
  for (auto& act : actions) {
    if (act.c == '+') {
      for (auto const& m : missing) {
        if (m != act.id) leaders.erase(m);
      }
      missing.clear();
      loggedIn.insert(act.id);
    } else {
      loggedIn.erase(act.id);
      if (loggedIn.size() > unconfirmed) {
        leaders.erase(act.id);
      } else {
        missing.insert(act.id);
      }
    }
  }
  printf("%d\n", leaders.size());
  for (auto const& l : leaders) {
    printf("%d ", l);
  }
  printf("\n");
}
