#include<bits/stdc++.h>
using namespace std;double D,c,d,ans = 1e9,di[15],p[15];int n;
void dfs(int now,double el,double minn,double anss)
{
if(anss >= ans) return;
if(!(now^(n+1)))
{
ans = anss;
return;
}
if(minn > p[now]) el = 0,minn = p[now];
double tmp = (di[now+1]-di[now])/d;
if(el+tmp <= c) dfs(now+1,el+tmp,minn,anss+minn*tmp);
dfs(now+1,tmp,p[now],anss+p[now]*tmp);
return;
}
int main()
{
ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin >> D >> c >> d >> p[0] >> n;di[n+1] = D;
for(int i(1);i <= n;++i)
{
cin >> di[i] >> p[i];
if((di[i]-di[i-1])/d > c)
{
cout << "No Solution";
return 0;
}
}
dfs(0,0,p[0],0);printf("%.2f",ans);
}
#5 WA