#include<iostream>
#include<algorithm>
using namespace std;
double l,c,k,d[10],p[10];int n;
double price(int now,double cnt,double oil)
{
if(now==n+1) return cnt;
int i=now+1;
double ans=5000;
while(d[i]-d[now]<=c*k && i<=n+1)
{
ans=min(ans,price(i,((d[i]-d[now])/k-oil)*p[now]+cnt,0));
i++;
}
if(i>n+1)
for(int j=now+1;j<=i-1;j++)
ans=min(ans,price(j,cnt+(c-oil)*p[now],c-(d[j]-d[now])/k));
return ans;
}
int main()
{
cin>>l>>c>>k>>p[0]>>n;
d[0]=0;
d[n+1]=l;
p[n+1]=0;
for(int i=1;i<=n;i++)
cin>>d[i]>>p[i];
double z=price(0,0,0);
if(z==5000)
{
cout<<"No Solution";
return 0;
}
printf("%.2lf",z);
return 0;
}