#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define OB (bitset<32>) #define REP(i,a,n) for(int i=(a); i<(int)(n); i++) #define rep(i,n) REP(i,0,n) #define ALLOF(c) begin(), (c),end() typedef long long ll; #define PI acos(-1) #define EPS 1e-11 #define MOD 1000000007 int main() { int n ; cin >> n; ll dp3[20]; ll dp3andmod3[20][10]; fill(dp3,dp3+20,0); fill(*dp3andmod3,*dp3andmod3+20*10,0); ll e10 = 1; dp3[0] = 0; dp3andmod3[0][3] =1; for (int i = 1; i < n+1; i++) { for (int j = 0; j < 10; j++) { if (j == 3) { dp3[i] += e10 ; } else { dp3[i] += dp3[i-1]; } } for (int j = 0; j < 10; j++) { for (int k = 0; k < 10; k++) { if ((k+j)% 3 == 0) { if (j == 3) { dp3andmod3[i][j] += e10; } else { #ifdef _DEBUG cout <<"j " << j << endl; cout <<" val = " << k << endl; #endif _DEBUG dp3andmod3[i][j] += dp3andmod3[i-1][k]; } } } } e10 *= 10; } int sum = 0; for (int k = 0; k < 10; k++) { sum += dp3andmod3[n-1][k]; } cout <