/*/
Author: _Chaitanya1999
"Everything in this world is magic, except to the magician"
/*/
#include<bits/stdc++.h>
using namespace std;
/*/---------------------------Defines-----------------------------------------/*/
#pragma GCC optimize("Ofast")
#define int long long
#define IOS ios_base::sync_with_stdio(false);cin.tie(NULL);
#define pb push_back
#define eb emplace_back
#define fn for(int i =0 ;i <n;i++)
#define fn1 for( int i =1;i<=n; i++)
#define fm for(int j =0 ;j <m;j++)
#define fm1 for(int j =1;j<=m;j++)
#define fi first
#define se second
#define endl '\n'
#define PI 3.14159265358979323846
#define MOD 1000000007
#define all(a) a.begin(),a.end()
#define rall(a) a.rbegin(),a.rend()
const int N = 2e6+5;
const int INF = 1e18L;
// for all eight directions
int dx[8] = {-1, -1, -1, 0, 1, 1, 1, 0};
int dy[8] = {-1, 0, 1, 1, 1, 0, -1, -1};
// for all 4 directions
//int dx[4]={-1,1,0,0};
//int dy[4]={0,0,-1,1};
//mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());
/*/-----------------------------Debug begins----------------------------------/*/
vector<string> split(const string& s, char c) {
vector<string> v; stringstream ss(s); string x;
while (getline(ss, x, c)) v.emplace_back(x); return move(v);
}
template<typename T, typename... Args>
inline string arrStr(T arr, int n) {
stringstream s; s << "[";
for(int i = 0; i < n - 1; i++) s << arr[i] << ",";
if(n>0)
s << arr[n - 1] ;
s<< "]";
return s.str();
}
#define trace(args...) {__trace_begin(__LINE__); __trace(split(#args, ',').begin(), args);}
inline void __trace_begin(int line) { cerr << "#" << line << ": "; }
template<typename T> inline void __trace_out_var(vector<T> val) { cerr << arrStr(val, val.size()); }
template<typename T> inline void __trace_out_var(T* val) { cerr << arrStr(val, 10); }
template<typename T> inline void __trace_out_var(T val) { cerr << val; }
inline void __trace(vector<string>::iterator it) { cerr << endl; }
template<typename T, typename... Args>
inline void __trace(vector<string>::iterator it, T a, Args... args) {
cerr << it->substr((*it)[0] == ' ', it->length()) << "=";
__trace_out_var(a);
cerr << "; ";
__trace(++it, args...);
}
/*/-----------------------------Code begins----------------------------------/*/
int ar[N];
signed main(){
IOS;
int T=1;
cin >> T;
while(T--){
int n;
cin >> n ;
int dp[n][3];
fn{
cin >> ar[i];
dp[i][0]=dp[i][1]=dp[i][2]=0;
}
dp[0][0]=ar[0];
dp[0][1]=ar[0]+1;
dp[0][2]=ar[0]-1;
for(int i=1;i<n;i++){
dp[i][0]=max({__gcd(ar[i],dp[i-1][0]),__gcd(ar[i],dp[i-1][1]),__gcd(ar[i],dp[i-1][2])});
dp[i][1]=max({__gcd(ar[i]+1,dp[i-1][0]),__gcd(ar[i]+1,dp[i-1][1]),__gcd(1+ar[i],dp[i-1][2])});
dp[i][2]=max({__gcd(ar[i]-1,dp[i-1][0]),__gcd(ar[i]-1,dp[i-1][1]),__gcd(ar[i]-1,dp[i-1][2])});
}
int ans=max({3ll,dp[n-1][0],dp[n-1][1],dp[n-1][2]});
cout << ans << endl;
}
return 0;
}
LyovIAoJIEF1dGhvcjogX0NoYWl0YW55YTE5OTkKCSAiRXZlcnl0aGluZyBpbiB0aGlzIHdvcmxkIGlzIG1hZ2ljLCBleGNlcHQgdG8gdGhlIG1hZ2ljaWFuIgovKi8KI2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsgICAgCgovKi8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1EZWZpbmVzLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vKi8KCiNwcmFnbWEgR0NDIG9wdGltaXplKCJPZmFzdCIpIAojZGVmaW5lIGludCBsb25nIGxvbmcKI2RlZmluZSBJT1MgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7Y2luLnRpZShOVUxMKTsKI2RlZmluZSBwYiBwdXNoX2JhY2sgCiNkZWZpbmUgZWIgZW1wbGFjZV9iYWNrCiNkZWZpbmUgZm4gZm9yKGludCBpID0wIDtpIDxuO2krKykgIAojZGVmaW5lIGZuMSBmb3IoIGludCBpID0xO2k8PW47IGkrKykKI2RlZmluZSBmbSBmb3IoaW50IGogPTAgO2ogPG07aisrKQojZGVmaW5lIGZtMSBmb3IoaW50IGogPTE7ajw9bTtqKyspCiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKI2RlZmluZSBlbmRsICdcbicKI2RlZmluZSBQSSAgMy4xNDE1OTI2NTM1ODk3OTMyMzg0NgojZGVmaW5lIE1PRCAxMDAwMDAwMDA3CiNkZWZpbmUgYWxsKGEpIGEuYmVnaW4oKSxhLmVuZCgpCiNkZWZpbmUgcmFsbChhKSBhLnJiZWdpbigpLGEucmVuZCgpCmNvbnN0IGludCBOID0gMmU2KzU7ICAgIApjb25zdCBpbnQgSU5GID0gMWUxOEw7Ci8vIGZvciBhbGwgZWlnaHQgZGlyZWN0aW9ucwppbnQgZHhbOF0gPSB7LTEsIC0xLCAtMSwgMCwgMSwgMSwgMSwgMH07CmludCBkeVs4XSA9IHstMSwgMCwgMSwgMSwgMSwgMCwgLTEsIC0xfTsKLy8gZm9yIGFsbCA0IGRpcmVjdGlvbnMKLy9pbnQgZHhbNF09ey0xLDEsMCwwfTsKLy9pbnQgZHlbNF09ezAsMCwtMSwxfTsKLy9tdDE5OTM3XzY0IHJuZyhjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCkudGltZV9zaW5jZV9lcG9jaCgpLmNvdW50KCkpOwovKi8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLURlYnVnIGJlZ2lucy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vKi8KdmVjdG9yPHN0cmluZz4gc3BsaXQoY29uc3Qgc3RyaW5nJiBzLCBjaGFyIGMpIHsKICB2ZWN0b3I8c3RyaW5nPiB2OyBzdHJpbmdzdHJlYW0gc3Mocyk7IHN0cmluZyB4OwogIHdoaWxlIChnZXRsaW5lKHNzLCB4LCBjKSkgdi5lbXBsYWNlX2JhY2soeCk7IHJldHVybiBtb3ZlKHYpOwp9CnRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lLi4uIEFyZ3M+CmlubGluZSBzdHJpbmcgYXJyU3RyKFQgYXJyLCBpbnQgbikgewogIHN0cmluZ3N0cmVhbSBzOyBzIDw8ICJbIjsKICBmb3IoaW50IGkgPSAwOyBpIDwgbiAtIDE7IGkrKykgcyA8PCBhcnJbaV0gPDwgIiwiOwogIGlmKG4+MCkKICBzIDw8IGFycltuIC0gMV0gOwogIHM8PCAiXSI7CiAgcmV0dXJuIHMuc3RyKCk7Cn0KI2RlZmluZSB0cmFjZShhcmdzLi4uKSB7X190cmFjZV9iZWdpbihfX0xJTkVfXyk7IF9fdHJhY2Uoc3BsaXQoI2FyZ3MsICcsJykuYmVnaW4oKSwgYXJncyk7fQppbmxpbmUgdm9pZCBfX3RyYWNlX2JlZ2luKGludCBsaW5lKSB7IGNlcnIgPDwgIiMiIDw8IGxpbmUgPDwgIjogIjsgfQp0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUgdm9pZCBfX3RyYWNlX291dF92YXIodmVjdG9yPFQ+IHZhbCkgeyBjZXJyIDw8IGFyclN0cih2YWwsIHZhbC5zaXplKCkpOyB9CnRlbXBsYXRlPHR5cGVuYW1lIFQ+IGlubGluZSB2b2lkIF9fdHJhY2Vfb3V0X3ZhcihUKiB2YWwpIHsgY2VyciA8PCBhcnJTdHIodmFsLCAxMCk7IH0KdGVtcGxhdGU8dHlwZW5hbWUgVD4gaW5saW5lIHZvaWQgX190cmFjZV9vdXRfdmFyKFQgdmFsKSB7IGNlcnIgPDwgdmFsOyB9CmlubGluZSB2b2lkIF9fdHJhY2UodmVjdG9yPHN0cmluZz46Oml0ZXJhdG9yIGl0KSB7IGNlcnIgPDwgZW5kbDsgfQogCnRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lLi4uIEFyZ3M+CmlubGluZSB2b2lkIF9fdHJhY2UodmVjdG9yPHN0cmluZz46Oml0ZXJhdG9yIGl0LCBUIGEsIEFyZ3MuLi4gYXJncykgewogIGNlcnIgPDwgaXQtPnN1YnN0cigoKml0KVswXSA9PSAnICcsIGl0LT5sZW5ndGgoKSkgPDwgIj0iOwogIF9fdHJhY2Vfb3V0X3ZhcihhKTsKICBjZXJyIDw8ICI7ICI7CiAgX190cmFjZSgrK2l0LCBhcmdzLi4uKTsKfQovKi8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLUNvZGUgYmVnaW5zLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8qLwppbnQgYXJbTl07CnNpZ25lZCBtYWluKCl7CiAgSU9TOwogIGludCBUPTE7CiAgY2luID4+IFQ7CiAgd2hpbGUoVC0tKXsKICAJaW50IG47CiAgCWNpbiA+PiBuIDsKICAJaW50IGRwW25dWzNdOwogIAlmbnsKICAJCWNpbiA+PiBhcltpXTsKICAJCWRwW2ldWzBdPWRwW2ldWzFdPWRwW2ldWzJdPTA7CiAgCX0KICAJZHBbMF1bMF09YXJbMF07CiAgCWRwWzBdWzFdPWFyWzBdKzE7CiAgCWRwWzBdWzJdPWFyWzBdLTE7CiAgCWZvcihpbnQgaT0xO2k8bjtpKyspewogIAkJZHBbaV1bMF09bWF4KHtfX2djZChhcltpXSxkcFtpLTFdWzBdKSxfX2djZChhcltpXSxkcFtpLTFdWzFdKSxfX2djZChhcltpXSxkcFtpLTFdWzJdKX0pOwogIAkJZHBbaV1bMV09bWF4KHtfX2djZChhcltpXSsxLGRwW2ktMV1bMF0pLF9fZ2NkKGFyW2ldKzEsZHBbaS0xXVsxXSksX19nY2QoMSthcltpXSxkcFtpLTFdWzJdKX0pOwogIAkJZHBbaV1bMl09bWF4KHtfX2djZChhcltpXS0xLGRwW2ktMV1bMF0pLF9fZ2NkKGFyW2ldLTEsZHBbaS0xXVsxXSksX19nY2QoYXJbaV0tMSxkcFtpLTFdWzJdKX0pOwogIAl9CiAgCWludCBhbnM9bWF4KHszbGwsZHBbbi0xXVswXSxkcFtuLTFdWzFdLGRwW24tMV1bMl19KTsKICAJY291dCA8PCBhbnMgPDwgZW5kbDsKCiAgfQogIHJldHVybiAwOwp9