[PumpkinOI Round 1] 瓦解

题目背景

> 时间把镜头带走 不假思索 回忆不放手

题目描述

你手上有一个长为 $n$ 的数列 $a$。小 Q 想让你将其分成不超过 $m$ 段**非空**连续段,且每段内数字**严格单调递增**。现在小 Q 想知道一共有几种划分方案。由于方案数可能很大,你只需要告诉她方案数对 $998244353$ 取模的结果。

输入输出格式

输入格式


**本题包含多组测试数据。** 输入的第一行包含一个整数 $T$,表示测试数据的组数。 接下来包含 $T$ 组数据,每组数据格式如下: 第一行包含两个整数 $n,m$,分别表示数列长度和段数要求。 第二行包含 $n$ 个整数 $a_1,a_2\dots a_n$。

输出格式


对于每组测试数据输出一行,包含一个整数,表示方案数对 $998244353$ 取模的结果。

输入输出样例

输入样例 #1

2
3 2
2 3 1
10 5
7 10 9 23 1 6 7 8 9 20

输出样例 #1

1
29

说明

### 样例解释 - 对于第一组数据,只有 $[2,3],[1]$ 这一种方案。 ### 数据规模与约定 **本题采用捆绑测试。** - Subtask 0(0 pts):样例。 - Subtask 1(10 pts):$\sum n\le 10$。 - Subtask 2(20 pts):$\sum n\le 1000$。 - Subtask 3(10 pts):保证数列本身严格单调递增。 - Subtask 4(30 pts):$\sum n\le 10^6$。 - Subtask 5(30 pts):$\sum n\le 10^7$。 对于所有数据,保证 $1\le \sum n\le 10^7,1\le m\le n,1\le a_i\le 10^9$。