#include using namespace std; #define ll long long #define pll pair #define pii pair #define fs first #define sc second const int mxn = 1010; const ll mod = 998244353; const ll inf = 1e18; pll dp[2][mxn]; inline ll mad(ll a,ll b){ a += b; return a>=mod?a-mod:a; } int main(){ ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); ll n,k; cin>>n>>k; pll arr[n]; for(auto &i:arr)cin>>i.fs; for(auto &i:arr)cin>>i.sc; bool roll = false; pll big = {0,1}; for(auto &i:dp)for(auto &j:i)j = {-inf,0}; dp[roll][0] = {0,1}; for(int i = 0;idp[roll][j].fs)dp[roll][j] = {tmp.fs+p.sc,tmp.sc}; else if(tmp.fs+p.sc == dp[roll][j].fs)dp[roll][j].sc = mad(dp[roll][j].sc,tmp.sc); } } for(int j = 0;j<=k;j++){ if(big.fs