Berland 年有 $m$ 月,每月 $d$ 天。一周有 $w$ 天。

若第 $x$ 月的第 $y$ 天和第 $y$ 月的第 $x$ 天是同一个星期,则称 $(x,y)$ 是一对。

求一年有几对。

$$ xd+y \equiv yd+x \pmod w $$

$$ (x-y)(d-1) \equiv 0 \Rightarrow (x-y)(d-1) \in w\mathbb{Z} $$

于是有

$$ y-x = \frac{wk}{\gcd(w,d-1)} $$

又 $x < y \leqslant \min(m,d)$​,

int main() {
	ll ttt = rr();
	while (ttt--) {
		ll m = rr(), d = rr(), w = rr();
		ll g = w / gcd(w, d - 1);
		ll max_y = min(m, d) - 1;
		ll div = (max_y + 1) / g, mod = (max_y + 1) % g;
		ll sum = (div - 1) * div / 2 * g + mod * div;
		printf("%lld\n", sum);
	}
	return 0;
}