#include <bits/stdc++.h>
using namespace std;
int dx[] = {0, 0, -1, 1};
int dy[] = {-1, 1, 0, 0};
int op[100005];
bool f[100005];
set<int> room;
set<int> temp;
char s[10];
int main() {
  int n, m, id;
  while (cin >> n >> m) {
    for (int i = (1); i <= (n); ++i) f[i] = 1;
    for (int i = (1); i <= (m); ++i) {
      cin >> s >> id;
      if (s[0] == '-')
        op[i] = -id;
      else
        op[i] = id;
      f[abs(op[i])] = 0;
    }
    room.clear();
    temp.clear();
    int tt = -1;
    for (int i = (1); i <= (m); ++i) {
      if (op[i] > 0)
        room.insert(op[i]);
      else {
        if (room.find(-op[i]) != room.end())
          room.erase(-op[i]);
        else {
          temp.insert(-op[i]);
          tt = -op[i];
        }
      }
    }
    if (tt == -1) {
      tt = op[1];
    }
    bool flag = true;
    for (int i = (1); i <= (m); ++i) {
      if (op[i] > 0)
        temp.insert(op[i]);
      else {
        temp.erase(-op[i]);
      }
      if (temp.size() != 0) {
        if (temp.find(tt) == temp.end()) flag = false;
      }
    }
    if (flag) f[tt] = 1;
    int total = 0;
    for (int i = (1); i <= (n); ++i) {
      if (f[i]) total++;
    }
    cout << total << endl;
    if (total == 0) continue;
    for (int i = (1); i <= (n); ++i)
      if (f[i]) cout << i << " ";
    cout << endl;
  }
  return 0;
}
