#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);
table[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);
}
ll pos = upper_bound(table.begin(), table.end(), n) - table.begin();
for(ll i = pos; i <= k; i++){
if(binary_search(table.begin(), table.end(), table[i]-n)){
cout << lower_bound(table.begin(), table.end(), table[i]-n)-table.begin()+1 <<" "<< i <<"\n";
}
}
}