一堆点
题号:NC15592
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
64bit IO Format: %lld

题目描述

这个问题很简单,有n个三维点(x,y,z),要求按照它们距离原点的距离来排序,若距离相等,则按照x的顺序递增,若x也相等,则按照y递增的顺序递增(依次类推,不会输入重复点)

输入描述:

第一行输入一个正整数n(1<=n<=106),表示有n个三维点

随后n行,每行包含3个实数x,y,z表示一个点的坐标(均在double类型内)。

输出描述:

按照排序之后的结果,每行输出一个三维点的x y z方向的坐标,两个数之间以一个空格分隔
示例1

输入

复制
4
0 0 0
1 1 1
3 3 3
-2 -2 -2

输出

复制
0 0 0
1 1 1
-2 -2 -2
3 3 3