#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
double d[10], p[10], cost = 0, l, v;
int n;
double qe, sj, sxmax, V = 0, sje;
int main()
{
memset(d, -1, sizeof(d));
memset(p, -1, sizeof(p));
cin >> qe >> l >> v >> p[0] >> n;
d[0] = 0;
d[n + 1] = qe;
p[n + 1] = 0;
sxmax = l * v;
for (int i = 1; i <= n; i ++ )
cin >> d[i] >> p[i];
for (int i = 0; i <= n ;i ++ )
{
sj = d[i + 1] - d[i];
if (sj > sxmax)
{
cout << "No Solution" << endl;
return 0;
}
if (p[i + 1] < p[i])
{
if (sj / v < V) {V -= (sj / v); continue;}
cost += (sj / v - V) * p[i];
V = 0;
continue;
}
else
{
for (int j = 2; (j + i) <= n + 1; j ++ )
{
if (p[j + i] < p[i])
{
sje = d[i + j] - d[i];
if (sxmax > sje)
{
cost += (sje / v - V) * p[i];
V = 0;
i += (j - 1);
}
else
{
cost += (sxmax / v - V) * p[i];
V = sxmax / v - sj / v;
}
break;
}
}
}
}
printf ("%.2f" ,cost);
return 0;
}