#include <stdio.h>
#include <string.h>

#define MAX_TOP      3
#define MAX_PEOPLE   32000

typedef struct {
   long iPerson, iTotal;
} stVotes;

stVotes atTop[MAX_TOP];
long i,j,k,iN,iMax,iTemp;
long aiTotal[MAX_PEOPLE+1];

int main(void) {
   scanf("%ld", &iN);
   memset(aiTotal, 0, sizeof(aiTotal));
   for (i= 0, iMax= 3; i< iN; i++) {
      scanf("%ld", &iTemp);
      aiTotal[iTemp]++;
      if (iTemp> iMax) iMax= iTemp;
   }
   atTop[0].iTotal= atTop[1].iTotal= atTop[2].iTotal= -1;
   for (i= 1; i<= iMax; i++)
      for (j= 0; j< MAX_TOP; j++)
         if (aiTotal[i] > atTop[j].iTotal) {
            for (k= MAX_TOP-1; k>= j+1; k--)
               atTop[k]= atTop[k-1];
            atTop[j].iPerson= i;
            atTop[j].iTotal= aiTotal[i];
            break;
         }
   for (i= 0; i< MAX_TOP; i++)
      printf("%ld ", atTop[i].iPerson);

   return(0);
}