class Point {

  TPH x;
  TPH y;
Point(TPH x, TPH y){
    super(());
    this.x = x;
    this.y = y;
  }
  TPH x(){
    return this.x;
  }

  TPH y(){
    return this.y;
  }

  Point(TPH x, TPH y){
    super(());
    this.x = x;
    this.y = y;
  }

}class Line {

  TPH pt1;
  TPH pt2;
Line(TPH pt1, TPH pt2){
    super(());
    this.pt1 = pt1;
    this.pt2 = pt2;
  }
  TPH pt1(){
    return this.pt1;
  }

  TPH pt2(){
    return this.pt2;
  }

  Line(TPH pt1, TPH pt2){
    super(());
    this.pt1 = pt1;
    this.pt2 = pt2;
  }

}