#include <bits/stdc++.h>
using namespace std;
int main(){
int m;
cin>>m;
for(int a=1;a*2<=m;++a){
int l=a,r=m;
while(l+1<r){
int mid=l+(r-l)/2;
if(mid*mid+mid<=2*m+a*a-a)
l=mid;
else
r=mid;
}
int b=l;
if((a+b)*(b-a+1)==2*m)
cout<<a<<' '<<b<<endl;
}
}
公式就是
m=2(a+b)(b−a+1),
b2+b=2m+a2−a