#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int main()
{
ios_base::sync_with_stdio(0); cin.tie(0);
ll n; cin >> n;
ll k = n/2+1;
vector<ll> table(k+1);
table[1] = 1;
map<ll, ll> mp;
mp[1] = 1;
for(ll i = 2; i <= k; i++){
if(table[i-1] == n){
cout << 1 <<" "<< i-1 <<"\n";
}
table[i] = (i*(i+1))/2;
mp[table[i]] = i;
}
ll pos = upper_bound(table.begin(), table.end(), n) - table.begin();
for(ll i = pos; i <= k; i++){
if(mp[table[i]-n] != 0){
cout << mp[table[i]-n]+1 <<" "<< i <<"\n";
}
}
}