#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
inline int read()
{
char c=getchar();int num=0;
for(;!isdigit(c);c=getchar());
for(;isdigit(c);c=getchar())
num=num*10+c-'0';
return num;
}
const int N=8e6+5;
int n,m,q,u,v,t,lim;
int que[4][N],head[4],tail[4];
int len,pos,maxn;
int main()
{
// freopen("testdata.in","r",stdin);
// freopen("233.out","w",stdout);
n=read(),m=read(),q=read(),u=read(),v=read(),t=read();
for(int i=1;i<=n;++i)
que[0][i]=read();
sort(que[0]+1,que[0]+n+1,greater<int>() );
head[0]=1,tail[0]=n;
head[1]=head[2]=1;
for(int i=1;i<=m;++i)
{
maxn=-(1ll<<31)+1,pos=-1;
for(int j=0;j<3;++j)
{
if(head[j]<=tail[j]&&maxn<que[j][head[j]])
{
maxn=que[j][head[j]];
pos=j;
}
}
maxn+=len;
que[3][++tail[3]]=maxn;
que[1][++tail[1]]=1ll*maxn*u/v;
que[2][++tail[2]]=maxn-que[1][tail[1]];
len+=q;
que[1][tail[1]]-=len;
que[2][tail[2]]-=len;
++head[pos];
}
tail[3]=0;
for(int i=t;i<=m;i+=t)
cout<<que[3][i]<<' ';
puts("");
for(int i=1;i<=n+m;++i)
{
maxn=-(1ll<<31)+1,pos=-1;
for(int j=0;j<3;++j)
{
if(head[j]<=tail[j]&&maxn<que[j][head[j]])
{
maxn=que[j][head[j]];
pos=j;
}
}
que[3][++tail[3]]=maxn;
++head[pos];
}
for(int i=t;i<=n+m;i+=t)
cout<<que[3][i]+len<<' ';
return 0;
}