from sys import stdin, setrecursionlimit input = stdin.readline readline = stdin.readline # N=int(input()) # A=list(map(int, input().split())) L,K=map(int, input().split()) SS=input() TT=input() S=[];T=[] for i in range(L): S.append(ord(SS[i])-ord('a')) T.append(ord(TT[i])-ord('a')) A=list(map(int, input().split())) su=sum(A) mod=998244353 bb=pow(su,-1,mod) #bb=1 dp=[[0]*(2*L+10) for i in range(L)] dp[0][0]=1 for _ in range(K): ndp=[[0]*(2*L+10) for _ in range(L)] for a in range(L): for j in range(-L,L+1): d=dp[a][j] if abs(j)==L: ndp[a][j]+=d ndp[a][j]%=mod else: b=(a-j)%L ax,bx=S[a],T[b] if ax==bx: c=A[ax]*bb%mod ndp[(a+1)%L][j]+=d*c ndp[(a+1)%L][j]%=mod c=(su-A[ax])*bb%mod ndp[a][j]+=d*c ndp[a][j]%=mod else: c=A[ax]*bb%mod ndp[(a+1)%L][j+1]+=d*c ndp[(a+1)%L][j+1]%=mod c=A[bx]*bb%mod ndp[a%L][j-1]+=d*c ndp[a%L][j-1]%=mod c=(su-A[ax]-A[bx])*bb%mod ndp[a][j]+=d*c ndp[a][j]%=mod dp=ndp x,y=0,0 for a in range(L): for j in range(-L,L+1): if j==-L: x+=dp[a][j] x%=mod elif j==L: y+=dp[a][j] y%=mod print(y,x)