class Solution:
def maxDistance(self, arrays: List[List[int]]) -> int:
if arrays[0][-1]>arrays[1][-1]:
l1=arrays[0][-1]
l2=arrays[1][-1]
li=[0]
elif arrays[0][-1]==arrays[1][-1]:
l1=arrays[0][-1]
l2=arrays[0][-1]
li=[0,1]
else:
l1=arrays[1][-1]
l2=arrays[0][-1]
li=[1]
if arrays[0][0]<arrays[1][0]:
s1=arrays[0][0]
s2=arrays[1][0]
si=[0]
elif arrays[0][0]==arrays[1][0]:
s1=arrays[0][0]
s2=arrays[0][0]
si=[0,1]
else:
s1=arrays[1][0]
s2=arrays[0][0]
si=[1]
for i in range(2,len(arrays)):
s2=min(s2,arrays[i][0])
l2=max(l2,arrays[i][-1])
if arrays[i][0]<s1:
s2=s1
s1=arrays[i][0]
si=[i]
elif arrays[i][0]==s1:
si.append(i)
if arrays[i][-1]>l1:
l2=l1
l1=arrays[i][-1]
li=[i]
elif arrays[i][-1]==l1:
li.append(i)
if li[0]!=si[0] or len(li)>1 or len(si)>1:
return l1-s1
else:
return max(l1-s2,l2-s1)