func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long N = 22;   long long a[N];   long long dp[N][N][N];   long long DP(long long pos, long long sum, long long limit) {     if (!pos) return 1;     if (!limit && dp[pos][sum][limit] != -1) return dp[pos][sum][limit];     long long high = limit ? a[pos] : 9;     long long ans = 0;     for (long long i = 0; i <= high; i++) {       if (sum == 3 && i != 0) continue;       ans += DP(pos - 1, sum + (i != 0), limit && (i == high));     }     if (!limit) dp[pos][sum][limit] = ans;     return ans;   }   long long slove(long long n) {     long long len = 0;     while (n) {       a[++len] = n % 10;       n = n / 10;     }     return DP(len, 0, 1);   }   signed main() {     memset(dp, -1, sizeof(dp));     long long T;     cin >> T;     while (T--) {       long long L, R;       cin >> L >> R;       cout << slove(R) - slove(L - 1) <<   n ;     }     return 0;   }   