public Line(int x1, int y1, int x2, int y2) {
      a = -(y2 - y1);
      b = x2 - x1;
      c = -1 * (y1 * (x2 - x1) - x1 * (y2 - y1));

      int gcd = GCD(GCD(a, b), c);
      a /= gcd;
      b /= gcd;
      c /= gcd;
      
      if (b < 0) {
        b *= -1;
        a *= -1;
        c *= -1;
      }
      
      if (b == 0 && a < 0) {
        a *= -1;
        c *= -1;
      }
      if (a == 0 && b < 0) {
        b *= -1;
        c *= -1;
      }
    }