#include <bits/stdc++.h>
using namespace std;
bool is_prime(int z) {
  for (int i = 2; i * i <= z; i++)
    if (z % i == 0) return false;
  return true;
}
int cnt = 1;
void print(int z, int y) {
  if (z == 0) return;
  for (int i = 0; i < z; i++) {
    printf("%d %d %d\n", cnt, cnt + 1, y);
    cnt++;
  }
}
int x;
int main() {
  int n, m, ans, y, i, j;
  scanf("%d%d", &n, &m);
  for (ans = n - 1;; ans++) {
    if (is_prime(ans)) break;
  }
  if (ans == 1) ans = 2;
  printf("%d %d\n", ans, ans);
  x = ans - n + 1;
  print(x, 2);
  print(n - 1 - x, 1);
  m -= n - 1;
  for (i = 1; i < n - 1; i++) {
    for (j = i + 2; j <= n; j++) {
      if (m == 0) break;
      printf("%d %d %d\n", i, j, ans);
      m--;
    }
    if (m == 0) break;
  }
  return 0;
}
