using System; using System.IO; class Program { static void Main() { using var sr = new StreamReader(Console.OpenStandardInput(), bufferSize: 1 << 16); using var sw = new StreamWriter(Console.OpenStandardOutput()); // 1行目 string? s = sr.ReadLine(); int count = int.Parse(s!); int ansSave = int.MinValue; // 未設定を表す for (int i = 0; i < count; i++) { string? line = sr.ReadLine(); if (line is null) { sw.WriteLine(-1); return; } int sp = line.IndexOf(' '); if (sp < 0) { sw.WriteLine(-1); return; } ReadOnlySpan a = line.AsSpan(0, sp); ReadOnlySpan b = line.AsSpan(sp + 1); if (!int.TryParse(a, out int left) || !int.TryParse(b, out int right)) { sw.WriteLine(-1); return; } int diff = right - left; if (i == 0) { ansSave = diff; } else if (ansSave != diff) { sw.WriteLine(-1); return; // 早期終了 } } if (ansSave != int.MinValue) sw.WriteLine(ansSave); } }