#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, m;
  while (scanf("%d%d", &n, &m) == 2) {
    vector<pair<int, int> > logs;
    set<int> def_no1, def_no2;
    vector<int> inout(n, 0);
    set<int> tin, tout;
    for (int i = (0); i <= ((m)-1); ++i) {
      char fao[5];
      int id;
      scanf("%s%d", fao, &id);
      bool in = (fao[0] == '+');
      --id;
      logs.push_back(pair<int, int>(in, id));
      if (inout[id] == 0) inout[id] = 2 * in - 1;
    }
    {
      set<int> allbut;
      set<int> inside;
      for (int i = (0); i <= ((n)-1); ++i)
        if (inout[i] == -1) inside.insert(i);
      for (int i = (0); i <= ((m)-1); ++i) {
        bool in = logs[i].first;
        int id = logs[i].second;
        if (in) {
          if (((int)(inside).size()))
            def_no1.insert(id);
          else
            allbut.insert(id);
          inside.insert(id);
        } else {
          inside.erase(id);
          if (((int)(inside).size()))
            def_no1.insert(id);
          else
            allbut.insert(id);
        }
      }
      if (((int)(allbut).size())) {
        if (((int)(allbut).size()) > 1)
          for (int j = (0); j <= ((n)-1); ++j) def_no1.insert(j);
        else {
          int k = *allbut.begin();
          for (int j = (0); j <= ((n)-1); ++j)
            if (j != k) def_no1.insert(j);
        }
      }
    }
    {
      set<int> allbut;
      set<int> inside;
      for (int i = (0); i <= ((n)-1); ++i)
        if (inout[i] != 1) inside.insert(i);
      for (int i = (0); i <= ((m)-1); ++i) {
        bool in = logs[i].first;
        int id = logs[i].second;
        if (in) {
          if (((int)(inside).size()))
            def_no2.insert(id);
          else
            allbut.insert(id);
          inside.insert(id);
        } else {
          inside.erase(id);
          if (((int)(inside).size()))
            def_no2.insert(id);
          else
            allbut.insert(id);
        }
      }
      if (((int)(allbut).size())) {
        if (((int)(allbut).size()) > 1)
          for (int j = (0); j <= ((n)-1); ++j) def_no2.insert(j);
        else {
          int k = *allbut.begin();
          for (int j = (0); j <= ((n)-1); ++j)
            if (j != k) def_no2.insert(j);
        }
      }
    }
    set<int> def_no;
    for (int i = (0); i <= ((n)-1); ++i)
      if (def_no1.count(i) and def_no2.count(i)) def_no.insert(i);
    int z = n - ((int)(def_no).size());
    cout << z << endl;
    if (z) {
      for (int i = (0); i <= ((n)-1); ++i)
        if (def_no.count(i) == 0) cout << i + 1 << " ";
      cout << endl;
    }
  }
  return 0;
}
