#P1042. 星环工程的任务链系统

星环工程的任务链系统

星环工程的任务链系统

题目描述

在人类迈入星际时代的第 27 个世纪,“星环工程(Stellar Ring Project)”成为联合议会最庞大的建设计划。为了在银河系边缘建造巨型能量环,人类需要调动无数科研模块、能源节点、航天器工段与维修单元。

整个工程依靠一个名为 TAS(Task Assembly System,任务组装系统) 的核心调度平台运转。 TAS 的职责是:

  • 从全体可用任务中选出若干关键任务
  • 将其组装成一个“任务链 Task Chain”
  • 按顺序安排执行,串联为一段完整的工程流程

每条任务链都是一条工程流水线。如果顺序不同,工程进度可能大幅提升或延误;如果任务集合不同,环结构的局部也会发生改变。因此 任何集合差异或顺序变化,都被视为完全不同的任务链。

星环工程的首席调度官近日向你发出求助:

给定当前系统中共有 n 个可选任务,现在需要挑选恰好 m 个任务组成任务链。你需要告诉系统,一共有多少种可能的不同任务链。

由于任务链数量可能极其庞大,你需要将最终结果对 998244353 取模。

输入格式

输入一个整数T表示样例组数(1≤T≤105)(1 \leq T \leq 10^5)。

每组样例输入两个整数n和m (1≤m≤n≤1e6)(1 \leq m \leq n \leq 1e6) 。

输出格式

输出共T行,输出任务链数量,最终结果对 998244353 取模。

样例 1

1
4 2
12

提示

选择 2 个任务,有: (1,2), (1,3), (1,4), (2,3), (2,4), (3,4) 共 C(4,2)=6 种。

每个集合可以任意排列: 2! = 2 种。

因此总方案数 = 6 × 2 = 12。