#include <bits/stdc++.h>
using namespace std;
int n,m,q,u,v,t;
long long longer = 0;
priority_queue<long long> b;
deque<long long> ans;
inline void read(int& qwq){
int awa = 0,w = 1;
char ch = getchar();
while(ch < '0' || ch > '9'){
if(ch == '-') w = -1;
ch = getchar();
}
while(ch >= '0' && ch <= '9'){
awa = awa * 10 + ch - '0';
ch = getchar();
}
qwq = awa * w;
}
void write(long long x) {
if(x < 0) putchar('-'),x = -x;
if(x > 9) write(x / 10);
putchar(x % 10 + '0');
}
void scan(){
cin>>n>>m>>q>>u>>v>>t;
int temp = 0;
for(int i=1;i<=n;i++){
read(temp);
b.push(temp);
}
}
void moni(){
double t = u / v;
long long op = 0,p1 = 0,p2 = 0,ptemp = 0;
for(int i=1;i<=m;i++){
op = b.top() + longer;
b.pop();
ans.push_back(op);
// p1 = floor(t * op) - longer,p2 = op - floor(t * op) - longer;
ptemp = t * op;
p1 = ptemp - longer,p2 = op - ptemp - longer;
b.push(p1),b.push(p2);
longer += q;
}
}
void print(){
while(!ans.empty()){
for(int i=1;i<t;i++) if(!ans.empty()) ans.pop_front();
if(!ans.empty()) write(ans.front());
putchar(' ');
if(!ans.empty()) ans.pop_front();
}
cout<<endl;
while(!b.empty()){
for(int i=1;i<t;i++) if(!b.empty()) b.pop();
if(!b.empty()) write(b.top() + longer);
putchar(' ');
if(!b.empty()) b.pop();
}
}
int main(){
scan();
moni();
print();
return 0;
}
3 7 1 1 3 1
3 3 2
3 4 5 6 7 8 9
10 10 9 7 6 5 4 3 2 1