require 'pp'

n = gets.to_i

lr = []
n.times do |i|
  lr << gets.split.map(&:to_i) + [i+1] # l r i
end

# pp lr
res = 0
lrsl = lr.sort_by{|x|x[0]} # l
(n-1).times do |i|
  # puts '-----'
  # p lrsl[0..i]
  lll = lrsl[0..i][-1][0]
  rrr = lrsl[0..i].map{|x|x[1]}.min
  # p [lll,rrr]
  fast = rrr - lll + 1
  # puts '-'
  lrsl[(i+1)..(n-1)]
  lll = lrsl[(i+1)..(n-1)][-1][0]
  rrr = lrsl[(i+1)..(n-1)].map{|x|x[1]}.min
  # p [lll,rrr]
  last = rrr - lll + 1
  # puts '-'
  r = fast + last
  res = r if r > res
end
p res
# puts '-----------------'
# exit
# pp lrsr = lr.sort_by{|x|x[1]} # r
# (n-1).times do |i|
#   puts '-----'
#   p lrsr[0..i]
#   lll = lrsr[0..i][-1][0]
#   rrr = lrsr[0..i].map{|x|x[1]}.min
#   p [lll,rrr]
#   p rrr - lll + 1
#   puts '-'
#   p lrsl[(i+1)..(n-1)]
#   lll = lrsl[(i+1)..(n-1)][-1][0]
#   rrr = lrsl[(i+1)..(n-1)].map{|x|x[1]}.min
#   p [lll,rrr]
#   p rrr - lll + 1
# end



# 6 34 540049931
