#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 15;
bool vis[N], nvm[N];
int main() {
  vector<int> list;
  int n, m, x, i, j;
  char c;
  scanf("%d%d", &n, &m);
  for (i = 0; i < m; ++i) {
    cin >> c >> x;
    if (c == '-') x = -x;
    list.push_back(x);
  }
  int f = 0, t = 0;
  for (i = 0; i < m; ++i) {
    x = list[i];
    if (!vis[abs(x)] && x < 0) ++f;
    vis[abs(x)] = 1;
  }
  memset(vis, 0, sizeof(vis));
  vector<int> w, ret;
  for (i = 0; i < m; ++i) {
    x = list[i];
    vis[abs(x)] = 1;
    if (x > 0)
      ++f;
    else
      --f;
    if (f > 1) nvm[abs(x)] = 1;
    if (f == 1 && x < 0) nvm[abs(x)] = 1;
    if (f == 1 && x > 0) w.push_back(x);
    if (f == 0 && x < 0) w.push_back(-x);
  }
  if (w.size() != 0) {
    f = w[0];
    vis[f] = 0;
    for (i = 1; i < w.size(); ++i)
      if (w[i] != f) vis[f] = 1;
    if (nvm[f]) vis[f] = 1;
  }
  for (i = 1; i <= n; ++i)
    if (!vis[i]) ret.push_back(i);
  cout << ret.size() << endl;
  for (i = 0; i < ret.size(); ++i) printf("%d ", ret[i]);
  cout << endl;
}
