import java.util.*;
import java.lang.*;
import java.io.*;
 
class Codechef
{
    static HashMap
<Integer,Integer
> map
=new HashMap
<>();  
	{
		Scanner sc
=new Scanner
(System.
in);		int t=sc.nextInt();
		while(t-->0){
		    int n=sc.nextInt();
		    int [] a=new int[n];
		    int [] b=new int[n]; 
 
		    for(int i=0;i<n;i++){
		        a[i]=sc.nextInt();
		    }
		    for(int i=0;i<n;i++){
		        b[i]=sc.nextInt();
		    }
		    int ans=solve(a,b);
		}
		sc.close();
	}
 
	public static int solve(int []a, int []b){
	    int n=a.length;
	    int maxGCD=1;
 
	    for(int i=0;i<n-1;i++){
	        for(int j=i+1;j<n;j++){
	            int g=gcd(a[i],a[j]);
	            maxGCD
=Math.
max(maxGCD,g
);	        }
	    }
	    if(maxGCD>1) return 0; 
 
 
	    int Ecnt=0;
	    map.clear();
	    for(int num : a){
	        addFactors(num);
	        if(num%2==0) Ecnt++;
	    }
	    if(Ecnt>=1) return 1; 
 
 
	    for(int i=0;i<n;i++){
	        removeFactors(a[i]); 
	        if(cFactor(a[i]+1)) return 1;
	        addFactors(a[i]); 
	    }
 
	    return 2; 
	}
 
	public static int gcd(int a, int b) {
        while (b != 0) {
            int temp = b;
            b = a % b;
            a = temp;
        }
    }
 
    public static void addFactors(int n) {
        for (int i = 2; i * i <= n; i++) {
            if (n % i == 0) {
                map.put(i, map.getOrDefault(i, 0) + 1);
                if(i != n/i) map.put(n/i, map.getOrDefault(n/i, 0) + 1);
            }
        }
        map.put(n, map.getOrDefault(n, 0)+1);
    }
 
    public static void removeFactors(int n){
        for (int i = 2; i * i <= n; i++) {
            if (n % i == 0) {
                map.put(i, map.get(i)-1);
                if(map.get(i)==0) map.remove(i);
                if(i != n/i){
                    map.put(n/i, map.get(n/i)-1);
                    if(map.get(n/i)==0) map.remove(n/i);
                }
            }
        }
        map.put(n, map.get(n)-1);
        if(map.get(n)==0) map.remove(n);
    }
 
