fun readInt () = valOf (TextIO.scanStream (Int.scan StringCvt.DEC) TextIO.stdIn) fun intString n = if 0 <= n then Int.toString n else "-" ^ Int.toString (abs n) fun findAns xy_s = let val diff = #2 (List.hd xy_s) - #1 (List.hd xy_s) in if List.all (fn (x, y) => y - x = diff) xy_s andalso 0 < diff then diff else ~1 end val () = let val n = readInt () val xy_s = List.tabulate (n, fn _ => (readInt (), readInt ())) val ans = findAns xy_s in print (intString ans ^ "\n") end