#include #include #include #include #define ffor(_a,_f,_t) for(int _a=(_f),__t=(_t);_a<__t;_a++) #define fo(_a,_t) ffor(_a,0,_t) #define feach(_it,_l) for(__typeof(_l.begin()) _it=(_l.begin());_it!=_l.end();_it++) #define sz size() using namespace std; map > pro , sum; __inline void f( map >& first , map >& second ){ for(map >::iterator i = first.begin();i!=first.end();) if(i->second.sz==1){ second[*i->second.begin()].erase(i->first); first.erase(i++); }else ++i; } int main(){ int n,l,r; scanf("%d %d %d",&l,&r,&n); ffor(i,l,r+1) ffor(j,i,r+1) sum[i+j].insert(i*j), pro[i*j].insert(i+j); fo(t,n) f( pro,sum ) , f( sum,pro ); int ppro=-1,psum=-1,a,b; feach(i,pro) if(i->second.sz==1) {ppro = i->first , psum = *i->second.begin();break;} double x1 = (-psum-sqrt(psum*psum*1.-4.*ppro))/-2. , x2 = (-psum+sqrt(psum*psum*1.-4.*ppro))/-2; if(x1>0 && fmod(x1,1.)==0.) b = (int)x1; else b = (int)x2; a = psum-b; printf("%d %d\n",a,b); return 0; }