/*
题目描述:
给定n和k,求从1开始的第k个不被n整除的数
*/#include <iostream>
/*
令ans = x(以下过程除法结果均向下取整(int相除),用[]表示向下取整符号)
则x应满足 [x/n]+k=x , n,k均为输入
即在[1--x]内共有x个数字,其中有k个不被n整除, 即 x个数 = k个数 + [x/n]个数
有时,上式可以有两个解,一个是x,另一个是x-1,其中x为n的倍数,此时应取x-1x = an+b(0<=b<=n-1) ==> a+k=an+b ==> k=a(n-1)+b
b = k%(n-1)
b==0时, k=a(n-1), a=[k/(n-1)]x = an+b = [k/(n-1)]*n但是此时,x也是n的倍数, x本身需要除去,此时[1--x-1]内已有k个不被n整除的数,因此x应减1, 即x = [k/(n-1)]*n-1[k/(n-1)]*n - 1
b==(n-1)时, k=(a+1)(n-1) , 则[k/(n-1)]=a+1x = an+b = ([k/n-1]-1)*n + (n-1) = [k/(n-1)]*n-1[k/(n-1)]*n - 1
b!=n-1时,1<=b<=(n-2) ==> a=[k/(n-1)], b=k%(n-1)x = an+b = [k/(n-1)]*n + k%(n-1);[k/(n-1)]*n + k%(n-1)
由于前两种情况k%(n-1) = 0,可以在表达式后加上"k%(n-1)"而不影响结果可以统一为 x = [k/(n-1)]*n + k%(n-1)
*/
void solve2(){int n,k;std::cin>>n>>k;int ans = (k/(n-1))*n+k%(n-1) - (k%(n-1)==0); std::cout<<ans<<std::endl;
}/*
先让ans = k
先假设ans为第k个数,其中[1--k]中有k/n个能被n整除的数,它们不算在计数内
因此第k个数应为第k-k/n个数,
则让ans前进k/n个数,即ans += k/n
之后再检查前进的范围内是否有新的能被n整除的数,
如果有,说明前进后仍达不到第k个,需要再前进范围内能被n整除的数的个数重复直到前进的范围内没有新的能被n整除的数
*/
void solve(){int n,k;std::cin>>n>>k;int counted = 0;int ans = k;while(ans/n > counted){int temp = ans/n;ans += temp-counted;counted = temp;}std::cout<<ans<<std::endl;
}
int main(){int t;std::cin>>t;while(t--){solve2();}
}