#include<cstdio>
#include<algorithm>
#include<cstring>
#include<queue>
using namespace std;
long long n,m,u,v,q,t,a[100005];
queue<long long> q1,q2,q3;
priority_queue<long long>ans;
bool cmp(long long a,long long b){return a>b;}
int main(){
scanf("%lld%lld%lld%lld%lld%lld",&n,&m,&q,&u,&v,&t);
for(int i=0;i<n;++i)scanf("%lld",a+i);
sort(a,a+n,cmp);
for(int i=0;i<n;++i)q1.push(a[i]);
for(long long i=0,l,l1,l2;i<m;++i){
l=max(max(q1.empty()?-1:q1.front(),q2.empty()?-1:q2.front()),q3.empty()?-1:q3.front());
if(!q1.empty()&&l==q1.front())q1.pop();
else if(!q2.empty()&&l==q2.front())q2.pop();
else q3.pop();
l+=i*q;
q2.push(l*u/v-(i+1)*q),q3.push(l-l*u/v-(i+1)*q);
if((i+1)%t==0)printf("%lld ",l);
}
while(!q1.empty())ans.push(q1.front()),q1.pop();
while(!q2.empty())ans.push(q2.front()),q2.pop();
while(!q3.empty())ans.push(q3.front()),q3.pop();
putchar('\n');
for(int i=1;!ans.empty();++i){
if(i%t==0)printf("%lld ",ans.top()+m*q);
ans.pop();
}
return 0;
}