#include <stdio.h>
#define mod 998244353
int n,m,k,z,i,ans=1,a[200005];
int fastpow(int x,int y)
{
int v=1;
while (y)
{
if (y&1) v=1LL*v*x%mod;
x=1LL*x*x%mod;
y>>=1;
}
return v;
}
int main()
{
register int i;
scanf("%d%d%d",&n,&m,&k);
for (i=1;i<=m;i++)
{
scanf("%d",a+i);
z=fastpow(k,a[i]-a[i-1]);
ans=(1LL*z*(z+1)/2%mod*ans)%mod;
}
printf("%I64d\n",1LL*ans*fastpow(k,n-a[m]*2)%mod);
return 0;
}