#include <bits/stdc++.h>
using namespace std;
struct Items {
int weight;
int value;
double value_per_weight;
};
bool cmpValuePerWeight(Items a, Items b) {
return a.value_per_weight > b.value_per_weight;
}
int main(void) {
Items item[100];
int n, c;
cin >> n;
for (int i = 0; i < n; i++) {
cin >> item[i].weight >> item[i].value;
item[i].value_per_weight = (double)item[i].value / item[i].weight;
}
cin >> c;
sort(item, item + n, cmpValuePerWeight);
double max_value = 0;
for (int i = 0; i < n; i++) {
if (c >= item[i].weight) {
max_value += item[i].value;
c -= item[i].weight;
} else {
max_value += item[i].value_per_weight * c;
break;
}
}
cout << fixed << setprecision(2) << max_value << endl;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpzdHJ1Y3QgSXRlbXMgewogICAgaW50IHdlaWdodDsKICAgIGludCB2YWx1ZTsKICAgIGRvdWJsZSB2YWx1ZV9wZXJfd2VpZ2h0Owp9OwoKYm9vbCBjbXBWYWx1ZVBlcldlaWdodChJdGVtcyBhLCBJdGVtcyBiKSB7CiAgICByZXR1cm4gYS52YWx1ZV9wZXJfd2VpZ2h0ID4gYi52YWx1ZV9wZXJfd2VpZ2h0Owp9CgppbnQgbWFpbih2b2lkKSB7CiAgICBJdGVtcyBpdGVtWzEwMF07CiAgICBpbnQgbiwgYzsKICAgIGNpbiA+PiBuOwoKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgY2luID4+IGl0ZW1baV0ud2VpZ2h0ID4+IGl0ZW1baV0udmFsdWU7CiAgICAgICAgaXRlbVtpXS52YWx1ZV9wZXJfd2VpZ2h0ID0gKGRvdWJsZSlpdGVtW2ldLnZhbHVlIC8gaXRlbVtpXS53ZWlnaHQ7CiAgICB9CgogICAgY2luID4+IGM7CgogICAgc29ydChpdGVtLCBpdGVtICsgbiwgY21wVmFsdWVQZXJXZWlnaHQpOyAKCiAgICBkb3VibGUgbWF4X3ZhbHVlID0gMDsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgaWYgKGMgPj0gaXRlbVtpXS53ZWlnaHQpIHsKICAgICAgICAgICAgbWF4X3ZhbHVlICs9IGl0ZW1baV0udmFsdWU7CiAgICAgICAgICAgIGMgLT0gaXRlbVtpXS53ZWlnaHQ7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbWF4X3ZhbHVlICs9IGl0ZW1baV0udmFsdWVfcGVyX3dlaWdodCAqIGM7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgIH0KCiAgICBjb3V0IDw8IGZpeGVkIDw8IHNldHByZWNpc2lvbigyKSA8PCBtYXhfdmFsdWUgPDwgZW5kbDsKCiAgICByZXR1cm4gMDsKfQ==