#include <bits/stdc++.h>
using namespace std;
const int maxn=5007;
double d1,d2,p,c,D[maxn],P[maxn];
double maxd,mini=10000.0;
int n;
bool f=false;
int dfs(double sum,int p,int bp){
if((D[p]-D[bp])>maxd)return 987654.2;
else{
sum+=((D[p]-D[bp])/d2)*P[bp];
if(p==n+2){
mini=min(mini,sum);
cout<<sum<<endl;
f=true;
return -2.0;
}
else{
for(int i=p+1;i<=n+2;++i)dfs(sum,i,p);
}
}
}
int main(){
cin>>d1>>c>>d2>>p>>n;
for(int i=2;i<=n+1;++i)cin>>D[i]>>P[i];
D[1]=0;
D[n+2]=d1;
P[1]=p;
maxd=c*d2;
dfs(0,1,1);
if(f==false)cout<<"No Solution"<<endl;
if(f==true)cout<<fixed<<setprecision(2)<<mini<<endl;
return 0;
}