#129. 最近的补给点

最近的补给点

题目描述

一支探险队在一个二维平面上行进,他们的地图上标记了 nn 个补给点,每个补给点被访问一次后就会消失,每个补给点的坐标为 (x,y)(x,y)。对于每次访问,探险队希望按照以下规则访问补给点:

  1. 优先访问距离起点 (0,0)(0,0) 近的补给点,其中距离指的是欧几里得距离,即 x2+y2\sqrt{x^2 + y^2}
  2. 如果两个补给点的距离相同,则优先访问横坐标较小的补给点(即 xx 坐标较小的点)。
  3. 如果横坐标也相同,则优先访问纵坐标较小的补给点(即 yy 坐标较小的点)

输入格式

第一行输入一个整数 nn,表示补给点的数量,1n1000001 \leq n \leq 100000

接下来的 nn 行,每行包含两个整数 x,yx, y,表示补给点的坐标,满足 106x,y106-10^6 \leq x, y \leq 10^6

输出格式

按照题目规则给出探险队对补给点的访问顺序。

输出 nn 行,每行是一个补给点的坐标,格式为 xx yy

样例输入

5
3 4
1 1
0 0
-2 -2
3 3

样例输出

0 0
1 1
-2 -2
3 3
3 4