public class Triangle
{
    public double a;
    public double b;
    public double c;

    
    public Triangle(double a, double b, double c)
    {
        // Eric Liu
        
        if (radicand(a, b, c) < 0) {
            throw new IllegalArgumentException("Not a valid triangle");
        }
        this.a = a;
        this.b = b;
        this.c = c;
    }
    public double area()
    {
        //Pratham
        return Math.sqrt(radicand(a, b, c));
    }
    public double diameter()
    {
    //Jack 
        return Math.max(a, Math.max(b,c));
    }
    public double perimeter()
    {
    //Chris
        return a + b + c;
    }
    public int numSides()
    {
        return 3;
    }
    //poopsmith
    private static double radicand(double a, double b, double c)
    {
        double s = (a + b + c)/2.0;
        return s*(s - a)*(s - b)*(s -c);
    }
}