#include <stdio.h>
#define DEBUG 0
#define TESTCASES 5
int length;
int firstDigit[4] = {2, 3, 5, 7};
int otherDigit[4] = {1, 3, 7, 9};
//效率比較高的判斷素數的寫法
int isPrime(int n){
if (n == 2)
return 1;
if (n & 1 == 0)
return 0;
int i;
for (i = 3; i * i <= n; i += 2)
if (n % i == 0)
return 0;
return 1;
}
void isSuperPrime(int num, int digits){
if (!isPrime(num))
return;
if (digits == length){
printf("%d\n", num);
return;
}
int i;
for (i = 0; i < 4; i++)
isSuperPrime(num * 10 + otherDigit[i], digits + 1);
}
int main(){
#if DEBUG
int testCase;
for (testCase = 1; testCase <= TESTCASES; testCase++){
char inputFileName[20] = "inputx.txt";
inputFileName[5] = '1' + (testCase - 1);
freopen(inputFileName, "r", stdin);
printf("\n#%d\n", testCase);
#endif
scanf("%d", &length);
int i;
for (i = 0; i < 4; i++)
isSuperPrime(firstDigit[i], 1);
#if DEBUG
}
#endif
return 0;
}