#include <stdio.h>
int main(){
  int i,j,n,m,max=0,koukan,sa,tl,tr,t[2000000];

  while(1){
    scanf("%d %d",&n,&m);
    if(n==0&&m==0)break;
    j=0;
    if(n!=0){
      for(i=0;i<n;i++){
	scanf("%d",&tl);
	t[j]=tl;
	j++;
      }
    }
    if(m!=0){
      for(i=0;i<m;i++){
	scanf("%d",&tr);
	t[j]=tr;
	j++;
      }
    }
    for(i=0;i<n+m;i++){
      koukan=t[i];
      j=i-1;
      while(j>=0&&t[j]>koukan){
	t[j+1]=t[j];
	j--;
	t[j+1]=koukan;
      }
    }
    //for(i=0;i<n+m;i++)printf("t[%d]=%d\n",i,t[i]);
    if(n+m==1)printf("%d\n",t[0]);
    else{
      for(i=0;i<n+m-1;i++){
	sa=t[i+1]-t[i];
	if(sa>max)max=sa;
      }
      printf("%d\n",max);
      max=0;
    }
  }
  return 0;
}