#include <cstdio>
#include <cstring>
#define MAXN 100010
#define LL long long

int n,m;
LL v[MAXN],ans[MAXN],K;
int a[MAXN];
int p[MAXN];
bool visit[MAXN];

void gao(int x){
	static int b[MAXN];
	int numb=0;
	b[numb++]=x;
	visit[x]=1;
	for(int i=a[x];i^x;i=a[i]){
		b[numb++]=i;
		visit[i]=1;
	}
	for(int i=0;i<numb;i++){
		int x=b[i];
		p[x]=b[(K+i)%numb];
	}
}

int main(){
#ifdef DEBUG
	freopen("C.in","r",stdin);
#endif
	scanf("%d",&n);
	for(int i=1;i<=n;i++) scanf("%lld",v+i),a[i]=i;
	for(int i=n;i>=2;i--) v[i]-=v[i-1];
	scanf("%d%lld",&m,&K);
	while(m--){
		int t;
		scanf("%d",&t);
		a[t]^=a[t+1]^=a[t]^=a[t+1];
	}
	for(int i=1;i<=n;i++)
		if(!visit[i])
			gao(i);
	for(int i=1;i<=n;i++)
		ans[i]=v[p[i]];
	for(int i=2;i<=n;i++)
		ans[i]+=ans[i-1];
	for(int i=1;i<=n;i++) printf("%.1lf\n",(double)ans[i]);
}
