#include <bits/stdc++.h>
using namespace std;
#define ll long long
ll t, n, res, tmp, arr[100009];
ll fast_expo(ll a, ll b){
if(b == 0) return 1;
if(b == 1) return a;
else {
tmp = fast_expo(a, b / 2);
res = tmp*tmp;
if(b % 2 == 1){
res *= a;
}
}
return res;
}
int main(){
cin >> t;
while(t--){
cin >> n;
for(int i = 0; i < n; i++){
cin >> arr[i];
}
ll maks = -1;
for(int i = 1; i < n; i++){
if(arr[i] < arr[i - 1]){
maks = max(maks, arr[i - 1] - arr[i]);
arr[i] = arr[i - 1];
}
}
ll pangkat = 0;
while(fast_expo(2, pangkat) < maks){
pangkat++;
}
if(maks == -1){
cout << 0 << endl;
} else {
cout << pangkat + 1 << endl;
}
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbGwgbG9uZyBsb25nCgpsbCB0LCBuLCByZXMsIHRtcCwgYXJyWzEwMDAwOV07CgpsbCBmYXN0X2V4cG8obGwgYSwgbGwgYil7CglpZihiID09IDApIHJldHVybiAxOwoJaWYoYiA9PSAxKSByZXR1cm4gYTsKCQoJZWxzZSB7CgkJdG1wID0gZmFzdF9leHBvKGEsIGIgLyAyKTsKCQlyZXMgPSB0bXAqdG1wOwoJCWlmKGIgJSAyID09IDEpewoJCQlyZXMgKj0gYTsKCQl9Cgl9CglyZXR1cm4gcmVzOwp9CgppbnQgbWFpbigpewoJY2luID4+IHQ7Cgl3aGlsZSh0LS0pewoJCWNpbiA+PiBuOwoJCWZvcihpbnQgaSA9IDA7IGkgPCBuOyBpKyspewoJCQljaW4gPj4gYXJyW2ldOwoJCX0KCQkKCQlsbCBtYWtzID0gLTE7CgkJZm9yKGludCBpID0gMTsgaSA8IG47IGkrKyl7CgkJCWlmKGFycltpXSA8IGFycltpIC0gMV0pewoJCQkJbWFrcyA9IG1heChtYWtzLCBhcnJbaSAtIDFdIC0gYXJyW2ldKTsKCQkJCWFycltpXSA9IGFycltpIC0gMV07CgkJCX0KCQl9CgkJCgkJbGwgcGFuZ2thdCA9IDA7CgkJd2hpbGUoZmFzdF9leHBvKDIsIHBhbmdrYXQpIDwgbWFrcyl7CgkJCXBhbmdrYXQrKzsKCQl9CgkJCgkJaWYobWFrcyA9PSAtMSl7CgkJCWNvdXQgPDwgMCA8PCBlbmRsOwoJCX0gZWxzZSB7CgkJCWNvdXQgPDwgcGFuZ2thdCArIDEgPDwgZW5kbDsKCQl9Cgl9Cn0=