private static void add(List<Point> points, List<Point> available, int x, int y)
  {
    Point p = new Point(x, y);
    if (!points.contains(p) && !available.contains(p))
    {
      available.add(p);
    }
  }