#include <bits/stdc++.h>
using namespace std;
long long int powmod(long long int a, int b, int n) {
  long long int rm = 1;
  while (b) {
    if (b % 2) {
      rm = (rm * a) % n;
    }
    a = (a * a) % n;
    b /= 2;
  }
  return rm;
}
int seg[4 * int(1e5 + 10)], ans = 0, filled[int(1e5 + 10)] = {0}, n, m;
std::vector<pair<int, int> > v;
void insert(int n, int it, int f) {
  seg[n] = f - it + 1;
  if (it == f) return;
  int m = (it + f) / 2;
  insert(n * 2, it, m);
  insert(n * 2 + 1, m + 1, f);
}
int query(int n, int it, int f, int q1, int q2) {
  if (it == f) {
    if (seg[n]) return f;
    return -1;
  }
  int m = (it + f) / 2;
  if (it == q1 && f == q2) {
    if (seg[n]) {
      if (seg[n * 2]) return query(n * 2, it, m, it, m);
      return query(n * 2 + 1, m + 1, f, m + 1, f);
    } else
      return -1;
  }
  if (q2 <= m) {
    return query(n * 2, it, m, q1, q2);
  } else if (q1 > m)
    return query(n * 2 + 1, m + 1, f, q1, q2);
  else {
    int id = query(n * 2, it, m, q1, m);
    if (id == -1) return query(n * 2 + 1, m + 1, f, m + 1, q2);
    return id;
  }
}
void update(int n, int it, int f, int q) {
  if (it == f) {
    seg[n] = 0;
    return;
  }
  int m = (it + f) / 2;
  if (q <= m)
    update(n * 2, it, m, q);
  else
    update(n * 2 + 1, m + 1, f, q);
  seg[n] = seg[n * 2] + seg[n * 2 + 1];
}
std::map<pair<int, int>, int> Hash;
int aa[int(1e5 + 10)], t = 0;
int main() {
  int r, c;
  cin >> n >> m;
  v.push_back(make_pair(0, 0));
  for (int i = int(1); i <= (int)m; i++) {
    cin >> r >> c;
    v.push_back(make_pair(r, c));
    Hash[make_pair(r, c)] = i;
  }
  insert(1, 1, n);
  sort(v.begin() + 1, v.end());
  for (int i = 1; i <= m; ++i) {
    int id = query(1, 1, n, v[i].first - (v[i].second - (n - v[i].first + 1)),
                   v[i].first);
    if (id != -1) {
      ans++;
      aa[++t] = Hash[make_pair(v[i].first, v[i].second)];
      update(1, 1, n, id);
    }
  }
  cout << ans << endl;
  sort(aa + 1, aa + t + 1);
  for (int i = int(1); i <= (int)t; i++) cout << aa[i] << " ";
  return 0;
}
