#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 5;
const int mod = 998244353;
long long powmod(long long x, long long k) {
  long long res = 1;
  for (; k; k >>= 1, x = x * x % mod)
    if (k & 1) res = res * x % mod;
  return res;
}
int n, m, A;
int a[N];
int main() {
  cin >> n >> m >> A;
  long long inv2 = powmod(2, mod - 2);
  for (int i = (1); i < (m + 1); i++) scanf("%d", &a[i]);
  long long ans = 1;
  for (int i = (1); i < (m + 1); i++) {
    int len = a[i] - a[i - 1];
    long long k = powmod(A, len);
    ans = ans * (k * (k - 1) % mod * inv2 % mod + k) % mod;
  }
  ans = ans * powmod(A, n - a[m] * 2) % mod;
  printf("%lld\n", ans);
  return 0;
}
