public static IEnumerable<int> range(int begin, int end) { if (begin < end) { for (int i = begin; i < end; ++i) yield return i; } else if (begin > end) { for (int i = begin; i > end; --i) yield return i; } }