/*
TASK:books
LANG:C++
*/
#include<iostream>
using namespace std;
int main()
{
 int i,j,b,a,n,z=0,y=0,k[2000],k1[2000],k2[2000],in1[2000],in2[2000],swap,prov[2000];
 cin>>n;
  for(i=0;i<n;i++)
  {
   cin>>k[i];
   b=k[i];
   a=b/1000+b/100%10+b/10%10+b%10;
   if(a%2==0)
    {
     k1[z]=a;
     in1[z]=i;
     z++;
    }
    
    else
    {
     k2[y]=a;
     prov[y]=(b/1000)*(b/100%10)*(b/10%10)*(b%10);
     in2[y]=i;
     y++;
    }
  }
  
  for(i=1;i<z;i++)
  {
   if(k1[i]<k1[i-1])
   {
    swap=k1[i];
    k1[i]=k1[i-1];
    k1[i-1]=swap;
    
    swap=in1[i];
    in1[i]=in1[i-1];
    in1[i-1]=swap;
   }
  }
  
  for(i=1;i<y;i++)
  {
   if(k2[i]>k2[i-1])
   {
    swap=k2[i];
    k2[i]=k2[i-1];
    k2[i-1]=swap;
    
    swap=prov[i];
    prov[i]=prov[i-1];
    prov[i-1]=swap;
    
    swap=in2[i];
    in2[i]=in2[i-1];
    in2[i-1]=swap;
   }
   
   else
   {
     if(k2[i]==k2[i-1])
    {
    if(prov[i]>prov[i-1])
    {
     swap=k2[i];
     k2[i]=k2[i-1];
     k2[i-1]=swap;
    
     swap=prov[i];
     prov[i]=prov[i-1];
     prov[i-1]=swap;
    
     swap=in2[i];
     in2[i]=in2[i-1];
     in2[i-1]=swap;
     }
    }
   }
  }
  
  for(i=0;i<z;i++)
  cout<<k[in1[i]]<<" ";
  
  for(i=0;i<y-1;i++)
  cout<<k[in2[i]]<<" ";
  
  cout<<k[in2[y-1]]<<"\n";
  return 0;
}
