#只过了一个点 输入大概率有问题,但孩子不懂,求指教。
#include<bits/stdc++.h>
using namespace std;
double d1,d2,c,p1,p[600],d[600];
int main()
{
int c,l,n;
double s=0,m=0;
double a=p1,b=1234567.0;
cin>>d1>>c>>d2>>p1>>n;
for(int i=1;i<=n;i++)
cin>>d[i]>>p[i];
if(n==0)
{
if(d1>c*d2)
cout<<"No Solution"<<endl;
else
m=d1/d2*p1;
printf("%.2f/n",m);
}
else if((d1-d[n])>c*d2)
cout<<"No Solution"<<endl;
else
{
double t=c*d2;
int i=1;
while(1)
{
if((d1-s)<t)
{
m+=(d1-s)/d2*p[i];
printf("%.2f/n",m);
break;
}
if (p[i]<a)
{
a=p[i];
m+=(d[i]-s)/d2*p[i];
s+=d[i];
l=i;
}
if(p[i]<b)
{
b=p[i];
c=i;
}
if(b==a)
b=1234567;
i++;
if((d[i]-s)>t&&b!=1234567)
{
i=c;
if((d1-d[l])<(d1-d[n]))
c=(d1-d[l]-t)/d2;
m+=c*p[i];
s+=d[i];
b=1234567;
l=i;
}
if((d[i]-s)>t&&b==1234567)
{
cout<<"No Solution"<<endl;
break;
}
}
}
}