#include <bits/stdc++.h>
using namespace std;
const int MAXN = 100005;
double a[MAXN], b[MAXN];
int n, T[MAXN], m;
long long k;
int x[MAXN], tot = 1;
struct dp {
int a[MAXN];
friend dp operator * (const dp &a, const dp &b)
{
dp ret;
for (register int i = 1; i < n; i++)
ret.a[i] = b.a[a.a[i]];
return ret;
}
} pt;
inline dp power(dp a, long long k)
{
dp ans;
for (int i = 1; i < n; i++) ans.a[i] = i;
for (; k; k >>= 1) {
if (k&1) ans = ans*a;
a = a*a;
}
return ans;
}
int main()
{
scanf("%d", &n);
for (int i = 1; i <= n; i++) scanf("%lf", &a[i]);
double s = a[1];
for (int i = 1; i <= n-1; i++) a[i] = a[i+1]-a[i], pt.a[i] = i;
scanf("%d%lld", &m, &k);
for (int i = 1; i <= m; i++) {
scanf("%d", &x[i]);
swap(pt.a[x[i]-1], pt.a[x[i]]);
}
pt = power(pt, k);
for (int i = 1; i < n; i++) b[pt.a[i]] = a[i];
b[0] = s;
for (int i = 1; i < n; i++) b[i] += b[i-1];
for (int i = 1; i <= n; i++)
printf("%.10lf\n", b[i-1]);
return 0;
}