#include<bits/stdc++.h>
using namespace std;
const int maxn=1e5+5;
long long n,m,k,A[maxn],C[maxn],a[maxn],p=998244353,ans=1;
long long inv(long long x,long long mod)
{
long long res=1;
while(mod)
{
if(mod&1) res=res*x%p;
x=x*x%p;
mod=mod/2;
}
return res;
}
long long c(long long x,long long y)
{
if (x < 0 || y < 0 || x<y)return 0;
return A[x]%p*C[y]%p*C[x-y]%p;
}
int main()
{
scanf("%lld%lld%lld",&n,&m,&k);
for(int i=1;i<=m;i++)
{
scanf("%lld",&a[i]);
}
A[0]=C[0]=1;
for(int i=1;i<=n;i++)
{ A[i]=A[i-1]*i%p;
C[i]=C[i-1]*inv(i,p-2)%p;
}
for(int i=1;i<=m;i++)
{ ans=ans*(c(n-k,a[i])%p*inv(c(n,k),p-2)%p)%p;
printf("%lld\n",ans%p);
}
return 0;
}