Pagini recente » Cod sursa (job #2956560) | Cod sursa (job #1605926) | Cod sursa (job #2679019) | Cod sursa (job #728319) | Cod sursa (job #1710141)
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ld long double
#define pb push_back
#define mp make_pair
#define pii pair<int, int>
#define pll pair<ll, ll>
#define pdd pair<ld, ld>
#define all(x) (x).begin(), (x).end()
#define fi first
#define se second
bool cmp(pll A, pll B) {
return A.se - A.fi < B.se - B.fi;
}
int main() {
cin.sync_with_stdio(false);
freopen("consecutive.in", "r", stdin);
freopen("consecutive.out", "w", stdout);
int t;
cin >> t;
for (; t; t--) {
ll n;
cin >> n;
vector<pll> sol;
for (ll i = 1; i * i <= 2 * n; i++) {
if ((2 * n) % i == 0) {
ll j = (2 * n) / i;
ll b = (i + j - 1) / 2;
ll a = b - i;
if (b * (b + 1) / 2 - a * (a + 1) / 2 == n)
if (a + 1 != b)
sol.pb({a + 1, b});
}
}
sort(all(sol), cmp);
cout << sol.size() << '\n';
for (auto it : sol)
cout << it.fi << " " << it.se << '\n';
}
return 0;
}