#include <bits/stdc++.h>
using namespace std;
const int inf = 0x7FFFFFFF;
template <class T>
T gcd(T a, T b) {
  return b == 0 ? a : gcd(b, a % b);
}
template <typename T>
T lcm(T a, T b) {
  return a / gcd(a, b) * b;
}
template <class T>
T big_mod(T n, T p, T m) {
  if (p == 0) return (T)1;
  T x = big_mod(n, p / 2, m);
  x = (x * x) % m;
  if (p & 1) x = (x * n) % m;
  return x;
}
template <class T>
T my_pow(T n, T p) {
  if (p == 0) return 1;
  T x = my_pow(n, p / 2);
  x = (x * x);
  if (p & 1) x = (x * n);
  return x;
}
template <class T>
inline T Mod(T n, T m) {
  return (n % m + m) % m;
}
template <class T>
T MIN(T a, T b, T c) {
  return min(a, min(b, c));
}
template <class T>
T MAX(T a, T b, T c) {
  return max(a, max(b, c));
}
int n, m, segment[10000];
int main() {
  cin >> n >> m;
  for (int i = 1; i <= m; i++) {
    int x, y;
    cin >> x >> y;
    for (int j = x; j <= y; j++) {
      segment[j]++;
    }
  }
  for (int i = 1; i <= n; i++) {
    if (segment[i] != 1) {
      printf("%d %d\n", i, segment[i]);
      return 0;
    }
  }
  printf("OK\n");
  return 0;
}
