#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
void _merge_sort(unsigned int,unsigned int,unsigned int,unsigned int*);
int main(int argc,const char*argv[]) {
unsigned int test;
unsigned int s,t,i,_rec_dept;
while(test--) {
_rec_dept=0;
fscanf(stdin
,"%d%d%d",&s
,&t
,&i
); assert((t
>0 && t
<1001) && (i
>0 && i
<1001) && (s
>=0 && s
<1001)); if((t-s)>0) _merge_sort(s,t,i,&_rec_dept);
}
return 0;
}
void _merge_sort(unsigned int start,unsigned int end,unsigned int i,unsigned int*_rec_dept) {
unsigned int mid;
if(start<=i && end>=i) {
if(start<end) {
(*_rec_dept)++;
mid = ((end-start)/2) + start;
fprintf(stdout
,"%d %d\n", start
,end
); if(mid>=i) _merge_sort(start,mid,i,_rec_dept);
else _merge_sort((mid+1),end,i,_rec_dept);
}
else if((start == i) && (end == i)) {
(*_rec_dept)++;
fprintf(stdout
,"%d %d\n",start
,end
); }
}
else *_rec_dept = -1;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8c3RkbGliLmg+CiNpbmNsdWRlPGFzc2VydC5oPgoKdm9pZCBfbWVyZ2Vfc29ydCh1bnNpZ25lZCBpbnQsdW5zaWduZWQgaW50LHVuc2lnbmVkIGludCx1bnNpZ25lZCBpbnQqKTsKCmludCBtYWluKGludCBhcmdjLGNvbnN0IGNoYXIqYXJndltdKSB7CiAgICB1bnNpZ25lZCBpbnQgdGVzdDsKICAgIHVuc2lnbmVkIGludCBzLHQsaSxfcmVjX2RlcHQ7CiAgICBmc2NhbmYoc3RkaW4sIiVkIiwmdGVzdCk7CiAgICBhc3NlcnQodGVzdD4wICYmIHRlc3Q8MTAwMSk7CiAgICB3aGlsZSh0ZXN0LS0pIHsKICAgICAgICBfcmVjX2RlcHQ9MDsKICAgICAgICBmc2NhbmYoc3RkaW4sIiVkJWQlZCIsJnMsJnQsJmkpOwogICAgICAgIGFzc2VydCgodD4wICYmIHQ8MTAwMSkgJiYgKGk+MCAmJiBpPDEwMDEpICYmIChzPj0wICYmIHM8MTAwMSkpOyAgICAgICAgCiAgICAgICAgaWYoKHQtcyk+MCkgX21lcmdlX3NvcnQocyx0LGksJl9yZWNfZGVwdCk7CiAgICAgICAgZnByaW50ZihzdGRvdXQsIiVkXG4iLF9yZWNfZGVwdCk7CiAgICB9CiAgICByZXR1cm4gMDsKfQoKdm9pZCBfbWVyZ2Vfc29ydCh1bnNpZ25lZCBpbnQgc3RhcnQsdW5zaWduZWQgaW50IGVuZCx1bnNpZ25lZCBpbnQgaSx1bnNpZ25lZCBpbnQqX3JlY19kZXB0KSB7CiAgICB1bnNpZ25lZCBpbnQgbWlkOwogICAgaWYoc3RhcnQ8PWkgJiYgZW5kPj1pKSB7CiAgICAgICAgaWYoc3RhcnQ8ZW5kKSB7CiAgICAgICAgICAgICgqX3JlY19kZXB0KSsrOwogICAgICAgICAgICBtaWQgPSAoKGVuZC1zdGFydCkvMikgKyBzdGFydDsKICAgICAgICAgICAgZnByaW50ZihzdGRvdXQsIiVkICVkXG4iLCBzdGFydCxlbmQpOwogICAgICAgICAgICBpZihtaWQ+PWkpIF9tZXJnZV9zb3J0KHN0YXJ0LG1pZCxpLF9yZWNfZGVwdCk7CiAgICAgICAgICAgIGVsc2UgX21lcmdlX3NvcnQoKG1pZCsxKSxlbmQsaSxfcmVjX2RlcHQpOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmKChzdGFydCA9PSBpKSAmJiAoZW5kID09IGkpKSB7CiAgICAgICAgICAgICgqX3JlY19kZXB0KSsrOwogICAgICAgICAgICBmcHJpbnRmKHN0ZG91dCwiJWQgJWRcbiIsc3RhcnQsZW5kKTsKICAgICAgICB9CiAgICB9CiAgICBlbHNlICpfcmVjX2RlcHQgPSAtMTsKfQ==