import java.util.Collection;
import java.util.Arrays;
import java.util.Scanner;

public class MAin {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        Item[] niza = new Item[n];
        for(int i = 0; i < n; i++) {
            double w = sc.nextDouble();
            double v = sc.nextDouble();
            niza[i] = new Item(w, v);
        }
        for(int i = 0; i < n; i++) {
            for(int j = i + 1; j < n; j++) {
                if(niza[i].razmer < niza[j].razmer) {
                    Item tmp = niza[i];
                    niza[i] = niza[j];
                    niza[j] = tmp;
                }
            }
        }
        double capacity = sc.nextDouble();
        double totalValue = 0;
        for(int i = 0; i < n; i++) {
            if(capacity - niza[i].weight >= 0) {
                totalValue += niza[i].value;
                capacity -= niza[i].weight;
            }
            else {
                double del = capacity / niza[i].weight;
                totalValue += (del * niza[i].value);
                capacity -= (del * niza[i].weight);
            }
        }
        for(int i = 0; i < n; i++) {
            System.out.println(niza[i].weight + " " + niza[i].value + " " + niza[i].razmer);
        }
        System.out.println(totalValue);
    }
    static class Item {
        double weight, value;
        double razmer;
        Item(double weight, double value) {
            this.weight = weight;
            this.value = value;
            razmer = value / weight;

        }
    }
}
// 50- 10 - 20 = 20
// 60 + 100 +