이차함수와 직선

아직 제출이 없습니다시간 제한0.1초메모리 제한1024 MB

문제

Azber과 Biou는 2차원 좌표평면에서 게임을 한다.

Azber는 게임이 시작하기 전에 자신이 그릴 수 있는 NN개의 이차함수를 가지고 있다. Azber가 가지고 있는 이차함수의 이차항 계수는 11 아니면 1-1이다.

처음에 Azber는 자신이 가진 이차함수 중 몇 개를 좌표평면 위에 그린다.

Biou가 모든 이차함수와 만나지 않는 직선을 그릴 수 있으면 Biou의 승리고, 어떠한 직선을 그려도 적어도 하나의 이차함수와 만나게 되면 Azber의 승리이다.

Azber는 이길 수 있다면 최소 개수의 이차함수를 좌표평면에 그려서 게임을 이기고 싶다.

Azber가 게임에 이길 수 있는지, 이길 수 있다면 좌표평면에 그려야 하는 최소 이차함수의 개수를 구하고 그 경우에 좌표평면에 그리는 이차함수를 구하시오.

입력

첫 번째 줄에 그릴 수 있는 이차함수의 개수 NN이 주어진다. (1N20,000)(1 \le N \le 20\\,000)

다음 NN개의 줄에 세 정수 X_iX\_i, Y_iY\_i, Z_iZ\_i가 주어진다. (1iN;(1 \le i \le N; X_i=1;|X\_i|=1; 5,000Y_i5,000;-5\\,000 \le Y\_i \le 5\\,000; 2.5×107Z_i2.5×107)-2.5 \times 10^7 \le Z\_i \le 2.5 \times 10^7)

이는 Azber가 가지고 있는 ii번째 이차함수가 y=X_ix2+Y_ix+Z_iy = X\_i x^2+Y\_i x+Z\_i라는 뜻이다.

출력

만약 Azber가 Biou를 이길 수 없다면 -1을 출력한다.

이길 수 있다면, Azber가 사용하는 이차함수의 최소 개수를 출력하고 다음 줄에 Azber가 사용하는 이차함수의 번호를 공백으로 구분해서 출력한다.

최소 개수의 이차함수를 사용해서 이기는 경우가 여러 개 존재한다면 그중 아무거나 출력한다.