#include<bits/stdc++.h>
#include<algorithm>
using namespace std;
const int maxn=100010,maxm=7e6+10;
long long int u,v,q,a[maxn],t,n,m;
inline int read(){
int x=0,f=1;
char c=getchar();
while(c>'9'||c<'0'){
if(c=='-')f=-1;
c=getchar();
}
while(c>='0'&&c<='9'){
x=((x<<1)+(x<<3))+c-'0';
c=getchar();
}
return x*f;
}
inline void Init(){
n=read(),m=read(),q=read(),u=read(),v=read(),t=read();
for(int i=1;i<=n;i++)a[i]=read();
}
inline void Work(){
priority_queue<long long int> p;
if(m==0){
sort(a+1,a+1+n);
printf("\n");
for(int i=n;i>=1;i--){
printf("%lld ",a[i]);
}
}
else if(q==0){
for(int i=1;i<=n;i++)p.push(a[i]);
for(int i=1;i<=m;i++){
long long int x=p.top();p.pop();
p.push(x*u/v),p.push(x-x*u/v);
if(i%t==0){
printf("%lld ",x);
}
}
int i=1;
printf("\n");
while(p.size()){
long long int x=p.top();p.pop();
if(i%t==0){
printf("%lld ",x);
}
i++;
}
}
else{
}
}
int main(){
Init();
Work();
return 0;
}