下降幂每次都重新计算会TLE :)
#include <cstdio>
#include <assert.h>
using namespace std;
using ll = long long;
const int mod = 998244353;
ll s[(int)2e3 + 9][(int)2e3 + 9] = {1};
ll n, m, k, tt;
ll cal(ll x, ll t)
{
ll res = 1;
for (ll i = x; i >
#include <cstdio>
#include<assert.h>
using namespace std;
using ll = long long;
const int mod = 998244353;
template <int MOD, int RT>
struct mint
{
static const int mod = MOD;
static constexpr mint rt() { return RT; } // primitive