#include #include #include using namespace std; using namespace atcoder; using mint = modint998244353; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf32 1000000001 #define Inf64 1000000000000000001 int main(){ long long n,l,r; cin>>n>>l>>r; vector a(n); rep(i,n)cin>>a[i]; sort(a.begin(),a.end()); int ans = 0; rep(_,2){ vector t; rep(i,n){ if(_==0&&a[i]>=0)t.push_back(a[i]); if(_==1&&a[i]<=0)t.push_back(a[i]); } if(t.size()==0)continue; vector dp(t.size(),1); rep(i,dp.size()){ for(int j=i+1;j x,y; rep(i,n){ if(a[i]<=0)x.push_back(a[i]); else y.push_back(a[i]); } if(x.size()>0 && y.size()>0){ vector dp0(x.size(),1),dp1(y.size(),1); for(int i=x.size()-1;i>=0;i--){ for(int j=i-1;j>=0;j--){ long long v = x[i] * x[j]; if(l<=v && v<=r)dp0[j] = max(dp0[j],dp0[i]+1); } } rep(i,y.size()){ for(int j=i+1;j