    public static boolean cFactor(int n){
        for(int i=2;i*i<=n;i++){
            if(n%i==0){
                if(map.containsKey(i)) return true;
                if(i!=n/i && map.containsKey(n/i)) return true;
            }
        }
        return map.containsKey(n);
    }
}
 
				aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgpjbGFzcyBDb2RlY2hlZgp7CiAgICBzdGF0aWMgSGFzaE1hcDxJbnRlZ2VyLEludGVnZXI+IG1hcD1uZXcgSGFzaE1hcDw+KCk7CiAgICAKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCVNjYW5uZXIgc2M9bmV3IFNjYW5uZXIoU3lzdGVtLmluKTsKCQlpbnQgdD1zYy5uZXh0SW50KCk7CgkJd2hpbGUodC0tPjApewoJCSAgICBpbnQgbj1zYy5uZXh0SW50KCk7CgkJICAgIGludCBbXSBhPW5ldyBpbnRbbl07CgkJICAgIGludCBbXSBiPW5ldyBpbnRbbl07IAoKCQkgICAgZm9yKGludCBpPTA7aTxuO2krKyl7CgkJICAgICAgICBhW2ldPXNjLm5leHRJbnQoKTsKCQkgICAgfQoJCSAgICBmb3IoaW50IGk9MDtpPG47aSsrKXsKCQkgICAgICAgIGJbaV09c2MubmV4dEludCgpOwoJCSAgICB9CgkJICAgIGludCBhbnM9c29sdmUoYSxiKTsKCQkgICAgU3lzdGVtLm91dC5wcmludGxuKGFucyk7CgkJfQoJCXNjLmNsb3NlKCk7Cgl9CgkKCXB1YmxpYyBzdGF0aWMgaW50IHNvbHZlKGludCBbXWEsIGludCBbXWIpewoJICAgIGludCBuPWEubGVuZ3RoOwoJICAgIGludCBtYXhHQ0Q9MTsKCSAgIAoJICAgIGZvcihpbnQgaT0wO2k8bi0xO2krKyl7CgkgICAgICAgIGZvcihpbnQgaj1pKzE7ajxuO2orKyl7CgkgICAgICAgICAgICBpbnQgZz1nY2QoYVtpXSxhW2pdKTsKCSAgICAgICAgICAgIG1heEdDRD1NYXRoLm1heChtYXhHQ0QsZyk7CgkgICAgICAgIH0KCSAgICB9CgkgICAgaWYobWF4R0NEPjEpIHJldHVybiAwOyAKCgkgICAKCSAgICBpbnQgRWNudD0wOwoJICAgIG1hcC5jbGVhcigpOwoJICAgIGZvcihpbnQgbnVtIDogYSl7CgkgICAgICAgIGFkZEZhY3RvcnMobnVtKTsKCSAgICAgICAgaWYobnVtJTI9PTApIEVjbnQrKzsKCSAgICB9CgkgICAgaWYoRWNudD49MSkgcmV0dXJuIDE7IAoKCSAKCSAgICBmb3IoaW50IGk9MDtpPG47aSsrKXsKCSAgICAgICAgcmVtb3ZlRmFjdG9ycyhhW2ldKTsgCgkgICAgICAgIGlmKGNGYWN0b3IoYVtpXSsxKSkgcmV0dXJuIDE7CgkgICAgICAgIGFkZEZhY3RvcnMoYVtpXSk7IAoJICAgIH0KCgkgICAgcmV0dXJuIDI7IAoJfQoJCglwdWJsaWMgc3RhdGljIGludCBnY2QoaW50IGEsIGludCBiKSB7CiAgICAgICAgd2hpbGUgKGIgIT0gMCkgewogICAgICAgICAgICBpbnQgdGVtcCA9IGI7CiAgICAgICAgICAgIGIgPSBhICUgYjsKICAgICAgICAgICAgYSA9IHRlbXA7CiAgICAgICAgfQogICAgICAgIHJldHVybiBNYXRoLmFicyhhKTsKICAgIH0KICAgIAogICAgcHVibGljIHN0YXRpYyB2b2lkIGFkZEZhY3RvcnMoaW50IG4pIHsKICAgICAgICBmb3IgKGludCBpID0gMjsgaSAqIGkgPD0gbjsgaSsrKSB7CiAgICAgICAgICAgIGlmIChuICUgaSA9PSAwKSB7CiAgICAgICAgICAgICAgICBtYXAucHV0KGksIG1hcC5nZXRPckRlZmF1bHQoaSwgMCkgKyAxKTsKICAgICAgICAgICAgICAgIGlmKGkgIT0gbi9pKSBtYXAucHV0KG4vaSwgbWFwLmdldE9yRGVmYXVsdChuL2ksIDApICsgMSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgbWFwLnB1dChuLCBtYXAuZ2V0T3JEZWZhdWx0KG4sIDApKzEpOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCByZW1vdmVGYWN0b3JzKGludCBuKXsKICAgICAgICBmb3IgKGludCBpID0gMjsgaSAqIGkgPD0gbjsgaSsrKSB7CiAgICAgICAgICAgIGlmIChuICUgaSA9PSAwKSB7CiAgICAgICAgICAgICAgICBtYXAucHV0KGksIG1hcC5nZXQoaSktMSk7CiAgICAgICAgICAgICAgICBpZihtYXAuZ2V0KGkpPT0wKSBtYXAucmVtb3ZlKGkpOwogICAgICAgICAgICAgICAgaWYoaSAhPSBuL2kpewogICAgICAgICAgICAgICAgICAgIG1hcC5wdXQobi9pLCBtYXAuZ2V0KG4vaSktMSk7CiAgICAgICAgICAgICAgICAgICAgaWYobWFwLmdldChuL2kpPT0wKSBtYXAucmVtb3ZlKG4vaSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgbWFwLnB1dChuLCBtYXAuZ2V0KG4pLTEpOwogICAgICAgIGlmKG1hcC5nZXQobik9PTApIG1hcC5yZW1vdmUobik7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBib29sZWFuIGNGYWN0b3IoaW50IG4pewogICAgICAgIGZvcihpbnQgaT0yO2kqaTw9bjtpKyspewogICAgICAgICAgICBpZihuJWk9PTApewogICAgICAgICAgICAgICAgaWYobWFwLmNvbnRhaW5zS2V5KGkpKSByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgICAgIGlmKGkhPW4vaSAmJiBtYXAuY29udGFpbnNLZXkobi9pKSkgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIG1hcC5jb250YWluc0tleShuKTsKICAgIH0KfQo=