#include <bits/stdc++.h>
using namespace std;
struct NUM {
  int s;
  int c;
};
int main(void) {
  int N, M;
  cin >> N >> M;
  NUM *t;
  t = new NUM[M];
  for (int i = 0; i < M; i++) {
    cin >> t[i].s >> t[i].c;
  }
  int ans = 0;
  bool f1 = false, f2 = false, f3 = false;
  sort(t, t + M, [](const NUM &x, const NUM &y) { return x.c > y.c; });
  for (int i = 0; i < N; i++) {
    if (t[i].s == 1 && f1 == false && t[i].c > 0) {
      ans += 100 * t[i].c;
      f1 = true;
    }
    if (t[i].s == 2 && f2 == false && t[i].c > 0) {
      ans += 10 * t[i].c;
      f2 = true;
    }
    if (t[i].s == 3 && f3 == false && t[i].c > 0) {
      ans += t[i].c;
      f3 = true;
    }
  }
  if ((int)(log10(ans) + 1) == N) {
    cout << ans << endl;
  } else {
    cout << -1 << endl;
  }
  return 0;
}
