/**
* 绝对值排序
* 按照绝对值从大到小排序后输出
* n=0表示输入数据的结束,不做处理
*/
import java.io.*;
import java.util.*;
public class acm2020 {
public static void main(String[] args) {
Scanner in = new Scanner(new BufferedInputStream(System.in));
while(in.hasNext()) {
int n = in.nextInt();
int [] a = new int[n];
if(n == 0) {
break;
}
for(int i=0; i<n; i++) {
a[i] = in.nextInt();
}
//冒泡排序
for(int i = 0; i < n-1; i++){
for(int j = 0; j < n-1; j++) {
if(Math.abs(a[j]) > Math.abs(a[j+1])) {
int t = a[j];
a[j] = a[j+1];
a[j+1] = t;
}
}
}
for(int k=n-1; k>=0; k--) {
if(k!=0) {
System.out.print(a[k]+" ");
}
else
System.out.println(a[k]);
}
}
}
}
* 绝对值排序
* 按照绝对值从大到小排序后输出
* n=0表示输入数据的结束,不做处理
*/
import java.io.*;
import java.util.*;
public class acm2020 {
public static void main(String[] args) {
Scanner in = new Scanner(new BufferedInputStream(System.in));
while(in.hasNext()) {
int n = in.nextInt();
int [] a = new int[n];
if(n == 0) {
break;
}
for(int i=0; i<n; i++) {
a[i] = in.nextInt();
}
//冒泡排序
for(int i = 0; i < n-1; i++){
for(int j = 0; j < n-1; j++) {
if(Math.abs(a[j]) > Math.abs(a[j+1])) {
int t = a[j];
a[j] = a[j+1];
a[j+1] = t;
}
}
}
for(int k=n-1; k>=0; k--) {
if(k!=0) {
System.out.print(a[k]+" ");
}
else
System.out.println(a[k]);
}
}
}
}