from collections import defaultdict mod=998244353 n,k=map(int,input().split()) C=list(map(int,input().split())) D=list(map(int,input().split())) dic=defaultdict(int) dic[(0,0)]=1 dp=[-1]*(k+1) dp[0]=0 for i in range(k): if dp[i]==-1:continue for j in range(n): if i+C[j]<=k: if dp[i+C[j]]<=dp[i]+D[j]: dp[i+C[j]]=dp[i]+D[j] dic[(i+C[j],dp[i]+D[j])] += dic[ (i,dp[i]) ] dic[(i+C[j],dp[i]+D[j])]%=mod maxC=max(dp) ans=0 for i in range(k+1): if dp[i]==maxC: ans+=dic[(i,maxC)] ans%=mod print(maxC) print(ans)