public override IEnumerable <object> Solve(TextReader inputStream) { Modular.InitializeCombinationTable(); var n = inputStream.ReadInt(); var a = inputStream.ReadIntArray(); var diffs = new Modular[a.Length - 1]; for (int i = 0; i < diffs.Length; i++) { diffs[i] = new Modular(Math.Abs(a[i] - a[i + 1])); } var result = Modular.GetZero(); for (int i = 0; i < diffs.Length; i++) { result += diffs[i] * Modular.Combination(diffs.Length - 1, i); } yield return(result); }