#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<queue>
#include<cstdlib>
#include<ctime>
using namespace std;
typedef long long ll;
ll n,m,q,u,v,delta,l[8000005],t;
queue<ll> a;
queue<ll> b;
queue<ll> c;
ll cmp(ll a,ll b){
return a>b;
}
ll get_max(){
ll x1,x2,x3;
x1=a.empty()?-1000000000000:a.front();
x2=b.empty()?-1000000000000:b.front();
x3=c.empty()?-1000000000000:c.front();
if(x1>=x2&&x1>=x3){
a.pop();
return x1;
}
else if(x2>=x1&&x2>=x3){
b.pop();
return x2;
}
else if(x3>=x1&&x3>=x2){
c.pop();
return x3;
}
}
int main()
{
scanf("%lld%lld%lld%lld%lld%lld",&n,&m,&q,&u,&v,&t);
for(ll i=1; i<=n; i++){
scanf("%lld",&l[i]);
}
sort(l+1,l+1+n,cmp);
for(ll i=1; i<=n; i++){
a.push(l[i]);
}
for(ll i=1; i<=m; i++){
ll x=get_max()+delta;
if(i%t0){
printf("%lld ",x);
}
b.push(xu/v-delta-q);
c.push(x-xu/v-delta-q);
delta+=q;
}
printf("\n");
for(ll i=1;i<=n+m;i++){
ll x=get_max()+delta;
if(i%t0){
printf("%lld ",x);
}
}
return 0;
}