def nCr(n,r): return (F[n]*G[r]*G[n-r])%Mod N,M,P=map(int,input().split()) V=list(map(int,input().split())) V.sort(reverse=True) Mod=10**9+7 Inv_100=pow(100,Mod-2,Mod) p=(1-P*Inv_100)%Mod F=[1]*(N+M) for i in range(1,N+M): F[i]=(F[i-1]*i)%Mod G=[1]*(N+M) G[-1]=pow(F[-1],Mod-2,Mod) for i in range(N+M-2,-1,-1): G[i]=(G[i+1]*(i+1))%Mod X=0 Prob=0 base=pow(1-p,M,Mod) v=0 for k in range(N): s=(nCr(M+k-1,k)*pow(p,k,Mod)*base)%Mod Prob+=s Prob%=Mod X+=v*s X%=Mod v+=V[k] v%=Mod X+=v*(1-Prob) X%=Mod print(X)