#ATagc068a. [AGC068A] Circular Distance

[AGC068A] Circular Distance

题目描述

有一个周长为 LL 的圆,圆周上等间隔地站着 LL 个人。我们将这些人按顺时针方向编号为 0,1,,L10,1,\cdots,L-1。现在要从这 LL 个人中选出 NN 个人。对于一种选法,定义其代价如下:

  • 对于从 NN 个人中任选的每一对两人,计算其中一人沿圆周移动到另一人位置的最短距离。所有这些距离的最大值即为该选法的代价。

请计算所有选法的代价之和,并对 998244353998244353 取模后输出。

输入格式

输入为一行,包含两个整数 LLNN

LL NN

输出格式

输出答案。

样例 1

输入

4 2

输出

8

样例 2

输入

5 5

输出

2

样例 3

输入

13 5

输出

7618

样例 4

输入

1000000 100000

输出

664396470

说明/提示

限制条件

  • 2NL1062 \leq N \leq L \leq 10^6
  • 输入的所有数均为整数。

样例解释 1

选出的 NN 个人及其对应的代价如下:

  • (0,1)(0,1):代价 11
  • (0,2)(0,2):代价 22
  • (0,3)(0,3):代价 11
  • (1,2)(1,2):代价 11
  • (1,3)(1,3):代价 22
  • (2,3)(2,3):代价 11 这些代价的总和为 88,即为答案。

样例解释 2

只能全部选出所有人,此时代价为 22

由 ChatGPT 4.1 翻译