#include <iostream>
#define mod 10007
using namespace std;
int DP[1001][9];
// DP[숫자의길이][마지막으로 끝난 수]
int sum = 0;
int solution(int n) {
// 한 자리 숫자
for (int i = 0; i < 10; i++) {
DP[1][i] = 1;
}
// 2자리 이상의 숫자
for (int i = 2; i <= n; i++) {
for (int j = 0; j <= 9; j++) {
for (int k = 0; k <= j; k++) {
DP[i][j] += DP[i - 1][k];
DP[i][j] %= mod;
}
}
}
for (int i = 1; i < 10; i++)
sum = (sum + DP[n][i]) % mod;
return sum;
}
int main() {
int n;
cin >> n;
cout << solution(n);
return 0;
}
#include <iostream>
#define mod 10007
using namespace std;
int DP[1001][9];
// DP[숫자의길이][마지막으로 끝난 수]
int sum = 0;
int solution(int n) {
// 한 자리 숫자
for (int i = 0; i < 10; i++) {
DP[1][i] = 1;
}
// 2자리 이상의 숫자
for (int i = 2; i <= n; i++) {
for (int j = 0; j <= 9; j++) {
for (int k = 0; k <= j; k++) {
DP[i][j] += DP[i - 1][k];
}
DP[i][j] %= mod;
}
}
for (int i = 0; i < 10; i++)
sum = (sum + DP[n][i]) % mod;
return sum;
}
int main() {
int n;
cin >> n;
cout << solution(n) % mod;
return 0;
}