>>107499762
>>107499781
here is the line
print(max(map(lambda p:(abs(p[1][1]-p[0][1])+1)*(abs(p[1][0]-p[0][0])+1),[((coords := [list(map(int,line.split(","))) for line in open("input.txt").read().splitlines()])[i],coords[j]) for i in range(len(open("input.txt").read().splitlines())) for j in range(i+1,len(open("input.txt").read().splitlines()))])), max(map(lambda p: (abs(p[1][1]-p[0][1])+1)*(abs(p[1][0]-p[0][0])+1) if not(any([(max((xrange := [min((p[0])[0],(p[1])[0])+1,max(p[0][0],p[1][0])-1])[0],(sxrange := [min(s[0][0],s[1][0]),max(s[0][0],s[1][0])])[0]) <= min(xrange[1],sxrange[1])) and (max((yrange := [min(p[0][1],p[1][1])+1,max(p[0][1],p[1][1])-1])[0],(syrange := [min(s[0][1],s[1][1]),max(s[0][1],s[1][1])])[0]) <= min(yrange[1],syrange[1])) for s in [[coords[i-1],coords[i]] for i in range(1,len(open("input.txt").read().splitlines()))] + [[coords[-1],coords[0]]]])) else 0,[((coords := [list(map(int,line.split(","))) for line in open("input.txt").read().splitlines()])[i],coords[j]) for i in range(len(open("input.txt").read().splitlines())) for j in range(i+1,len(open("input.txt").read().splitlines()))])))
[\code]
Its just my solution >>107489511
squished into one line