#include <bits/stdc++.h>   using namespace std;   long long n, m, l, r;   vector<long long> A[200001];   set<pair<int, int> > se;   void add(long long y) {     for (auto b : A[y]) se.insert({b, y});   }   void del(long long y) {     for (auto b : A[y]) se.erase({b, y});   }   int main() {     ios_base::sync_with_stdio(false);     cin.tie(0);     cin >> n >> m >> l >> r;     for (long long i = 1; i <= 200000; ++i)       for (long long j = i; j <= 200000; j += i)         if (j <= 200000) A[j].push_back(i);     long long L = m + 1;     long long R = m;     for (long long x = 1; x <= n; ++x) {       long long L_ = (l + x - 1) / x;       long long R_ = min(m, r / x);       if (L_ > R_) goto L1;       while (L > L_) add(--L);       while (R > R_) del(R--);       for (long long a : A[x]) {         auto it = se.upper_bound({a + 1, 0});         if (it != se.end()) {           long long b = it->first;           long long y = it->second;           if (x * b <= n * a) {             cout << x <<     << y <<     << x * b / a <<     << y * a / b;             goto L2;           }         } else           goto L1;       }     L1:       cout << -1;     L2:       cout <<   n ;     }     return 0;   }   