#include <cstdio>
#include <memory.h>
#include <algorithm>
using namespace std;

int dis[111111];

int main(void)
{
	int d, n, m, k, i, ans;
    
    while (1)
    {
        scanf("%d" ,&d);
        if (d == 0)
            break;
        scanf("%d %d" ,&n, &m);
        
        memset(dis, 0, sizeof(dis));
        
    	for (i = 1; i < n; i++)
    		scanf("%d" ,&dis[i + 1]);
    	dis[++n] = d;

    	sort(dis + 1, dis + n + 1);
    
        ans = 0;
    	while (m--)
    	{
    		scanf("%d" ,&k);
    
    		int next = lower_bound(dis + 1, dis + n + 1, k) - dis;
    
    		ans += min(dis[next] - k, k - dis[next - 1]);
    	}
    
    	printf("%d\n" ,ans);   
    }
	return 0;
}
