#include<bits/stdc++.h> usingnamespace std; #define ll long long constint N = 4e6 + 10; constint INF = 0x3f3f3f3f; const ll inf = 0x3f3f3f3f3f3f3f3f; const ll mod = 998244353; #define ull unsigned ll constdouble eps = 1e-7; #define debug(x) cout<<#x<<":\t"<<x<<endl; int n, m; int a[N], b[N], c[N], d[N], mx[N]; int ans = INF; intmain(){ scanf("%d%d", &n, &m); for (int i = 1; i <= n; i++)scanf("%d%d", &a[i], &b[i]); for (int i = 1; i <= m; i++)scanf("%d%d", &c[i], &d[i]); for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) { if (c[j] >= a[i]) { mx[c[j] - a[i]] = max(mx[c[j] - a[i]], d[j] - b[i] + 1); } } } for (int i = 1000001; i >= 0; i--)mx[i] = max(mx[i], mx[i + 1]); for (int i = 0; i <= 1000001; i++) { ans = min(ans, i + mx[i]); } printf("%d\n", ans); return0; }