#include <iostream>
#include <string.h>
#include <iomanip>
#include <algorithm>
using namespace std;
double d[10], p[10];
int main() {
double cid, C, oid, dx;
int n;
cin >> cid >> C >> oid >> n;
for (int i = 1;i <= n;i++) {
cin >> d[i] >> p[i];
}
double nc=0, nm=0;
for (int i = 1;i <= n;i++) {
if (d[i+1] > C*oid+d[i] || (i==n&&d[i]+C*oid)) {
cout << "No Solution";
return 0;
}
int i2 = -1;
for (int j = i+1;d[j]-d[i] <= C*oid&&j <= n;j++) {
if (p[j] <= p[i]) {
i2 = j;
}
}
if (i2 == -1) {
if (cid <= C*oid+d[i]) {
nm += (cid - d[i]) / oid * p[i];
break;
}
else {
nm += (C-nc)*p[i];
nc = C-(d[i+1]-d[i])/oid;
}
}
else {
if (nc >= (d[i2]-d[i])/oid) {
nc -= (d[i2]-d[i])/oid;
}
else {
nm += ((d[i2]-d[i])/oid-nc)*p[i];
nc = 0;
}
}
}
cout << setprecision(2)<< nm;
return 0;
}