#include<bits/stdc++.h>
using namespace std;
int main(){
  int i,j,N;
  while(1){
    scanf("%d",&N);
    if(N==0)return 0;
    //mid*2,cnt
    pair<int,int> ans=make_pair(0,0);
    for(i=1;i*i<=N;++i){
      if(N%i==0){
        j=N/i;
        if(j&1){
          if(i-j/2>=1&&ans.second<=j){
            ans=pair<int,int>(i*2,j);
          }
          if(j-i*2>=1&&ans.second<=i*2){
            ans=pair<int,int>(j,i*2);
          }
        }
        swap(i,j);
        if(j&1){
          if(i-j/2>=1&&ans.second<j){
            ans=pair<int,int>(i*2,j);
          }
          if(j-i*2>=1&&ans.second<i*2){
            ans=pair<int,int>(j,i*2);
          }
        }
        swap(i,j);
      }
    }
    cout<<(ans.first-ans.second)/2+1<<" "<<ans.second<<endl;
  }
}
