#include <iostream>
#include <bitset>
using namespace std;
using ll = long long;
bitset<10000005> p;
bool ok(ll n) {
if(!p[n]) return 0;
bool dk = 0;
for(int i = 0;i < 10;i++) {
if(p[n * 10 + i]) {
dk = 1;
break;
}
}
if(!dk) return 0;
while(n) {
if(!p[n]) return 0;
n /= 10;
}
return 1;
}
ll n, t, x, l, r;
static ll pre[3000005];
void setup() {
p.set();
p[0] = p[1] = 0;
for(int i = 2;i * i < 10000005;i++){
if(p[i]) {
for(int j = i * i;j < 10000005;j+=i) {
p[j] = 0;
}
}
}
cin >> n >> x;
pre[0] = (ok(x));
for(int i = 1;i < n;i++) {
cin >> x;
pre[i] = pre[i - 1] + ok(x);
}
}
void sovle() {
cin >> l >> r;
l--,r--;
if(!l) cout << pre[r] << '\n';
else cout << pre[r] - pre[l - 1] << '\n';
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
setup();
cin >> t;
while(t--)
sovle();
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Yml0c2V0Pgp1c2luZyBuYW1lc3BhY2Ugc3RkOwp1c2luZyBsbCA9IGxvbmcgbG9uZzsKYml0c2V0PDEwMDAwMDA1PiBwOwoKYm9vbCBvayhsbCBuKSB7CglpZighcFtuXSkgcmV0dXJuIDA7Cglib29sIGRrID0gMDsKCWZvcihpbnQgaSA9IDA7aSA8IDEwO2krKykgewoJCWlmKHBbbiAqIDEwICsgaV0pIHsKCQkJZGsgPSAxOwoJCQlicmVhazsKCQl9Cgl9CglpZighZGspIHJldHVybiAwOwoJd2hpbGUobikgewoJCWlmKCFwW25dKSByZXR1cm4gMDsKCQluIC89IDEwOwoJfQoJcmV0dXJuIDE7Cn0KbGwgbiwgdCwgeCwgbCwgcjsKc3RhdGljIGxsIHByZVszMDAwMDA1XTsKdm9pZCBzZXR1cCgpIHsKCXAuc2V0KCk7CglwWzBdID0gcFsxXSA9IDA7Cglmb3IoaW50IGkgPSAyO2kgKiBpIDwgMTAwMDAwMDU7aSsrKXsKCQlpZihwW2ldKSB7CgkJCWZvcihpbnQgaiA9IGkgKiBpO2ogPCAxMDAwMDAwNTtqKz1pKSB7CgkJCQlwW2pdID0gMDsKCQkJfQoJCX0KCX0KCWNpbiA+PiBuID4+IHg7CglwcmVbMF0gPSAob2soeCkpOwoJZm9yKGludCBpID0gMTtpIDwgbjtpKyspIHsKCQljaW4gPj4geDsKCQlwcmVbaV0gPSBwcmVbaSAtIDFdICsgb2soeCk7Cgl9Cgp9CnZvaWQgc292bGUoKSB7CgljaW4gPj4gbCA+PiByOwoJbC0tLHItLTsKCWlmKCFsKSBjb3V0IDw8IHByZVtyXSA8PCAnXG4nOwoJZWxzZSBjb3V0IDw8IHByZVtyXSAtIHByZVtsIC0gMV0gPDwgJ1xuJzsKfQppbnQgbWFpbigpCnsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgICBjaW4udGllKDApO2NvdXQudGllKDApOwoJc2V0dXAoKTsKCWNpbiA+PiB0OwoJd2hpbGUodC0tKQoJCXNvdmxlKCk7Cn0K