#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int maxn=2e5+10;
queue<ll>q1,q2,q3;
ll a[maxn],n,m,q,u,v,t;
int main()
{
cin>>n>>m>>q>>u>>v>>t;
double p=(double)(u*1.0/(double)v);
for(int i=1;i<=n;i++) cin>>a[i];
sort(a+1,a+n+1);
for(int i=n;i>=1;i--)q1.push(a[i]);
ll cnt=1;
if(m!=0)
{
q1.pop();
if(cnt%t==0)cout<<a[n]<<" ";
q2.push(max((ll)(p*a[n]),a[n]-(ll)(p*a[n]))-q);
q3.push(min((ll)(p*a[n]),a[n]-(ll)(p*a[n]))-q);
}
double maxx,x,y,z;
for(int i=2;i<=m;i++)
{
cnt++;
x=q1.size()>0?q1.front():-0x7fffff;
y=q2.size()>0?q2.front():-0x7fffff;
z=q3.size()>0?q3.front():-0x7fffff;
maxx=max(x,max(y,z));
if(maxx==x)q1.pop();
else if(maxx==y)q2.pop();
else q3.pop();
maxx+=q*(i-1);
if(cnt%t==0)cout<<(int)maxx<<" ";
q2.push(max(floor(p*maxx),(ll)maxx-floor(p*maxx))-q*i);
q3.push(min(floor(p*maxx),(ll)maxx-floor(p*maxx))-q*i);
}
cout<<endl;
cnt=0;
while(q1.size()||q2.size()||q3.size())
{
cnt++;
x=q1.size()>0?q1.front():-0x7ffffff;
y=q2.size()>0?q2.front():-0x7ffffff;
z=q3.size()>0?q3.front():-0x7ffffff;
maxx=max(x,max(y,z));
if(maxx==x)q1.pop();
else if(maxx==y)q2.pop();
else q3.pop();
if(cnt%t==0)cout<<(ll)(maxx+q*m)<<" ";
}
return 0;
}