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;int zd=0;
if(now>c){cout<<"No Solution";return 0;}
for(int i=0;i<n;i++){
if(l[i].second<=l[zd].second||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].second<=l[zd].second||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;
}
if(all/0.001>=5)all+=0.01;
all/=0.01;all=double(int(all));all*=0.01;
cout<<all<<endl;
return 0;
}