#include <stdio.h>
int binary_convert(int n){
    // int binNum[32]; 
    int sum= 0;
    while (n > 0) {
        sum= n % 2;
        n = n / 2;          
                    
    }
    return sum;
}


int main() {
int i,n;
int arr[32],arr1[32];
scanf("%d",&n);
int *arr=(int*)malloc (size *sizeof(int));
int *arr1=(int*)malloc (size *sizeof(int));
for(i=0;i<n;i++){
    scanf("%d",&arr[i]);
}
for(i=0;i<n;i++){
    num=arr1[i];
    sum =0;
    while(num !=0){
        sum=sum+(num%2);
        num/=2;
    }
    arr1[i]=sum;
}
    for(int j=1;j<=k;j++) {
        max = 0;
        for(int i=0;i<n;i++){
            if(arr2[i]>max){
                max=arr2[i];
                pos = i;
            }
            if(max == arr1[i]) {
                if(arr[pos] < arr[i])
                    pos = i;
            }
        }
        printf("%d ",arr[pos]);
        arr2[pos] = 0;
    }

return 0;
}