rt
#include<bits/stdc++.h>
using namespace std;
double d1,c,a[20][10],d2,t2,t1,ans,maxx,oil;
int maxi,last,n,i,t3;
int main()
{
scanf("%lf%lf%lf%lf%d",&d1,&c,&d2,&t1,&n);
n++;
a[1][1]=0;
a[1][2]=t1;
for(i=2;i<=n;++i)scanf("%lf%lf",&a[i][1],&a[i][2]);
for(i=1;i<=n;)
{
oil-=(a[i][1]-a[last][1])/d2;
maxx=114514.0;maxi=0;
for(int j=i+1;j<=n&&(a[j][1]-a[i][1])<=c*d2;++j)
{
if(maxx>a[j][2])
{
maxx=a[j][2];
maxi=j;
}
}
if(maxi==0)break;
if(maxx>a[i][2])
{
ans+=(c-oil)*a[i][2];
oil=c;
last=i;
i=maxi;
}
else
{
ans+=((a[maxi][1]-a[i][1])/d2-oil)*a[i][2];
oil=(a[maxi][1]-a[i][1])/d2;
last=i;
i=maxi;
}
}
if((d1-a[i][1])/d2>c)
{
printf("No Solution");
exit(0);
}
ans+=((d1-a[i][1])/d2-oil)*a[i][2];
t3=ans*1000;
if(t3%10>=5)t3+=10;
ans=t3/1000.0;
printf("%.2lf",ans);
return 0;
}