#include <bits/stdc++.h> using namespace std; typedef long long ll; const int INF=0x3f3f3f3f; const ll LLINF=0x3f3f3f3f3f3f3f3fLL; const int MAX=1e6+10; const int mod=998244353; ll qpow(ll a,ll b) { ll res=1; while(b>0) { if(b&1) res=res*a%mod; a=a*a%mod; b>>=1; } return res; } ll inv(ll x){return qpow(x,mod-2);} int cnt[MAX],res[MAX]; int main() { int n,m,k,i,j,x; ll fz,fm; scanf("%d%d%d",&n,&m,&k); for(i=1;i<=n;i++) cnt[i]=res[i]=0; for(i=1;i<=m;i++) { scanf("%d",&x); cnt[x]++; } for(i=1;i<=n;i++) { for(j=i;j<=n;j+=i) res[j]+=cnt[i]; } fz=0; fm=qpow(m,k); for(i=1;i<=n;i++) { fz=(fz+fm-qpow(m-res[i],k)+mod)%mod; } printf("%lld\n",fz*inv(fm)%mod); return 0; }