#include <bits/stdc++.h>
#define mp make_pair
#define fi first
#define se second
#define pb push_back
#define eb emplace_back
#define all(x) (x).begin(), (x).end()
#define rall(x) (x).rbegin(), (x).rend()
#define forn(i, n) for (int i = 0; i < (int)(n); ++i)
#define for1(i, n) for (int i = 1; i <= (int)(n); ++i)
#define ms(x, y) memset(x, y, sizeof(x))
#define SZ(x) int(x.size())
#define fk cout<<"fk"<<endl
#define db(x) cout<<(#x)<<'='<<(x)<<endl
#define db2(x,y) cout<<(#x)<<'='<<(x)<<' '<<(#y)<<'='<<(y)<<endl
using namespace std;
typedef pair<int, int> pii;
typedef vector<int> vi;
typedef long long i64;
template<class T> bool uin(T &a, T b) { return a > b ? (a = b, true) : false; }
template<class T> bool uax(T &a, T b) { return a < b ? (a = b, true) : false; }
void fastio(){ios::sync_with_stdio(false); cin.tie(0); cout.precision(10); cout<<fixed;}
//1.integer overflow (1e5 * 1e5) (2e9 + 2e9)
//2.runtime error
//3.boundary condition
i64 tc,n,k;
int main() {
    fastio();

    cin>>tc;
    while(tc--){
    	cin>>n>>k;
    	if(n%2==0){
    		if(k%n==0) cout<<n<<'\n';
    		else cout<<k%n<<'\n';
    	} else{
    		i64 number_one=(n+1)/2;
    		if(k<number_one) cout<<k<<'\n';
    		else{
    			i64 a_k=k;
    			i64 now=(n+1)/2+1;
    			k-=(n+1)/2;
    			i64 temp=(n-1)/2;
    			now+=k/temp+k;
    			now%=n;
    			if(!now) cout<<n<<'\n';
    			else cout<<now<<'\n';
    		}
    	}
    }
    return 0;
}
