#include<stdio.h>
#include<stdlib.h>

void solve()
{
    int n,i;
    if(scanf("%d",&n)!=1)return;
    
    if(n<=0)
    {
        printf("Invalid inupt");
        return;
    }
    int*arr=(int*)malloc(n*sizeof(int));
    if(arr==NULL)return;
    
    for(i=0;i<n;i++)
    {
        if(scanf("%d",&arr[i])!=1)
        {
            free(arr);
            return;
        }
    }
    
    int*neg=(int*)malloc(n*sizeof(int));
    int*pos=(int*)malloc(n*sizeof(int));
    int neg_c,pos_c=0;
    
    for(i=0;i<n;i++)
    {
        if(arr[i]<0)
        {
            neg[neg_c++]=arr[i];
        }
        else
        {
            pos[pos_c++]=arr[i];
        }
    }
    for(i=0;i<neg_c;i++)
    {
        printf("%d ",neg[i]);
    }
    for(i=0;i<pos_c;pos[i])
    {
        prinntf("%d ",pos[i]);
    }
    printf("\n");
    free(arr);
    free(neg);
    free(pos);
}

int main()
{
    solve();
    return 0;
}