#include <bits/stdc++.h>
#define exit \
{ \
cout << "No Solution"; \
return 0; \
}
using namespace std;
const int N = 100;
double dis[N], p[N];
double V, x, D;
double you, ans;
int n;
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin >> x >> V >> D >> p[0] >> n;
dis[n + 1] = x;
for (int i = 1; i <= n; i++) {
cin >> dis[i] >> p[i];
if (dis[i] - dis[i - 1] > V * D) exit;
}
if (dis[n + 1] - dis[n] > V * D) exit;
for (int i = 0; i <= n; i++) {
int j;
for (j = i + 1; j <= n; j++)
if (p[j] < p[i]) break;
if (dis[j] - dis[i] <= you * D) {
you -= (dis[j] - dis[i]) * 1.0 / D;
i = j - 1;
} else if(dis[j] - dis[i] <= V * D){
ans += (you - (dis[j] - dis[i]) * 1.0 / D) * p[i];
you = 0;
i = j - 1;
} else {
ans += (V - you) * p[i];
you = V;
int minn = i + 1;
j = i;
while(you >= (dis[j + 1] - dis[i]) * 1.0 / D) {
if(p[minn] > p[j + 1])
minn = j + 1;
j++;
}
you -= (dis[minn] - dis[i]) * 1.0 / D;
i = j - 1;
you = 0;
}
}
printf("%.2f", -ans);
}