import java.util.Scanner;
public class Triangle
{
  private double x[];
  private double y[];

  private Triangle(double x1, double y1, double x2, double y2, double x3, double y3)
  {
    x = new double[3];
    y = new double[3];

    x[0] = x1;
    x[1] = x2;
    x[2] = x3;
    y[0] = y1;
    y[1] = y2;
    y[2] = y3;
  }

  public static double distance(double x1, double y1, double x2, double  y2)
  {
    return Math.sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2));
  }

  public double perimeter()
  {
    double retval = 0.0;
/*
    double side1 = distance(x[0],  y[0], x[1], y[1]);
    double side2 = distance(x[1],  y[1], x[2], y[2]);
    double side3 = distance(x[2],  y[2], x[0], y[0]);
    return side1 + side2 + side3;
*/
    for(int i = 0; i < 3; i++)
    {
      retval += distance(x[i], y[i], x[(i+1)%3], y[(i+1)%3]);
    }
    return retval;
  }



  public static void main(String args[])
  {
    Scanner kb = new Scanner(System.in); 
    double x1, y1, x2, y2, x3, y3; 

    System.out.print("Enter the first vertex (x-coord y-ccord):");
    x1 = kb.nextDouble();
    y1 = kb.nextDouble();
    System.out.print("Enter the second vertex (x-coord y-ccord):");
    x2 = kb.nextDouble();
    y2 = kb.nextDouble();
    System.out.print("Enter the second vertex (x-coord y-ccord):");
    x3 = kb.nextDouble();
    y3 = kb.nextDouble();
      
    Triangle t = new Triangle(x1, y2, x2, y2, x3, y3);
    double perim = t.perimeter();
    System.out.println("The perimeter is " + perim);
//Optional
    double a = distance(x1, y1, x2, y2);
    double b = distance(x2, y2, x3, y3);
    double c = distance(x3, y3, x1, y1);
    double s = perim / 2.0;

    double area = Math.sqrt(s * (s-a) * (s-b) * (s-c));
    System.out.println("The area is " + area);
  }
}
