#include using namespace std; int a[6000]; int n; long long mod = 998244353; void solve(int l, int r, int p) { long long dp[r-l+1][n+1]; for (int i=0; i<=r-l; i++) { for (int j=0; j<=n; j++) { dp[i][j] = 0; } } for (int i=0; i<=r-l; i++) { dp[i][0] = 1; } for (int i=0; i a[i]) { dp[k-l][0] = dp[k-l][0] * a[i]; dp[k-l][0] %= mod; continue; } for (int j=n; j>=1; j--) { dp[k-l][j] = dp[k-l][j] * (a[i] - 1); dp[k-l][j] %= mod; dp[k-l][j] += dp[k-l][j-1]; dp[k-l][j] %= mod; } dp[k-l][0] = dp[k-l][0] * (a[i] - 1); dp[k-l][0] %= mod; } } long long ans = 0; for (int i=0; i<=r-l; i++) { ans ^= dp[i][p]; } cout<>n>>q; for (int i=0; i>a[i]; } for (int i=0; i>l>>r>>p; solve(l, r, p); } }