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

void bubbleSort(int *a, int len)
{
  for (int i = 0; i < len; ++i)
    for (int j = i + 1; j < len; ++j)
      if (a[i] < a[j]) {
        int t = a[i];
        a[i] = a[j];
        a[j] = t;
      }
}

int func(int *a, int len, int n)
{

  int *b = malloc(sizeof(int) * len), r = 0, base = 1;
  --n;
  for (int i = 0; i < len; ++i)
    b[i] = a[i];
  bubbleSort(b, len);
  for (int i = 2; i <= len; ++i)
    base *= i;
  for (; len; --len) {
    base /= len;
    int nn = (n / base) + 1;
    int pos = 0;
    for (int i = 0; nn; ++i) {
      pos = i;
      if (b[i] >= 0)
        --nn;
    }
    r *= 10;
    r += b[pos];
    b[pos] = -1;
    n %= base;
  }
  return r;
}

int main()
{
  int a[] = {2, 3, 5, 7};
  int len = sizeof(a) / sizeof(a[0]);
  for (int i = 1; i <= 24; ++i)
    printf("%d\n", func(a, len, i));
  return 0;
}
