include <iostream>
#include <cmath>
#include <cstring>
#include <string>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
using namespace std;
const int MAX=2000005;
int a[MAX],s[MAX],d[MAX],ans=0,n;
void work(int x,int r)
{
int v1,v2,f,l;
v1=x/2;
v2=x/2+1;
f=v2-r;
l=v1+r;
if(f<0 || l==f) return;
/*else
{
s[ans]=f;
d[ans]=l;
ans++;
}*/
cout<<f<<" "<<l;
cout<<endl;
}
void job(int x,int r)
{
int v,f,l;
v=r/2;
f=x-v;l=x+v;
if(f<0 || l==f) return;
/*else
{
s[ans]=f;
d[ans]=l;
ans++;
}*/
cout<<f<<" "<<l;
cout<<endl;
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
if((n%i)==0)
{
a[i]=n/i;
}
else continue;
if(a[i]%2==1)
{
job(i,a[i]);
}
else if(a[i]%2==0)
{
if(i%2==1&&a[i]%2==0)
{
work(i,a[i]);
}
}
}
/*sort(s+1,s+1+n);
for(int i=1;i<=ans;i++)
{
cout<<s[i]<<" "<<d[i];
cout<<endl;
}*/
return 0;
}