what is the problem in the code ???

```
#include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>
using namespace std;
#define max 32000
#define ll long long int
bool prime[max];
void seive()
{
prime[0]=prime[1]=false;
for(int i=2;i<max;i++)
{
prime[i]=true;
}
for(int i=2;i<=sqrt(max);i++)
{
if(prime[i])
{
for(int j=2*i;j<max;j=j+i)
{
prime[j]=false;
}
}
}
}
int main()
{
int t;
//freopen("abc.txt","w",stdout);
cin>>t;
seive();
while(t--)
{
ll m,n;
cin>>m>>n;
if(m==1)
m++;
for(ll i=m;i<=n;i++)
{
ll temp=sqrt(i);
int flag=1;
for(ll j=2;j<=temp && prime[j];j++)
{
if(i%j==0)
{
flag=0;
break;
}
}
if(flag==1)
cout<<i<<endl;
}
}
}
```