Ordenação Radial

Considere nn vetores no plano v1=(x1,y1)\overrightarrow{v_1} = (x_1,y_1), v2=(x2,y2)\overrightarrow{v_2} = (x_2,y_2), \cdots, vn=(xn,yn)\overrightarrow{v_n} = (x_n,y_n). Seja αi\alpha_i (0ºαi<360º0º \leqslant \alpha_i < 360º) o ângulo direcionado do vetor V=(1,0)\overrightarrow{V} = (1,0) para vi\overrightarrow{v_i} no sentido anti-horário. Sua tarefa é ordenar por αi\alpha_i esses vetores de forma crescente. Em caso de empate, você deve ordená-los por ordem crescente de tamanho.

Figura 1

Entrada

A primeira linha da entrada contém um inteiro indicando o valor de nn. Cada uma das próximas nn linhas contém dois inteiros xx e yy representando as coordenadas do vetor vi\overrightarrow{v_i}.

Saída

A saída deve conter nn linhas descrevendo os vetores de forma ordenada.

Restrições

  • 1n1051 \leqslant n \leqslant 10^5
  • 109xi,yi109-10^9 \leqslant x_i,y_i \leqslant 10^9
  • (xi,yi)(xj,yj)(x_i,y_i) \neq (x_j,y_j) para todo iji \neq j
Exemplos de Entrada Exemplos de Saída
4
-3 -2
-4 -3
5 -4
0 3
0 3
-3 -2
-4 -3
5 -4
5
-6 0
1 -1
-3 6
6 3
2 4
6 3
2 4
-3 6
-6 0
1 -1