bool check() { for ( int i = 1; i < N; i ++ ) { int a = count_lucky(arr[i]), b = count_lucky(arr[i + 1]); if ( C[i] && a != b ) return false; if ( !C[i] && a == b ) return false; } return true; }
int main(int argc, char** argv) { gen_primes(); gen_table(); int cases = 0; scanf("%d", &cases); for (int i = 0; i < cases; ++i) { long long a, b; scanf("%lld %lld", &a, &b); printf("%lld\n", count_lucky(b) - count_lucky(a-1)); } return 0; }