这是一场牛客的比赛
但是选项里没有牛客 所以就选了AcWing
/*
这题关键是找一个节点的父亲节点
通过不断让大点的父亲节点 与 小点比较直到相等
这题死在思维
*/
#include <set>
#include <math.h>
#include <stdio.h>
#include <iostream>
#include <algorithm>
using namespace std;
const int N = 1e6 + 5;
int n,x,y;
int solve(int x, int y)
{
while(x != y)
{
if(x < y) swap(x, y);
if(x % n <= 1) x /= n;
else x /= n, x++;
}
return x;
}
int main()
{
int t; scanf("%d", &t);
while(t--)
{
scanf(" %d %d %d", &n, &x, &y);
if(n == 1) printf("%d\n", min(x, y));
else
{
int ans = solve(x, y);
printf("%d\n", ans);
}
}
return 0;
}