#include <stdio.h>
#include <memory.h>
int cmp(const void *a,const void *b){
  return *(int *)a-*(int *)b;
}
int max(int a,int b){
  return a>b?a:b;
}
int main(void){
  int n,m,t[20000],i,ans;
  while(1){
    memset(t,0,sizeof(t));
    scanf("%d %d,",&n,&m);
    if(n+m==0)
      break;
    for(i=0;i<n+m;i++)
      scanf("%d",&t[i]);
    qsort(t,n+m,sizeof(int),cmp);
    ans=0;
    if(n+m==1)
      ans=t[0];
    else{
      for(i=1;i<n+m;i++){
	if(t[i]-t[i-1]>ans)
	  ans=t[i]-t[i-1];
      }
    }
    printf("%d\n",ans);
  }
  return 0;
}