#include <iostream>
#include <math.h>
using namespace std;

int main()
{
int t, node,nodeatm, count;
cin >> t;
int n[t], m[t];

for (int i = 0; i < t; i++)
{
  cin >> n[i];
  cin >> m[i];
  node = pow(2,n[i])-1;
  count = 0;
  int rem = 0;
  for(int q = 0; q < n[i]; q++)
  {
    nodeatm = pow(2,q) + rem ;
    if(nodeatm <= m[i])
    {
      count++;
      rem = 0;
    }
    else
    {
    	while(nodeatm >= m[i])
    	{
    		nodeatm -= m[i];
    		count++;
    	}
    	rem = nodeatm;
    }

  }
  
  if( rem )
  {
  	count++;
  }
  cout << count << endl;
}

  return 0;
}