#include <bits/stdc++.h>
using namespace std;
int i, j, k, n, m, s;
int a1[1000010], a2[1000010], f[1010][1010];
int main() {
  scanf("%d%d", &n, &m);
  for (i = 1; i <= n; i++) {
    int k = m;
    for (j = 1; j <= n; j++)
      if (i != j && !f[i][j]) {
        f[i][j] = f[j][i] = 1;
        k--;
        a1[++s] = i, a2[s] = j;
        if (!k) break;
      }
    if (k) {
      printf("-1\n");
      return 0;
    }
  }
  printf("%d\n", s);
  for (i = 1; i <= s; i++) printf("%d %d\n", a1[i], a2[i]);
  return 0;
}
