#include<stdio.h> 

int main(){ 
	int n;
	scanf("%d",&n);
	
	int a[n],b[n],i;
	for(i=0;i < n;i++){
		scanf("%d",&a[i]);
	}
	
	//求出数各个数位的和放在数组中 
	for(i = 0;i < n;i++){
		b[i] = a[i] / 10000+a[i] / 1000 % 10 + a[i] / 100 % 10+ a[i] / 10 % 10+a[i] % 10;
	}
	
	
	//排序
	int j,k,temp; 
	for(i = 0;i < n-1;i++){
		k = i;
		for(j = i + 1;j < n;j++){
			if(b[j] < b[k]) k = j;
		} 
		
		if(k != i){
			temp = b[i];
			b[i] = b[k];
			b[k] = temp;
		}
	} 
	
	
	
	
	for(i = 0;i < n;i++){
		printf("%d ",b[i]);
	}


	return 0; 
	  
} 
/**************************************************************
	Problem: 1166
	User: admin
	Language: C
	Result: Accepted
	Time:12 ms
	Memory:1144 kb
****************************************************************/