CF476D Dreamoon and Sets

题目描述

Dreamoon 喜欢玩集合、整数和最大公因数(gcd)。gcd 定义为同时整除 $a$ 和 $b$ 的最大的正整数。 现有 $S$ 为恰好包含四个不同的正整数的集合。如果对于集合 $S$ 中任意一对不同元素 $s_i, s_j$,都有 $\gcd(s_i, s_j) = k$,则称 $S$ 为秩 $k$ 的集合。 给定 $k$ 和 $n$,Dreamoon 想要用 $1$ 到 $m$ 间的整数,构造 $n$ 个秩为 $k$ 的集合,并保证每个整数最多只出现在一个集合中(可以有一些整数没被用到)。请计算最小的 $m$ 使得存在这样的方案,并输出其中一种方案。

输入格式

输入仅包含一行,包括两个用空格分隔的整数 $n, k$,满足 $1 \leq n \leq 10000, 1 \leq k \leq 100$。

输出格式

第一行输出一个整数——最小的 $m$。 接下来的 $n$ 行,每行输出四个用空格分隔的整数,表示第 $i$ 个集合。 集合以及集合内元素的顺序不限。如果最小 $m$ 有多种合法方案,输出任意一种即可。

说明/提示

对于第一个样例,容易发现集合 $\{1, 2, 3, 4\}$ 不是秩为 $1$ 的集合,因为 $\gcd(2, 4) = 2$。 由 ChatGPT 5 翻译