/* Look for:
* the exact constraints (multiple sets are too slow for n=10^6 :( )
* special cases (n=1?)
* 1LL<<i and not 1<<i
* overflow (ll vs ll?)
* array bounds
* if you have no idea just guess the appropriate well-known algo instead of doing nothing :/
*/

// Author:: Subash Singha Roy
// Institution:: Jalpaiguri Government Engineering College

#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define dd double
#define fio ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
#define mod (ll)(998244353)
#define sz(a) (ll)a.size()
#define all(a) a.begin(),a.end()
#define fr(i,a,b) for(ll i=a;i<b;i++)
#define frr(i,a,b) for(ll i=a-1;i>=b;i--)
#define pb emplace_back
#define ee emplace
#define rr return 0
#define mp make_pair
#define pr  pair <ll,ll>
#define ff first
#define ss second
#define pie 3.1415926535898
#define inf LLONG_MAX
ll mult(ll a,ll b, ll p=mod){return ((a%p)*(b%p))%p;}
ll add(ll a, ll b, ll p=mod){return (a%p + b%p)%p;}
ll neg(ll a,ll p=mod){return (p-(a%p))%p;}
ll sub(ll a,ll b,ll p=mod){return add(a,neg(b));}
ll fpow(ll x, ll y)  
{  
    ll res = 1;     
    x = x % mod; 
    if (x == 0) return 0; 
    while (y > 0)  
    {  
        if (y & 1LL)  
            res = (res*x) % mod;  
        y = y>>1LL;
        x = (x*x) % mod;  
    }  
    return res;  
}  
ll inv(ll a, ll p = mod) {return fpow(a, p - 2);}
bool sa(const pair<ll,ll> &a,const pair<ll,ll> &b){return (a.second<b.second);}
bool fd(const pair<ll,ll> &a,const pair<ll,ll> &b){return (a.first>b.first);}
bool sd(const pair<ll,ll> &a,const pair<ll,ll> &b){return (a.second>b.second);}
ll dx[4]={0,0,1,-1};
ll dy[4]={1,-1,0,0};
bool valid(ll x,ll y,ll n,ll m){
    if(x<0 || y<0){
       return false;
   }
   else if(x>=n || y>=m){
       return false;
   }
   else
   return true;
}
#define maxn 500005 

int main(){
    fio
    ll T;
    T = 1;
    cin >>T;
    fr(tc,1,T+1){
        // cout<<"Case #"<<tc<<": ";
        ll n,k,k1=0,ans=0,val;
        cin>>n>>k;
        if(n>k){
            val = n/k;
            k1 = k*val;
            if(k1<n){
                k1+=k;
            }
            k = k1;
        }
        // cout<<k<<"\n";
        ans= k/n;
        if(k%n!=0){
            ans++;
        }
        cout<<ans<<"\n";
    }
    rr;
}
### Prompt

Please provide a CPP coded solution to the problem described below:

You are given two integers n and k.

You should create an array of n positive integers a_1, a_2, ..., a_n such that the sum (a_1 + a_2 + ... + a_n) is divisible by k and maximum element in a is minimum possible.

What is the minimum possible maximum element in a?

Input

The first line contains a single integer t (1 ≤ t ≤ 1000) — the number of test cases.

The first and only line of each test case contains two integers n and k (1 ≤ n ≤ 10^9; 1 ≤ k ≤ 10^9).

Output

For each test case, print one integer — the minimum possible maximum element in array a such that the sum (a_1 + ... + a_n) is divisible by k. 

Example

Input


4
1 5
4 3
8 8
8 17


Output


5
2
1
3

Note

In the first test case n = 1, so the array consists of one element a_1 and if we make a_1 = 5 it will be divisible by k = 5 and the minimum possible.

In the second test case, we can create array a = [1, 2, 1, 2]. The sum is divisible by k = 3 and the maximum is equal to 2.

In the third test case, we can create array a = [1, 1, 1, 1, 1, 1, 1, 1]. The sum is divisible by k = 8 and the maximum is equal to 1.

### Response

```cpp
/* Look for:
* the exact constraints (multiple sets are too slow for n=10^6 :( )
* special cases (n=1?)
* 1LL<<i and not 1<<i
* overflow (ll vs ll?)
* array bounds
* if you have no idea just guess the appropriate well-known algo instead of doing nothing :/
*/

// Author:: Subash Singha Roy
// Institution:: Jalpaiguri Government Engineering College

#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define dd double
#define fio ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
#define mod (ll)(998244353)
#define sz(a) (ll)a.size()
#define all(a) a.begin(),a.end()
#define fr(i,a,b) for(ll i=a;i<b;i++)
#define frr(i,a,b) for(ll i=a-1;i>=b;i--)
#define pb emplace_back
#define ee emplace
#define rr return 0
#define mp make_pair
#define pr  pair <ll,ll>
#define ff first
#define ss second
#define pie 3.1415926535898
#define inf LLONG_MAX
ll mult(ll a,ll b, ll p=mod){return ((a%p)*(b%p))%p;}
ll add(ll a, ll b, ll p=mod){return (a%p + b%p)%p;}
ll neg(ll a,ll p=mod){return (p-(a%p))%p;}
ll sub(ll a,ll b,ll p=mod){return add(a,neg(b));}
ll fpow(ll x, ll y)  
{  
    ll res = 1;     
    x = x % mod; 
    if (x == 0) return 0; 
    while (y > 0)  
    {  
        if (y & 1LL)  
            res = (res*x) % mod;  
        y = y>>1LL;
        x = (x*x) % mod;  
    }  
    return res;  
}  
ll inv(ll a, ll p = mod) {return fpow(a, p - 2);}
bool sa(const pair<ll,ll> &a,const pair<ll,ll> &b){return (a.second<b.second);}
bool fd(const pair<ll,ll> &a,const pair<ll,ll> &b){return (a.first>b.first);}
bool sd(const pair<ll,ll> &a,const pair<ll,ll> &b){return (a.second>b.second);}
ll dx[4]={0,0,1,-1};
ll dy[4]={1,-1,0,0};
bool valid(ll x,ll y,ll n,ll m){
    if(x<0 || y<0){
       return false;
   }
   else if(x>=n || y>=m){
       return false;
   }
   else
   return true;
}
#define maxn 500005 

int main(){
    fio
    ll T;
    T = 1;
    cin >>T;
    fr(tc,1,T+1){
        // cout<<"Case #"<<tc<<": ";
        ll n,k,k1=0,ans=0,val;
        cin>>n>>k;
        if(n>k){
            val = n/k;
            k1 = k*val;
            if(k1<n){
                k1+=k;
            }
            k = k1;
        }
        // cout<<k<<"\n";
        ans= k/n;
        if(k%n!=0){
            ans++;
        }
        cout<<ans<<"\n";
    }
    rr;
}
```