I have written this code for a problem from Codeforces. The code syntax and logic is correct. But the code is not taking any input only. It just runs and terminates on its own. code:
#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e7+5;
int main(){
    int seive[maxn];
    int sum[maxn];
    int count[maxn];
    memset(seive,1,sizeof(seive));
    memset(sum,0,sizeof(sum));
    memset(count,0,sizeof(count));
        
    int n,inp;
    cin>>n;
    int arr[n];
    for(int i=0;i<n;i++) cin>>arr[i];
    for(int i=0;i<n;i++){
        count[arr[i]]+=1;
    }
    for(int i=2;i<maxn;i++){
        if(seive[i]==1){
            for(int j=i;j<maxn;j+=i){
                if(j!=i) seive[j]=0;
                sum[i]+=count[j];
            }
        }
        sum[i] = sum[i-1]+sum[i];
    }
    int m;
    cin>>m;
    while(m--){
        int l,r;
        if(r>10000000) r=10000000;
        if(l>=10000000) cout<<0;
        else cout<<sum[r] - sum[l-1];
        cout<<"\n";
    }
}
Please help me in finding out what is causing this problem.
