#include<stdio.h>
#define N 200
void find(int samx,int samy,int x[],int y[],int a[]);
int main(void){
  int n,m,data_n[N],data_m[N],i,sum_n=0,sum_m=0,a[3];
  while(1){
    sum_m=0;
    sum_n=0;
    scanf("%d %d",&n,&m);
    if(n==m && n==0)
      break;
    for(i=0;i<n;i++){
      scanf("%d",&data_n[i]);
      sum_n=sum_n+data_n[i];
    }
    for(i=0;i<m;i++){
      scanf("%d",&data_m[i]);
      sum_m=sum_m+data_m[i];
    }
    if(sum_m<sum_n){
      a[0]=n;
      a[1]=m;
      a[2]=0;
      find(sum_m,sum_n,data_m,data_n,a);
    }
    else{
      a[0]=m;
      a[1]=n;
      a[2]=1;
      find(sum_n,sum_m,data_n,data_m,a);
    }
    if(a[0]!=-1){
      if(a[2]==0){
	printf("%d %d\n",a[0],a[1]);
      }
      else{
	printf("%d %d\n",a[1],a[0]);
      }
    }
    else{
      printf("%d\n",a[0]);
    }
  }
  return 0;
}
void find(int samx,int samy,int x[],int y[],int a[]){
  int i,flag=0,cpx=N,cpy=N,sumdata=N+N,sumcp;
  int n=a[0],m=a[1],j;
  for(i=0;i<n;i++){
    for(j=0;j<m;j++){
      if((samy-samx)%2!=0){
	flag=2;
	break;
      }
      if(y[i]-x[j]==(samy-samx)/2){
	cpx=y[i];
	cpy=x[j];
	sumcp=y[i]+x[j];
	flag=1;
      }
      if(flag==1 && sumdata>sumcp){
	a[0]=cpx;
	a[1]=cpy;
	sumdata=sumcp;
	flag=0;
      }	
    }
    if(flag==2){
      break;
    }
  }
  if(sumdata==N+N || a[0]==0 || flag==2)
    a[0]=-1;
}