#include <bits/stdc++.h>
#define int unsigned long long
#define boost ios_base::sync_with_stdio(0);cin.tie(0);
const int inf=1e18;
const int N=2e5+100;
const int N1=1e5+5;
const int mod=1e9+7;
const int k1=sqrt(N1);
using namespace std;
int dp[3005][3005];
int dp1[3005][3005];
int v[N];
vector<int>v1;
signed main(){
boost;
int n,m,k;
cin>>n>>m>>k;
int a,b,c;
cin>>a>>b>>c;
int t;
cin>>t;
int ans=0;
for(int i=1;i<=m;i++){
cin>>v[i];
if((v[i]-1)*b<=t){
ans++;
}
}
ans--;
for(int i=1;i<m;i++){
if((v[i]-1)*b>t){
break;
}
int r=v[i+1]-1;
if(v[i]==r){
continue;
}
int cnt2=(v[i]-1)*b;
int cnt3=(t-cnt2)/a;
cnt3=min(cnt3,r-v[i]);
int l=v[i]+cnt3;
ans+=cnt3;
if(l==r){
continue;
}
for(int j=1;j<=k-m;j++){
int cnt4=((l+1)-v[i])*c;
cnt4+=cnt2;
if(cnt4>t){
break;
}
cnt3=(t-cnt4)/a;
cnt3++;
cnt3=min(cnt3,r-l);
v1.push_back(cnt3);
l+=cnt3;
if(l==r){
break;
}
}
}
sort(v1.begin(),v1.end());
reverse(v1.begin(),v1.end());
int mx=0;
int cnt5=k-m;
int cnt6=v1.size();
for(int i=0;i<min(cnt5,cnt6);i++){
ans+=v1[i];
}
cout<<ans;
}