#include int main() { int N; scanf("%d", &N); int M = 2 * N - 3; printf("%d\n", M); int edge_id = 1; // Chain edges for (int i = 1; i < N; i++) { printf("%d %d %d\n", i, i + 1, i * i); } // Extra edges from node 1 for (int i = 3; i <= N; i++) { printf("1 %d %d\n", i, i * (i - 1)); } // Output paths (simple: use direct or via chain) for (int i = 1; i <= N; i++) { for (int j = i + 1; j <= N; j++) { if (i == 1) { printf("1 %d\n", j); } else { printf("%d %d\n", i, j); } } } return 0; }