module stats;

interface Stat
{
    void accumulate(double x);
    void postprocess();
    double result();
}

class Min : Stat
{
    private double min = double.max;
    
    void accumulate(double x)
    {
        if (x < min)
        {
            min = x;
        }
    }

    void postprocess() {} // Ни­че­го не де­лать
    
    double result()
    {
        return min;
    }
}

class Max : Stat
{
    private double max = double.min_normal;
    
    void accumulate(double x)
    {
        if (x > max)
        {
            max = x;
        }
    }

    void postprocess() {} // Ни­че­го не де­лать
    
    double result()
    {
        return max;
    }
}
