public static class Program
public static long randomPositiveLong(Random r)
return (r.Next(0, int.MaxValue) + 1)
+ ((r.Next(-1, int.MaxValue) + 1) << 31)
+ (r.Next(0, 2) == 0 ? (long)1 << 62 : 0);
public static void Main()
long[] ids = new long[abilities];
long seed = (long)(DateTime.UtcNow - new DateTime(2021, 2, 2, 0, 0, 0, DateTimeKind.Utc)).TotalMilliseconds;
Console.WriteLine(seed.ToString());
Random r = new Random((int)seed);
for (int k = 0; k < 100; k++)
for (int i = 0; i < ids.Length; i++)
long lo = r.Next(0, 10000000);
for (int j = 0; j < i; j++)
Console.WriteLine(matches);