F:手套
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

小 Z 从某市场批发了一些手套,具体地,共有 n 只左手手套和 m 只右手手套。

小 Z 准备手动将这些左手手套和右手手套组合起来拼成一对手套,并将其捐给有需要的人。其中 n 只左手手套编号为 1,2,\cdots,n,第 i 只左手手套的尺码为 l_im 只右手手套编号为 1,2,\cdots,m,第 i 只右手手套的尺码为 r_i

如果将第 i(1\le i \le n) 只左手手套和第 j(1\le j \le m) 只右手手套组合成一副手套,那么这副手套的丑陋程度为 |l_i-r_j|,即左手和右手手套尺码差值的绝对值。

小 Z 希望尽最大的可能帮助有需要的人,即他想要配对尽可能多的手套,并且使得配对成的手套的最大丑陋程度最小。请你求出这个最小值。

输入描述:

第一行包含两个正整数 nm ,分别表示左手手套和右手手套的数量。

第二行包含 n 个整数 l_1,l_2,\cdots,l_n 表示左手手套的尺码。

第二行包含 m 个整数 r_1,r_2,\cdots,r_m 表示右手手套的尺码。

输出描述:

输出一行一个整数表示答案。
示例1

输入

复制
2 3
2 3
1 2 3

输出

复制
0

说明

最多可以配对成功 2 副手套,分别让 (l_1,r_2),(l_2,r_3) 进行配对,容易知道此搭配下左手和右手手套尺码差距均为 0
示例2

输入

复制
4 3
2 39 41 45
39 42 46

输出

复制
1

说明

最多可以配对成功 3 副手套,搭配关系为 (l_2,r_1),(l_3,r_2),(l_4, r_3),容易知道此搭配下,手套尺码差距为 0,1,1,最大手套尺码差距为 1
示例3

输入

复制
5 5
7 6 1 2 10
9 11 6 3 12

输出

复制
4

说明

最多可以配对成功 5 副手套,最终的搭配关系为 (l_3=1,r_4=3),(l_4=2,r_3=6),(l_2=6,r_1=9),(l_1=7,r_2=11),(l_5=10,r_5=12),手套尺码差距分别为 2,4,3,4,2,最大手套尺码差值为 4

备注:

对于 20\% 的数据,n=m

对于另外 50\% 的数据,n,m\le 500

对于 100\% 的数据,1 \le n,m \le 1000001 \le l_i, r_i \le 10^9