#include using namespace std; typedef long long ll; typedef long double ld; #define REP(i, n) for (int i = 0; i < (n); ++i) #define REPR(i, n) for (int i = n - 1; i >= 0; --i) #define FOR(i, m, n) for (int i = m; i < n; ++i) #define FORR(i, m, n) for (int i = m; i >= n; --i) #define ALL(v) (v).begin(),(v).end() templatebool chmax(T &a, const T &b) { if (abool chmin(T &a, const T &b) { if (b> s; int n=s.size(); vector dp(n+1,vector(2,vector(2,vector(3,vector(3,0LL))))); dp[0][0][0][0][0]=1; REP(a,n) REP(b,2) REP(c,2) REP(d,3) REP(e,3){ int p=s[a]-'0'; ll val=dp[a][b][c][d][e]; REP(f,(b?10:p+1)){ if(f==0){ if(c) continue; (dp[a+1][b||(f