#include <bits/stdc++.h>
using namespace std;
struct yz {
float md, mp;
}a[5000];
int main() {
float d, c, dl, p;
int n;
cin >> d >> c >> dl >> p >> n;
for (int i = 1; i <= n; i++) cin >> a[i].md >> a[i].mp;
a[0].md = 0;
a[0].mp = p;
a[n + 1].md = d;
a[n + 1].mp = 0;
float ans = 0, you = c;
for (int i = 1; i <= n + 1; i++) {
you -= (a[i].md - a[i - 1].md) / dl;
if (you < 0) {
cout << "No Solution";
return 0;
} else you = c;
}
int j;
for (int i = 0; i <= n; i=j) {
for (j = i + 1; j <= n + 1; j++) {
if (c * dl < a[j].md - a[i].md) {
j--;
break;
}
if (a[j].mp < a[i].mp)break;
}
ans += a[i].mp * ((a[j].md - a[i].md) / dl);
}
printf("%.2f",ans);
return 0;
}