#include<iostream>#include<algorithm>using namespace std;const int MAXBall=55,MAXFloor=1010;int DP[MAXBall][MAXFloor];int main(){for(int i=0;i<=1000;i++) DP[1][i]=i;for(int i=2;i<=50;i++)for(int j=1;j<=1000;j++){if(i>j) DP[i][j]=DP[j][j]; else DP[i][j]=DP[i-1][j-1]+DP[i][j-1]+1;if(DP[i][j]>1010) DP[i][j]=1010;}int n,th,ball,floor;cin>>n;while(n--){cin>>th>>ball>>floor;cout<<th<<" "<<lower_bound(DP[ball],DP[ball]+1000,floor)-DP[ball]<<endl;}}


