#include <bits/stdc++.h>
using namespace std;
map<int, int> mp[1001];
int n, k, cnt;
int main(void) {
  scanf("%d %d", &n, &k);
  if ((n - 1) * n / 2 < k * n) {
    puts("-1");
    return 0;
  }
  printf("%d\n", k * n);
  for (int i = 0; i < n; i++) {
    cnt = 0;
    for (int j = 0; j < n; j++) {
      if (i != j && !mp[i][j]) {
        printf("%d %d\n", i + 1, j + 1);
        mp[i][j] = 1;
        mp[j][i] = 1;
        cnt++;
      }
      if (cnt == k) break;
    }
  }
  return 0;
}
