using System;
using System.Collections.Generic;
using System.Linq;
namespace 连续数字
{
class Program
{
static void Main(string[] args)
{
string str = Console.ReadLine();
List<string> strList = new List<string>(str.Split(','));
List<int> myNumArray = strList.Select(int.Parse).ToList();
List<int> missLsit = new List<int>();
string ss = "";
myNumArray.Sort();
if (IsRepeatNum(myNumArray))
{
//Console.WriteLine("输出");
int[] all = IsContinuous(myNumArray);
for (int i = 0; i < all.Length; i++)
{
if(all[i] > 0 && all[i]< 1000000000)
{
missLsit.Add(all[i]);
}
}
ss = string.Join(",", missLsit);
Console.WriteLine(ss);
}
}
// 情况一 是否用重复的
static bool IsRepeatNum(List<int> numList)
{
if (numList.Count == 1)
return true;
bool isBool = true;
int number = 0;
int poorNum = -1;
for (int i = 0; i < numList.Count - 1; i++)
{
poorNum = Math.Abs(numList[i + 1] - numList[i]);
if (poorNum == 0)//重复的
{
isBool = false;
break;
}
else if (poorNum == 2)//大于2的
{
number++;
if (number >= 2)
{
isBool = false;
break;
}
}
else if(poorNum >= 3)
{
isBool = false;
break;
}
}
return isBool;
}
static int[] IsContinuous(List<int> numList)
{
int number = 0;
int[] arrNum = new int[2];
if (numList.Count <= 0)
return new int[2] { 0,0};
if (numList.Count == 1)
{
return new int[2] { numList[0] - 1, numList[0] + 1 };
}
int poorNum = -1;
for (int i = 0; i < numList.Count - 1; i++)
{
poorNum = Math.Abs(numList[i + 1] - numList[i]);
if (poorNum == 2)//重复的
{
arrNum = new int[2] { numList[i + 1] - 1, 0 };
number++;
}
}
if (number != 0)
{
return arrNum;
}
else
{
return new int[2] { numList[0] - 1, numList[numList.Count - 1] + 1 };
}
}
}
}