public static List<Point> quickSelect(int[]A, int k) {
		Point[] ps=new Point[A.length];
		for (int i=0;i<A.length;++i) ps[i]=new Point(A[i]);
		Point kth= qsImpl(ps, 0, A.length-1, k);
		List<Point> rel=new ArrayList<>();
		for (int i=0;i<A.length&&rel.size()<k;++i)
			if (ps[i].compareTo(kth)>=0) rel.add(ps[i]);
		return rel;
	}