using System.Threading.Tasks;
public static void Main()
Task[] tasks = new Task[5];
for (int ctr = 0; ctr <= 4; ctr++)
tasks[ctr] = Task.Run(() =>
Thread.Sleep(factor*250 + 1000);
int index = Task.WaitAny(tasks);
Console.WriteLine("Wait ended because task #{0} completed.",
Console.WriteLine("\nCurrent Status of Tasks:");
Console.WriteLine(" Task {0}: {1}", t.Id, t.Status);