package first; import java.awt.Point; import java.util.*; /** * Created by jordanly on 1/7/15. */ public class Finding_Lines { public static void main(String[] args) { Scanner in = new Scanner(System.in); int numPoints = in.nextInt(); double goal = in.nextInt(); Point[] points = new Point[numPoints]; for (int i = 0; i < points.length; i++) { points[i] = new Point(in.nextInt(), in.nextInt()); } int TRIALS = 1000; Random random = new Random(); for (int i = 0; i < TRIALS; i++) { if (points.length == 1) { break; } Set chosen = new HashSet(); Point a = points[random.nextInt(points.length)]; chosen.add(a); Point b = points[random.nextInt(points.length)]; chosen.add(b); if (a == b) { continue; } int count = 2; for (Point p : points) { if (!chosen.contains(p)) { if (collinear(a, b, p)) { count++; } } } int percentage = (int) ((double) count/(double) points.length * 100); if (percentage > goal) { System.out.println("possible"); return; } } System.out.println("impossible"); } public static boolean collinear(Point a, Point b, Point c) { return (a.y - b.y) * (a.x - c.x) == (a.y - c.y) * (a.x - b.x); } }