#include<bits/stdc++.h>
using namespace std;
#define int long long
const int bit=2e2+5,N=1e2+5,mod=998244353;
int n,m,k,v[N],dp[bit+5][N][N][N],C[bit+5][bit+5];
int ksm(int x,int n){
int ret=1;
while(n){
if(n%2){
ret=ret*x%mod;
}
x=x*x%mod,n/=2;
}
return ret;
}
signed main(){
cin>>n>>m>>k;
for(int i=0;i<=m;i++){
cin>>v[i];
}
for(int i=0;i<=bit;i++){
C[i][0]=1;
for(int j=1;j<=i;j++){
C[i][j]=(C[i-1][j-1]+C[i-1][j])%mod;
}
}
for(int i=0;i<=n;i++){
dp[0][i][i/2][i%2]=ksm(v[0],i);
}
for(int i=0;i<bit;i++){
for(int j=0;j<=n;j++){
for(int k=0;k<=n;k++){
for(int l=0;l<=n;l++){
if(i+1<=m){
for(int num=0;num<=n-j;num++){
dp[i+1][j+num][(k+num)/2][l+(k+num)%2]=(dp[i+1][j+num][(k+num)/2][l+(k+num)%2]+dp[i][j][k][l]*ksm(v[i+1],num)*C[num+j][num]%mod)%mod;
}
}
else{
int num=0;
dp[i+1][j+num][(k+num)/2][l+(k+num)%2]=(dp[i+1][j+num][(k+num)/2][l+(k+num)%2]+dp[i][j][k][l]*ksm(v[i+1],num)*C[num+j][num]%mod)%mod;
}
}
}
}
}
int ans=0;
for(int i=0;i<=k;i++){
ans=(ans+dp[bit][n][0][i])%mod;
}
cout<<ans;
}