#include <stdio.h>
#include <stdlib.h>

int a_max,b_max,total;
int timelist[20000];

int qsort_comp(const void* x,const void* y) {
	int* a=(int*)x;
	int* b=(int*)y;
	if(*a>*b)return 1;
	if(*a<*b)return -1;
	return 0;
}

int main(void) {
	int i;
	int r_max;
	while(1) {
		scanf("%d%d",&a_max,&b_max);
		if(a_max==0 && b_max==0)break;
		timelist[0]=0;
		for(i=0;i<a_max;i++)scanf("%d",&timelist[i+1]);
		for(i=0;i<b_max;i++)scanf("%d",&timelist[a_max+i+1]);
		total=a_max+b_max+1;
		qsort(timelist,total,sizeof(int),qsort_comp);
		for(i=1,r_max=0;i<total;i++) {
			if(timelist[i]-timelist[i-1]>r_max) {
				r_max=timelist[i]-timelist[i-1];
			}
		}
		printf("%d\n",r_max);
	}
	return 0;
}