#include<bits/stdc++.h>
using namespace std;
#define int long long
typedef long long LL;
const int N=(int)1e7;
const int MAXLOG=18;
const int INF=1e7;
int pr[N+2]={};
vector<int>primes;
void sieve(){
pr[1]=true;
for(int i=2;i<=N;++i){
if (pr[i]==false){
primes.push_back(i);
for(int j=i+i;j<=N;j+=i) pr[j]=true;
}
}
}
LL f[2][N+2]={};
bool calc(int l1,int r1,int l2,int r2,int x){
int add=x;
for(int i=0;i<=MAXLOG;++i) f[0][i]=f[1][i]=0;
f[0][0]=(r1/add)-((l1-1)/add),f[1][0]=(r2/add)-((l2-1)/add);
for(int i=1; add <= INF/x && i <= MAXLOG; ++i){
add*=x;
f[0][i]+=(r1/add)-((l1-1)/add);
f[1][i]+=(r2/add)-((l2-1)/add);
}
int sum1=0,sum2=0;
for(int i=MAXLOG;i>=0;--i){
f[0][i]-=sum1;
f[1][i]-=sum2;
sum1+=f[0][i],sum2+=f[1][i];
}
LL need1=0,need2=0;
for(int i=0;i<=MAXLOG;++i){
need1+=(LL)(i+1)*f[0][i],need2+=(LL)(i+1)*f[1][i];
}
if (need1<=need2) return true;
return false;
}
int32_t main(){
ios::sync_with_stdio(false);
cin.tie(0) ; cout.tie(0);
if (fopen("main.inp","r")){
freopen("main.inp","r",stdin);
}
int T; cin>>T;
sieve();
while(T--){
int a,b,c,d; cin>>a>>b>>c>>d;
bool ok=true;
for(auto&x:primes) {
if (calc(a,b,c,d,x)==false){
ok=false;
break;
}
}
cout<<(ok?"DA":"NE")<<'\n';
}
}
Compilation message (stderr)
Main.cpp: In function 'int32_t main()':
Main.cpp:52:24: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
52 | freopen("main.inp","r",stdin);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |