#include <bits/stdc++.h>
using namespace std;
const long long MOD = 1000000007;
long long modpow(long long a, long long n, long long p) {
  if (n == 1) {
    return a % p;
  }
  if (n % 2 == 1) {
    return a * modpow(a, n - 1, p) % p;
  }
  long long t = modpow(a, n / 2, p);
  return t * t % p;
}
int main() {
  int n, m;
  cin >> n >> m;
  pair<int, int> a[m];
  for (int i = 0; i < m; i++) {
    cin >> a[i].first >> a[i].second;
  }
  if (n == 1) {
    int min1 = 10;
    for (int i = 0; i < m; i++) {
      min1 = min(min1, a[i].second);
    }
    cout << min1 << endl;
    return 0;
  }
  if (n == 2) {
    int min2 = 10;
    int min3 = 10;
    for (int i = 0; i < m; i++) {
      if (a[i].first == 1) {
        min2 = min(min2, a[i].second);
      }
      if (a[i].first == 2) {
        min3 = min(min3, a[i].second);
      }
    }
    if (min2 == 10 || min2 == 0) {
      cout << -1 << endl;
      return 0;
    }
    if (min3 == 10) {
      cout << min2 * 10 << endl;
      return 0;
    } else {
      cout << min2 * 10 + min3 << endl;
      return 0;
    }
  }
  if (n == 3) {
    int min4 = 10;
    int min5 = 10;
    int min6 = 10;
    for (int i = 0; i < m; i++) {
      if (a[i].first == 1) {
        min4 = min(min4, a[i].second);
      }
      if (a[i].first == 2) {
        min5 = min(min5, a[i].second);
      }
      if (a[i].first == 3) {
        min6 = min(min6, a[i].second);
      }
    }
    if (min4 == 10 || min4 == 0) {
      cout << -1 << endl;
      return 0;
    }
    if (min5 == 10) {
      if (min6 == 10) {
        cout << min4 * 100 << endl;
        return 0;
      } else {
        cout << min4 * 100 + min6 << endl;
      }
    } else {
      cout << min4 * 100 + min5 + 10 * min6 << endl;
      return 0;
    }
  }
  return 0;
}
