code:
#include<iostream>
#include<iomanip>
using namespace std;
int main(){
double d1,c,d2,p;
int n;
cin>>d1>>c>>d2>>p>>n;
pair<double,double> l[n+1];
l[0].first=0;
l[0].second=p;
for(int i=1;i<=n;i++)cin>>l[i].first>>l[i].second;
double all=0,now=0;
if(now>c){
cout<<"No Solution";
return 0;
}
int zd=0;
for(int i=0;i<n;i++){
if(l[i]>l[zd]||now+(l[i+1].first-l[i].first)/d2>c){
all+=now*l[zd].second;
now=(l[i+1].first-l[i].first)/d2;
if(now>c){
cout<<"No Solution";
return 0;
}
zd=i;
}else{
now+=(l[i+1].first-l[i].first)/d2;
}
}
if(l[n]>l[zd]||now+(d1-l[n].first)/d2>c){
all+=now*l[zd].second;
now=(d1-l[n].first)/d2;
if(now>c){
cout<<"No Solution";
return 0;
}
all+=now*l[n].second;
}else{
now+=(d1-l[n].first)/d2;
all+=now*l[zd].second;
}
cout<<all<<endl;
return 0;
}