#include <stdio.h>
#include<stdio.h>
int MIN(int n,int m){
    if (n>m) {
        return n;
    }else return m;
    
}
int main(){
    int T,n;
	int i=0,j=0,k=0,f=1;
    int m1[9999],m2[9999];
    scanf("%d", &T);
    for (i=0; i<T; i++) {//组数
        scanf("%d",&n);
        for (j=0; j<=n; j++) {
            scanf("%d",&m1[j]);
        }
        for (k=0; k<=n; k++) {
                scanf("%d",&m2[k]);
            }
        for (k=n; k>=0; k--) {
            if (m1[k]==0&&m2[k]!=0) {//上是0
                printf("0 1\n");
                break;
            }else if (m1[k]==0&&m2[k]==0){//都是0
                continue;
            }else if (m2[k]==0&&m1[k]!=0){//下是0
                printf("infty\n");
                break;
            }else if (m1[k]!=0&&m2[k]!=0){//都不0
                for (f=1; f<MIN(m1[k],m2[k]); f++) {
                    if (m1[k]%f==0&&m2[k]%f==0) {
                        m1[k]/=f;
                        m2[k]/=f;
                    }
                }
                printf("%d %d\n",m1[k],m2[k]);
                break;
            }
        }
        }
    
return 0;}