#include<iostream>
#include<cstdio>
using namespace std;
double d1,c,d2,p0;
int n,i;
double d[10],p[10];
double nc,minn;
int main(){
scanf("%lf%lf%lf%lf%ld",&d1,&c,&d2,&p0,&n);
for(int i=1;i<=n;i++){
scanf("%lf%lf",&d[i],&p[i]);
}
p[0]=p0,d[n+1]=d1;//!!!!
n+=1;
while(i<n){
int ffmin;
if(((d[i+1]-d[i])*1.0/d2)>c){
cout<<"No Solution";
return 0;
}
for(int j=i+1;j<=n;j++){
if(p[i]>=p[j]){
ffmin=j;
break;
}
}
double gof=(d[ffmin]-d[i])*1.0/d2;
if(gof<c){
//cout<<i<<"->"<<ffmin<<endl;
//cout<<"需要"<<gof;
if(gof<=nc){
i=ffmin,nc-=gof;
}else{
minn+=((gof-nc)*1.0*p[i]);
i=ffmin,nc=0;
}
//cout<<"还有"<<nc<<endl;
}else{
int smind,sminp=0x3f3f3f3f;
for(int j=i+1;((d[j]-d[i])*1.0/d2)<=c;j++){
if(p[j]<=sminp){
sminp=p[j],smind=j;
}
}
//cout<<i<<"->"<<smind<<endl;
minn+=((c-nc)*1.0*p[i]);
i=smind,nc=(c-(d[smind]-d[i])*1.0/d2);
//cout<<"还有"<<nc<<endl;
}
//cout<<minn<<endl;
}
printf("%.2lf",minn);
}
我输出的174.65