class Program { static void Main(string[] args) { int n = int.Parse(Console.ReadLine()); decimal[] size = new decimal[n]; for (int i = 0; i < n; i++) { decimal[] code = Array.ConvertAll(Console.ReadLine().Split(' '), num => decimal.Parse(num)); size[i] = code[0] + (code[1]*4); } Array.Sort(size); Array.Reverse(size); decimal minsize = 0; if((size[0] - size[1]) %2 == 0) { minsize = ShortageCheck(size); if (minsize != -1) { minsize = minsize / 2; } } else { minsize = -1; } Console.WriteLine(minsize); } private static decimal ShortageCheck(decimal[] size) { decimal shortage = 0; for(int i = 1; i < size.Length; i++) { if ((size[0] - size[i])%2 == 0) { shortage += size[0] - size[i]; } } return shortage; } }