#include <stdio.h>
int cc[4][32][32];
void s ()
{
int i, j;
static int c[4][32];
for (i = 27; i >= 3; i--)
c[0][29 - i] = i * (i - 1) * (i - 2) / 6;
for (i = 26; i >= 2; i--)
c[1][29 - i] = i * (i - 1) / 2;
for (i = 25; i >= 1; i--)
c[2][29 - i] = i;
for (i = 24; i >= 0; i--)
c[3][29 - i] = 1;
for (j = 0; j <= 0; j++) {
for (i = j + 1; i <= 25; i++) {
if (i > j + 1)
cc[0][j][i] = c[0][i] + cc[0][j][i - 1];
}
}
for (j = 1; j <= 25; j++) {
for (i = j + 1; i <= 26; i++) {
if (i > j + 1)
cc[1][j][i] = c[1][i] + cc[1][j][i - 1];
}
}
for (j = 2; j <= 26; j++) {
for (i = j + 1; i <= 27; i++) {
if (i > j + 1)
cc[2][j][i] = c[2][i] + cc[2][j][i - 1];
}
}
for (j = 3; j <= 27; j++) {
for (i = j + 1; i <= 28; i++) {
if (i > j + 1)
cc[3][j][i] = c[3][i] + cc[3][j][i - 1];
}
}
}
int main ()
{
int a, b, c, d;
int h;
int i = 0;
s();
for (a = 1; a <= 28; a++) {
for (b = a + 1; b <= 28; b++) {
for (c = b + 1; c <= 28; c++) {
for (d = c + 1; d <= 28; d++) {
h = cc[0][0][a] + cc[1][a][b] + cc[2][b][c] + cc[3][c][d];
//printf ("%3d%3d%3d%3d\n", a, b, c, d);
//printf ("%d %d\n", i, h);
if (i++ != h)
}
}
}
}
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgY2NbNF1bMzJdWzMyXTsKCnZvaWQgcyAoKQp7CiAgICAgICAgaW50IGksIGo7CiAgICAgICAgc3RhdGljIGludCBjWzRdWzMyXTsKCiAgICAgICAgZm9yIChpID0gMjc7IGkgPj0gMzsgaS0tKQogICAgICAgICAgICAgICAgY1swXVsyOSAtIGldID0gaSAqIChpIC0gMSkgKiAoaSAtIDIpIC8gNjsKICAgICAgICBmb3IgKGkgPSAyNjsgaSA+PSAyOyBpLS0pCiAgICAgICAgICAgICAgICBjWzFdWzI5IC0gaV0gPSBpICogKGkgLSAxKSAvIDI7CiAgICAgICAgZm9yIChpID0gMjU7IGkgPj0gMTsgaS0tKQogICAgICAgICAgICAgICAgY1syXVsyOSAtIGldID0gaTsKICAgICAgICBmb3IgKGkgPSAyNDsgaSA+PSAwOyBpLS0pCiAgICAgICAgICAgICAgICBjWzNdWzI5IC0gaV0gPSAxOwoKICAgICAgICBmb3IgKGogPSAwOyBqIDw9IDA7IGorKykgewogICAgICAgICAgICAgICAgZm9yIChpID0gaiArIDE7IGkgPD0gMjU7IGkrKykgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoaSA+IGogKyAxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNjWzBdW2pdW2ldID0gY1swXVtpXSArIGNjWzBdW2pdW2kgLSAxXTsKICAgICAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZm9yIChqID0gMTsgaiA8PSAyNTsgaisrKSB7CiAgICAgICAgICAgICAgICBmb3IgKGkgPSBqICsgMTsgaSA8PSAyNjsgaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpID4gaiArIDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2NbMV1bal1baV0gPSBjWzFdW2ldICsgY2NbMV1bal1baSAtIDFdOwogICAgICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBmb3IgKGogPSAyOyBqIDw9IDI2OyBqKyspIHsKICAgICAgICAgICAgICAgIGZvciAoaSA9IGogKyAxOyBpIDw9IDI3OyBpKyspIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGkgPiBqICsgMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjY1syXVtqXVtpXSA9IGNbMl1baV0gKyBjY1syXVtqXVtpIC0gMV07CiAgICAgICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGZvciAoaiA9IDM7IGogPD0gMjc7IGorKykgewogICAgICAgICAgICAgICAgZm9yIChpID0gaiArIDE7IGkgPD0gMjg7IGkrKykgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoaSA+IGogKyAxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNjWzNdW2pdW2ldID0gY1szXVtpXSArIGNjWzNdW2pdW2kgLSAxXTsKICAgICAgICAgICAgICAgIH0KICAgICAgICB9Cn0KCmludCBtYWluICgpCnsKICAgICAgICBpbnQgYSwgYiwgYywgZDsKICAgICAgICBpbnQgaDsKICAgICAgICBpbnQgaSA9IDA7CgogICAgICAgIHMoKTsKCiAgICAgICAgZm9yIChhID0gMTsgYSA8PSAyODsgYSsrKSB7CiAgICAgICAgICAgICAgICBmb3IgKGIgPSBhICsgMTsgYiA8PSAyODsgYisrKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoYyA9IGIgKyAxOyBjIDw9IDI4OyBjKyspIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGQgPSBjICsgMTsgZCA8PSAyODsgZCsrKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoID0gY2NbMF1bMF1bYV0gKyBjY1sxXVthXVtiXSArIGNjWzJdW2JdW2NdICsgY2NbM11bY11bZF07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL3ByaW50ZiAoIiUzZCUzZCUzZCUzZFxuIiwgYSwgYiwgYywgZCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL3ByaW50ZiAoIiVkICVkXG4iLCBpLCBoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpKysgIT0gaCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnRmICgiZXJyXG4iKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICB9Cn0K