#include<bits/stdc++.h> typedeflonglong LL; usingnamespace std; constint N = 2e5 + 1; LL A[N], B[N], rev[N]; int n; inline LL gcd(LL a, LL b){ while (b){ a %= b; a ^= b ^= a ^= b; } return a; } signedmain(){ int t; cin >> t; while (t--){ cin >> n; for (int i = 1; i <= n; ++i) cin >> A[i]; for (int i = 1; i < n; ++i) B[i] = abs(A[i] - A[i + 1]), rev[i] = 0; int l = 1, mid = 0; int ans = 1; LL sum = 0; for (int r = 1; r < n; ++r){ sum = gcd(sum, B[r]); while (l <= mid && gcd(sum, rev[l]) == 1) ++l; if (l > mid){ // 超过mid时重新计算 mid = r, rev[mid] = B[mid]; for (int i = mid - 1; i >= l; --i){ rev[i] = gcd(rev[i + 1], B[i]); } sum = 0; } while (l <= mid && gcd(sum, rev[l]) == 1) ++l; ans = max(ans, r - l + 2); } cout << ans << endl; } return0; }