#include <bits/stdc++.h>
using namespace std;
int visit[100005];
bool visited[100005];
pair<char, int> arr[100005];
set<int> s;
int main() {
  int n, m;
  cin >> n >> m;
  fill(visit, visit + n + 1, -1);
  fill(visited, visited + n + 1, false);
  int count = 0;
  for (int i = 1; i <= m; i++) {
    cin >> arr[i].first >> arr[i].second;
    if (visit[arr[i].second] == -1) {
      if (arr[i].first == '+')
        visit[arr[i].second] = 0;
      else
        visit[arr[i].second] = 1;
    }
  }
  for (int i = 1; i <= n; i++) {
    if (visit[i] == 1) count++;
    if (visit[i] == 0) s.insert(i);
  }
  if (count > 0) {
    for (set<int>::iterator it = s.begin(); it != s.end(); it++) {
      visited[*it] = true;
    }
    s.clear();
  }
  for (int i = 1; i <= m; i++) {
    if (arr[i].first == '+') {
      visit[arr[i].second] = 1;
      count++;
      s.erase(arr[i].second);
      for (set<int>::iterator it = s.begin(); it != s.end(); it++) {
        visited[*it] = true;
      }
      s.clear();
    } else {
      visit[arr[i].second] = 0;
      count--;
      if (!visited[arr[i].second]) s.insert(arr[i].second);
      if (count > 0) {
        for (set<int>::iterator it = s.begin(); it != s.end(); it++) {
          visited[*it] = true;
        }
        s.clear();
      }
    }
  }
  count = 0;
  for (int i = 1; i <= n; i++) {
    if (visited[i] == false) count++;
  }
  cout << count << endl;
  for (int i = 1; i <= n; i++) {
    if (visited[i] == false) cout << i << " ";
  }
  cout << endl;
}
