#include <bits/stdc++.h>
using namespace std;
using lint = long long;
template<class T = int> using V = vector<T>;
template<class T = int> using VV = V< V<T> >;

int main() {
  cin.tie(nullptr); ios::sync_with_stdio(false);
  while (true) {
    int b; cin >> b;
    if (!b) break;
    auto chk = [&](int n) -> bool {
      if (n & 1) {
        if (b % n) return false;
        int m = b / n;
        int s = m - n / 2;
        if (s < 1) return false;
        cout << s << ' ' << n << '\n';
        return true;
      } else {
        if (b % (n / 2)) return false;
        int m = b / (n / 2);
        if (~m & 1) return false;
        int s = m / 2 - (n / 2 - 1);
        if (s < 1) return false;
        cout << s << ' ' << n << '\n';
        return true;
      }
    };
    for (int n = 2 * sqrt(b) + 10; ; --n) {
      if (chk(n)) break;
    }
  }
}
