#include<stdio.h>
#include <math.h>
# define DUZ 1000

main()
{
	long long M, N, X1;
	int B[DUZ];
	int A[DUZ];
	int i,j, C, X;
	//printf("Unesite briojeve za N i M\n");
	scanf("%lld %lld", &N, &M);
	//printf ("Unesite elemente matrice B\n");
	for (i=1; i<=M; i++){
	printf("Uneti element niza B:\n");
		scanf("%d", &B[i]);
	}
	// Test za niz B
//	printf(" Test za niz B\n");
	//	for (i=1;i<=M;i++){
	//	printf(" %d",B[i]);}
	
	for (i=1;i<=N;i++){
		A[i]=i;
	}
		// Test za niz A
	//	printf(" Test za niz A\n");
	//	for (i=1;i<=N;i++){
	//	printf(" %d",A[i]);
//	}
	for(i=0;i<=N-M; i++){
	
 		for (j=1; j<=M; j++){
 	  	A[i + B[j]] = A[i + j];}
 	 }
  //	printf(" Drugi Test za niz A\n");
	//	for (i=1;i<=N;i++){
	//	printf(" %d",A[i]);}
		
	//	printf ("\nUnesite ceo broj C\n");
		scanf("%d", &C);
		X1=0;
		for (i=0;i<=N;i++){
			X1=X1+pow(C,i)*A[i];
		}
		X=fmod(X1,998244353);
		printf( "%d\n", X);
 		
 		return 0;
 		
 		
 		
 		
 		
 		
 		
 		
 		
}