#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define repl(i,a,b) for(int i=(int)(a);i<(int)(b);i++) #define rep(i,n) repl(i,0,n) #define mp(a,b) make_pair((a),(b)) #define pb(a) push_back((a)) #define all(x) (x).begin(),(x).end() #define dbg(x) cout<<#x"="<<((x))<>p; fill(dp[0][0], dp[20][0], 0); dp[0][0][0]=1; rep(i,p) rep(j,2) rep(k,3){ rep(l,10) dp[i+1][j | (l==3)][(k*10+l)%3] += dp[i][j][k]; } long ans=0; rep(i,3) ans += dp[p][1][i]; ans += dp[p][0][0]; cout << ans-1 << endl; // このままだと0を含む return 0; }