using System;
using System.Linq;
using System.Collections.Generic;
namespace Yoba{
public class Test
{
public static void Main()
{
var source = new int[] {1, 2, 3, 4, 5, 6, 7};
Action<int[]> output = (t) => Console.WriteLine(t.Aggregate(string.Empty, (s, s1)=>string.Format("{0}, {1}", s, s1)).Trim(new char[]{',',' '}));
output(source);
source = Enumerable.Range(0, source.Length).Select(x => new {Value = source[x], Group = x / 2, RowNumber = x}).OrderBy(x => x.Group).ThenByDescending(x => x.RowNumber).Select(x => x.Value).ToArray();
output(source);
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uTGlucTsKCnVzaW5nIFN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljOwoKbmFtZXNwYWNlIFlvYmF7CgkKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCXZhciBzb3VyY2UgPSBuZXcgaW50W10gezEsIDIsIDMsIDQsIDUsIDYsIDd9OwoJCQoJCUFjdGlvbjxpbnRbXT4gb3V0cHV0ID0gKHQpID0+IENvbnNvbGUuV3JpdGVMaW5lKHQuQWdncmVnYXRlKHN0cmluZy5FbXB0eSwgKHMsIHMxKT0+c3RyaW5nLkZvcm1hdCgiezB9LCB7MX0iLCBzLCBzMSkpLlRyaW0obmV3IGNoYXJbXXsnLCcsJyAnfSkpOwoKCQlvdXRwdXQoc291cmNlKTsKCQlzb3VyY2UgPSBFbnVtZXJhYmxlLlJhbmdlKDAsIHNvdXJjZS5MZW5ndGgpLlNlbGVjdCh4ID0+IG5ldyB7VmFsdWUgPSBzb3VyY2VbeF0sIEdyb3VwID0geCAvIDIsIFJvd051bWJlciA9IHh9KS5PcmRlckJ5KHggPT4geC5Hcm91cCkuVGhlbkJ5RGVzY2VuZGluZyh4ID0+IHguUm93TnVtYmVyKS5TZWxlY3QoeCA9PiB4LlZhbHVlKS5Ub0FycmF5KCk7CgkJb3V0cHV0KHNvdXJjZSk7CgkJCQoJCQoJfQp9Cn0=
1, 2, 3, 4, 5, 6, 7
2, 1, 4, 3, 6, 5, 7