#include <cstring>
#include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>
#include <memory.h>
 
using namespace std;
#define FOR(i,a)    for(int i = 0;i < a;i++)
#define REP(i,a,b)  for(int i = a;i < b;i++)
#define vi vector<int>
int gcdr ( int a, int b )
{
  if ( a==0 ) return b;
  return gcdr ( b%a, a );
}
 
int main()
{
 ios_base::sync_with_stdio(false);
 cin.tie(NULL);
 int t,n;
 int ar[100001];
 cin>>t;
 while(t--)
 {
  cin>>n;
  FOR(i,n)
  {
   cin>>ar[i];	
  }
  int flag=0;
  FOR(i,n-1)
  {
   if(gcdr(ar[i],ar[i+1])==1)
   {
    flag=1;
    break;
   }
  }
  if(flag==0)
  cout<<-1<<endl;
  else
  cout<<n<<endl;
 }
 cin.get();cin.get();
 return 0;
}
