#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main()
{
    int N;
    char *x[1000];

    while(scanf("%d",&N)!= EOF)
    {
        int i;
        for(i=0 ; i<N ; i++){
            x[i]= (char*)malloc(sizeof(char)*110);
            scanf("%s",x[i]);
        }
        printf("\n");

        int j,bubble; char *temp;
        for(i=N-1 ; i!=0 ; i--)
        {
            for(j=1 ; j<=i ; j++)
            {
                bubble=B_S(x[j-1],x[j]);

                if(bubble==1)
                {
                    temp = x[j];
                    x[j] = x[j-1];
                    x[j-1] = temp;
                }
            }
        }

        for(i=0 ; i<N ; i++)
            printf("%s\n",x[i]);
    }
}

int B_S(char a[110],char b[110])
{
    if(a[0]!='-' && b[0]=='-') return 1;
    else if(a[0]=='-' && b[0]!='-') return 3;
    else if(a[0]=='-' && b[0]=='-')
    {
        if(strlen(a)>strlen(b))
            return 3;
        else if(strlen(a)<strlen(b))
            return 1;
        else
        {
            int i;
            for(i=0 ; i<strlen(a) ; i++)
            {
                if(a[i]>b[i]) return 3;
                else if(a[i]<b[i]) return 1;
            }
        }
        return 3;
    }
    else
    {
        if(strlen(a)>strlen(b))
            return 1;
        else if(strlen(a)<strlen(b))
            return 3;
        else
        {
            int i;
            for(i=0 ; i<strlen(a) ; i++)
            {
                if(a[i]>b[i]) return 1;
                else if(a[i]<b[i]) return 3;
            }
        }
        return 3;
    }
}
