#include<bits/stdc++.h>
using namespace std;
int n,m,q,u,v,t,a[7000005],be1,be2,be3,q2,q3,ans1[7000005],ans[7000005];
int num,sum,b[7000005],c[7000005],s1,s2,sum1;
bool cmp(int a,int b)
{
return a>b;
}
int main()
{
scanf("%d%d%d%d%d%d",&n,&m,&q,&u,&v,&t);
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
sort(a+1,a+n+1,cmp);
be1=1;
be2=1;
be3=1;
q2=0;
q3=0;
num=0;
for(int i=1;i<=m;i++)
{
int max1=max(max(a[be1],b[be2]),c[be3]);
if(max1==a[be1])
ans1[i]=a[be1]+(i-1)*q,be1++;
else if(max1==b[be2])
ans1[i]=b[be2]+(i-1)*q,be2++;
else if(max1==c[be3])
ans1[i]=c[be3]+(i-1)*q,be3++;
q2++;
q3++;
s1=ans1[i]*u/v;
s2=ans1[i]-s1;
if(s1<s2)swap(s1,s2);
b[q2]=s1-i*q;
c[q3]=s2-i*q;
}
for(int i=be1;i<=n;i++)
{
num++;
ans[num]=a[i]+(m)*q;
}
for(int i=be2+1;i<=q2;i++)
{
num++;
ans[num]=b[i]+(m)*q;
}
for(int i=be3+1;i<=q3;i++)
{
num++;
ans[num]=c[i]+(m)*q;
}
sort(ans+1,ans+num+1,cmp);
for(int i=1;i<=m;i++)
{
if(i%t==0)
{
printf("%d ",ans1[i]);
}
}
printf("\n");
for(int i=1;i<=num;i++)
{
if(i%t==0)
printf("%d ",ans[i]);
}
return 0;
}