#include <bits/stdc++.h>
#define FIO ios::sync_with_stdio(0);cin.tie(0); cout.tie(0);
#define pi acos(-1)
#define lli long long int
#define max 10000009
using namespace std;
int prime[max];

void seive()
{
    prime[0] = 1;
    prime[1] = 1;
    int i,j,root=sqrt(max+1);
    for ( i = 4; i < max; i += 2)
        prime[i] = 1;
    for ( i = 3; i < max; i+=2)
    {
        if (!prime[i] && i <= root)
        {
            for ( j = i*i; j < max; j += 2*i)
            {
                prime[j] = 1;
            }
        }
    }
    return;
}
int main()
{
    FIO
    seive();
    lli i,n,t,j,q,x,y; 
    cin >> t;
    int arr[t+2];
    for ( i = 0; i < t; i++)
        cin >> arr[i];  
    cin >> q; 

    while (q--)
    {
        int cc = 0;
        cin >> n >> x >> y;
        if(n == 1) 
        {
            for ( i = x-1; i < y; i++)
            {
                if(prime[arr[i]] == 0) cc ++;
            }
            cout << cc << endl;
        }
        else {
            arr[x-1] = y;
        }
    }
    
    return 0;
}
