#include <iostream>
using namespace std;
struct Product{
    int profit;
    int weight;
};
bool cmp(struct Prodcut a, struct Product b){
    double r1=(double)a.profit/(double)a.weight;
    double r2=(double)b.profit/(double)b.weight;
    return r1>r2;
}
void fractionalKnapsack(vector<Product> prd,int n,int w){
    sort(prd.begin(),prd.end(),cmp);
    double finalVal=0.0;
    for(int i=0;i<n;i++){
        if(prd[i].weight <= w){
            finalVal += prd[i].profit;
            w -= prd[i].weight;
        }
        else{
            finalVal += prd[i].profit * ((double)w/(double)prd[i].weight);
            break;
        }
    }
    cout<<finalval<<endl;
}
int main() {
    int n;
    cin>>n;
    vector<Product> prd(n);
    for(int i=0;i<n;i++){
        cin>>prd[i].profit>>prd[i].weight;
    }
    int w;
    cin>>w;
    fractionalKnapsack(prd,n,w);
    return 0;
}