#include<stdio.h>
#include<stdlib.h>
#include<math.h>
main(){
	int N,M,*A,*B,i,j,C; long long X,x=0;
	scanf("%d%d",&N,&M);
	A=(int*)calloc(N,sizeof(int));
	B=(int*)calloc(M,sizeof(int));
	for(i=1;i<=M;i++) scanf("%d",&B[i]);
	scanf("%d",&C);
	for(i=0;i<N;i++) A[i]=i+1;
	for(i=0;i<=N-M;i++) 
	  for(j=1;j<=M;j++) A[i+B[j]]=A[i+j];
	for(i=1;i<=N;i++) x+=(long long)pow(C,i)*A[i];
	X=x%998244353;
	printf("%lld",X);
}