#include <bits/stdc++.h>
using namespace std;
template <typename Arg1>
void prn(Arg1&& arg1) {
  cout << arg1 << "\n";
}
template <typename Arg1, typename... Args>
void prn(Arg1&& arg1, Args&&... args) {
  cout << arg1 << " ";
  prn(args...);
}
template <typename Arg1>
void prs(Arg1&& arg1) {
  cout << arg1 << " ";
}
template <typename Arg1, typename... Args>
void prs(Arg1&& arg1, Args&&... args) {
  cout << arg1 << " ";
  prs(args...);
}
template <typename Arg1>
void read(Arg1&& arg1) {
  cin >> arg1;
}
template <typename Arg1, typename... Args>
void read(Arg1&& arg1, Args&&... args) {
  cin >> arg1;
  read(args...);
}
long long n, k;
void solve() {
  read(n, k);
  long long sum = 0, invariant = 0;
  for (int i = 0; i < k; ++i) {
    long long a, b;
    read(a, b);
    sum += b;
    invariant = (invariant + a * b) % n;
  }
  if (sum < n) {
    prn(1);
    return;
  }
  if (sum > n) {
    prn(-1);
    return;
  }
  if (invariant != (n * (n + 1) / 2) % n) {
    prn(-1);
    return;
  }
  prn(1);
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  int t = 1;
  for (int tc = 1; tc <= t; ++tc) {
    solve();
  }
  return 0;
}
