N, M = io.read("*n", "*n", "*l")
L_max = 0
R_min = 10^5
for i = 1, M do
    L, R = io.read("*n", "*n", "*l")
    L_max = math.max(L, L_max)
    R_min = math.min(R, R_min)
end
print(math.max(0, R_min-L_max+1))