#include <bits/stdc++.h>
using namespace std;
long long A[105];
long long _A(int n) {
  if (n > 90) return A[90];
  return A[n];
}
bool check(int n, int k, long long x) {
  if (_A(n) == A[90]) return 1;
  return x <= _A(n) - ((1ll << k + 1) - 1) * _A(n - k);
}
int main() {
  for (int i = 1; i <= 100; i++) A[i] = A[i - 1] * 4 + 1;
  int T;
  scanf("%d", &T);
  while (T--) {
    int n;
    long long x;
    scanf("%d%I64d", &n, &x);
    int U = 0, L = n + 1;
    long long pw = 2;
    for (int i = 1; i <= 61; i++) {
      if (x >= pw * 2 - 2 - i)
        U = i;
      else
        break;
      pw *= 2;
    }
    for (int i = 1; i <= n; i++) {
      if (check(n, i, x)) {
        L = i;
        break;
      }
    }
    if (L == n + 1)
      printf("NO\n");
    else {
      if (L <= U)
        printf("YES %d\n", n - L);
      else
        printf("NO\n");
    }
  }
  return 0;
}
