WA on #7,#15~18
#include<bits/stdc++.h>
using namespace std;
#define int int
int qy[100001];
struct nd{
int x,id;
};
queue<int>a;
queue<nd>b,c;
bool cmp(int a,int b){
return a>b;
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int n,m,q,u,v,t;
cin>>n>>m>>q>>u>>v>>t;
long double p=u*1.0/v;
for(int i=1;i<=n;i++) cin>>qy[i];
sort(qy+1,qy+n+1,cmp);
for(int i=1;i<=n;i++) a.push(qy[i]);
for(int i=1;i<=m;i++){
int ma=-1,f=1;
if(!a.empty()) ma=a.front()+(i-1)*q;
if(!b.empty()&&ma<b.front().x+(i-b.front().id-1)*q) ma=b.front().x+(i-b.front().id-1)*q,f=2;
if(!c.empty()&&ma<c.front().x+(i-c.front().id-1)*q) ma=c.front().x+(i-c.front().id-1)*q,f=3;
if(i%t==0) cout<<ma<<' ';
if(f==1) a.pop();
if(f==2) b.pop();
if(f==3) c.pop();
b.push({int(p*ma),i});
c.push({ma-int(p*ma),i});
}
cout<<'\n';
for(int i=1;i<=n+m;i++){
int ma=-1,f=1;
if(!a.empty()) ma=a.front()+(i-1)*q;
if(!b.empty()&&ma<b.front().x+(m-b.front().id)*q) ma=b.front().x+(m-b.front().id)*q,f=2;
if(!c.empty()&&ma<c.front().x+(m-c.front().id)*q) ma=c.front().x+(m-c.front().id)*q,f=3;
if(i%t==0) cout<<ma<<' ';
if(f==1) a.pop();
if(f==2) b.pop();
if(f==3) c.pop();
}
return 0;
}