#include #include #define reps(i,s,n) for(int (i) = (s); (i) < (n); (i)++) #define rep(i,n) reps(i,0,n) using namespace std; typedef long long ll; const int MOD = 1e9+7; ll dp[101010][2][2][3];//pos,less,has3,mod3 int main(){ int p; cin >> p; string A = "1"; rep(i,p){ A += '0'; } dp[0][0][0][0] = 1; rep(i,p+1){//pos rep(j,2){ rep(k,2){ rep(l,3){ int lim = j ? 9 : A[i] - '0'; rep(d,lim+1){ (dp[i+1][j || d < lim][k || d == 3][(l+d) % 3] += dp[i][j][k][l]); } } } } } ll ans = 0; rep(j,2){ rep(k,2){ rep(l,3){ if(k || l == 0){ (ans += dp[p+1][j][k][l]) ; } } } } cout << ans-1 << endl; return 0; }