using System;
using System.Threading.Tasks;
public class Program
{
public static void Main()
Console.WriteLine("Starting tasks");
var task = Sum();
var task2 = Task.Factory.StartNew(() => { Console.WriteLine("Should output before previous task"); });
Task.WaitAll(task, task2);
}
public static async Task Sum() {
await Task.Factory.StartNew(async () => {
await Task.Delay(TimeSpan.FromSeconds(3));
Console.WriteLine("Task completed");
});