using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Threading.Tasks;
public static void Main()
var numbers = new[] {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
var random = new Random();
var x = Shuffle(numbers, random).ToArray();
var y = Shuffle(numbers, random).ToArray();
var z = Shuffle(numbers, random).ToArray();
for (int i = 0; i < numbers.Length; i++)
Console.WriteLine($"{x[i]} {y[i]} {z[i]}");
public static IEnumerable<T> Shuffle<T>(IEnumerable<T> sequence, Random r)
var copy = sequence.ToArray();
for (int i = copy.Length - 1; i >= 0; i--)