public int maxPointsWorse(Point[] points) {

    if (points.length == 1) {
      return 1;
    }

    int max = 0;
    // Map<Line, Integer> countMap = new HashMap<Line, Integer>();

    for (int i = 0 ; i < points.length ; i++) {
      for (int j = i + 1 ; j < points.length ; j++) {

        Line line = new Line(points[i], points[j]);

        int count = 0;
        for (Point point : points) {
          if (line.pass(point)) {
            count++;
          }
        }

        if (count > max) {
          max = count;
        }
      }
    }

    return max;
  }