우주 부메랑
시간 제한3초메모리 제한128 MB
N차원 공간의 M개 방향 벡터가 주어질 때, 계수가 0이 아닌 상태로 합이 영벡터가 되는 일차결합에 포함될 수 없는 벡터를 모두 찾는다.
문제
우리 우주 바깥 아주 먼 곳에서, 초공간 생물의 아이들이 다음과 같은 놀이를 한다. 이들에게는 프로그래밍해서 던질 수 있는 "부메랑" 장난감이 있다. 당연히 아이들은 부메랑이 던진 자리로 다시 돌아오기를 바란다.
부메랑을 프로그래밍하기 위해, 아이들은 장난감에 장착할 수 있는 여러 개의 모듈을 가지고 있다. 각 모듈은 장난감을 고정된 한 방향으로 밀어 준다. 장착하는 모듈마다 아이들은 그 모듈의 방향으로 장난감이 이동할, 이 아닌 거리를 입력한다(한 번의 놀이에서 모든 모듈을 반드시 장착할 필요는 없다). 거리는 양수일 수도 음수일 수도 있으며, 음수는 그 방향의 반대쪽으로 이동함을 뜻한다.
프로그래밍을 마치면 아이들은 부메랑을 던진다. 부메랑은 장착된 모든 모듈을 동시에 사용하여, 모든 모듈의 힘이 다할 때까지 공간을 이동한다. 장착된 모듈들에 대해 (거리 방향)의 벡터 합이 일 때 장난감은 정확히 출발점으로 돌아온다. 아이들은 이 놀이를 여러 번 반복하며, 모듈은 놀이마다 다시 사용할 수 있다.
아이들은 되도록 여러 종류의 모듈을 사용해서 최대한 재미있게 놀고 싶어 한다. 그런데 어떤 모듈은 쓸모없을 수 있다. 즉, 그 모듈을 이 아닌 거리로 장착하고 다른 모듈들을 어떻게 고르더라도 부메랑을 출발점으로 되돌릴 방법이 전혀 없는 경우이다. 이런 쓸모없는 모듈을 모두 찾아 아이들을 도와주자.
입력
첫째 줄에 공백으로 구분된 두 정수 과 이 주어진다(, ). 은 모듈의 개수, 은 초공간의 차원 수이다.
다음 개의 줄에는 각각 공백으로 구분된 개의 실수가 주어지며, 이는 해당 모듈이 가리키는 차원 공간에서의 방향 좌표이다. 모듈은 입력에 주어진 순서대로 번부터 번까지 번호가 매겨진다. 각 좌표는 소수점 아래 최대 두 자리까지 주어지고, 그 절댓값은 을 넘지 않는다.
출력
첫째 줄에 쓸모없는 모듈의 개수 를 출력한다.
다음 개의 줄에는 쓸모없는 모듈의 번호를 입력에 나타난 순서대로(즉, 번호가 증가하는 순서로) 한 줄에 하나씩 출력한다. 쓸모없는 모듈이 없으면 만 담긴 줄 하나만 출력한다.