스탠(Stan)에게 길이가 서로 다른 막대기 $n$개가 있다. 그는 막대기를 한 번에 하나씩 아무렇게나 바닥에 던진다. 막대기는 매우 얇아서 두께는 무시할 수 있다.
던지기를 모두 끝낸 뒤, 스탠은 맨 위에 있는 막대기(top stick), 즉 그 위에 다른 막대기가 하나도 놓여 있지 않은 막대기들을 찾으려고 한다. 막대기 $B$가 막대기 $A$보다 나중에 던져졌고 두 막대기가 서로 교차하면(끝점에서 닿는 경우도 교차로 본다), 막대기 $B$는 막대기 $A$ 위에 놓인 것으로 본다. 어떤 막대기든, 자신보다 나중에 던져진 막대기 중 자신과 교차하는 것이 하나도 없으면 그 막대기는 맨 위 막대기다.
가장 마지막에 던진 막대기는 항상 맨 위에 있다. 맨 위에 있는 모든 막대기를 찾아라.
입력은 여러 개의 테스트 케이스로 이루어진다. 각 케이스의 첫 줄에는 막대기의 개수 $n$ $(1 \le n \le 100000)$이 주어진다. 이어지는 $n$개의 줄에는 각각 네 개의 실수 $x_1\ y_1\ x_2\ y_2$가 주어지며, 이는 막대기 하나의 두 끝점의 평면 좌표이다. 막대기는 스탠이 던진 순서대로 나열되어 있다. 맨 위에 있는 막대기는 $1000$개를 넘지 않는다고 가정해도 된다.
입력은 $n = 0$인 케이스로 끝나며, 이 케이스는 처리하지 않는다.
각 테스트 케이스마다, 맨 위에 있는 막대기들을 던진 순서대로 한 줄에 출력한다. 출력 형식은 다음과 같다.
Top sticks: a, b, c.
즉, Top sticks: 뒤에 맨 위 막대기의 번호를 던진 순서대로 , (쉼표와 공백)로 구분해 나열하고, 줄 끝에 마침표 .를 붙인다. 막대기는 입력에 주어진 순서대로 $1, 2, \dots, n$번으로 번호가 매겨진다.