why is it giving wrong answer?
#include<bits/stdc++.h>
using namespace std;
int dp[1000000]={0};
void func(){
//int dp[10000000]={0};
dp[1]=1;dp[2]=1;dp[3]=1;dp[5]=1;
for(long long i=1;i<1000000;i++){
if(dp[i]==1){
if(i*2<1000000)dp[i*2]=1;
if(i*3<1000000)dp[i*3]=1;
if(i*5<1000000)dp[i*5]=1;
}
}
}
int main(){
long long t,n;
func();
cin>>t;
while(t--){
cin>>n;
long long c=0;
for(long long i=1;i<1000000;i++){
if(dp[i]==1)
c++;
if(c==n){
cout<<i<<endl;
break;
}
}
}
return 0;
}