'只适用于Python,过了本地测试&(10111)#39; n, k, d = [int(i) for i in input().strip().split(' &(5528)#39;)] res = [] count = 0 ' 排列' def A(n, m):     res = 1     for i in range(m, m-n, -1):         res *= i     return res '计算数组有多少种排列组合&(10110)#39; def c(arr):     a_dict = {}     for i in arr:         if i in a_dict.keys():             a_dict[i] += 1         else:             a_dict[i] = 1     l = len(arr)     res = A(l, l)     for i in a_dict.values():         res //= A(i, i)     return res " 依次获取所有的组合,但没有排列,用函数c计算每种有多少种排列" def f(rest, start, res):     global count     for i in range(start, rest+1):         if rest == i:             count = (count+c(res+[i])) % 998244353         if i == res[0]:             break         f3(rest-i, start=i, res=res+[i]) for i in range(d, k+1):     f3(n-i, 1, res=[i]) print(count)